Patent ID: 7934221

Claim:
A computer-implemented method comprising: generating executable code of a composite application that is operable to access a service that is external to the composite application, wherein generating the executable code of the composite application comprises retrieving an initial copy of a contract that describes the service; based on the initial copy of the contract, generating a baseline representation of the contract; wherein the baseline representation of the contract includes a first token that is generated based on the initial copy of the contract, wherein the initial copy of the contract specifies an input interface and an output interface of the service at the time the composite application is generated; storing the baseline representation of the contract; executing the composite application; during execution of the composite application, determining, based on the baseline representation of the contract, whether the contract has experienced any changes, wherein determining whether the contract has experienced any changes comprises: retrieving a current copy of the contract; generating a current representation of the contract based on the current copy of the contract; wherein the current representation of the contract includes a second token that is generated based on the current copy of the contract, wherein the current copy of the contract specifies the input interface and the output interface of the service at the time the composite application is being executed; and comparing the current representation of the contract to the baseline representation of the contract to determine whether the contract has experienced any changes; wherein comparing the current representation to the baseline representation comprises comparing the second token to the first token; and in response to determining that the contract has experienced a change, sending a notification which indicates that the contract has experienced the change; wherein the method is performed by one or more computer systems.