Approach for proactive notification of contract changes in a software service
First Claim
1. 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.
10 Assignments
0 Petitions
Accused Products
Abstract
An approach is provided for proactive notification of contract changes in a software service. According to the approach, when the executable code of a composite application operable to access the service is generated, an initial copy of a contract that describes the service is retrieved. A baseline representation of the contract is generated based on the initial copy of the contract. When the composite application is being executed, a determination is made based on the baseline representation whether the contract has experienced any changes. In response to determining that the contract has experienced a change, a notification is sent indicating that the contract has experienced the change.
12 Citations
28 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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 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 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 current copy of the contract to the initial copy of the contract; 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.
-
-
12. 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 first version information that is stored in the initial copy of the contract, wherein the first version information specifies a first executable version 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 second version information that is stored in the current copy of the contract, wherein the second version information specifies a second executable version 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 version information to the first version information; 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.
-
-
13. 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; 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; and first version information that specifies a first executable version 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; 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 second version information that specifies a second executable version 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 version information to the first version information; and when the second version information is the same as the first version information, comparing the current copy of the contract to the initial copy of the contract to determine whether the contract has experienced any changes; 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.
-
-
14. 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; 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; determining whether the baseline representation of the contract stores first version information, wherein the first version information specifies a first executable version of the service at the time the composite application is generated; determining whether the current copy of the contract stores second version information, wherein the second version information specifies a second executable version of the service at the time the composite application is being executed; when the baseline representation of the contract stores the first version information and the current copy of the contract stores the second version information, comparing the second version information to the first version information to determine whether the contract has experienced any changes; and when the baseline representation of the contract does not store the first version information or when the current copy of the contract does not store the second version information, performing the steps of; generating a current representation of the contract based on the current copy of the contract; and comparing the current representation of the contract to the baseline representation of the contract to determine whether the contract has experienced any changes; 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.
-
-
15. A non-transitory machine-readable volatile or non-volatile medium storing a composite application, wherein the composite application when executed is operable to access a service that is external to the composite application and to access a baseline representation of a contract that describes the service, wherein the baseline representation is generated from an initial copy of the contract that is retrieved at the time the executable code of the composite application is generated, 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, the machine-readable medium storing instructions which, when performed by one or more processors, cause performance of steps comprising:
-
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 further 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. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A non-transitory machine-readable volatile or non-volatile medium storing a composite application, wherein the composite application when executed is operable to access a service that is external to the composite application and to access a baseline representation of a contract that describes the service, wherein the baseline representation is generated from an initial copy of the contract that is retrieved at the time the executable code of the composite application is generated, wherein the baseline representation of the contract includes 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, the machine-readable medium storing instructions which, when performed by one or more processors, cause performance of steps comprising:
-
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 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 further comprises comparing the current copy of the contract to the initial copy of the contract; in response to determining that the contract has experienced a change, sending a notification which indicates that the contract has experienced the change.
-
-
26. A non-transitory machine-readable volatile or non-volatile medium storing a composite application, wherein the composite application when executed is operable to access a service that is external to the composite application and to access a baseline representation of a contract that describes the service, wherein the baseline representation is generated from an initial copy of the contract that is retrieved at the time the executable code of the composite application is generated, wherein the baseline representation of the contract includes first version information that is stored in the initial copy of the contract, wherein the first version information specifies a first executable version of the service at the time the composite application is generated, the machine-readable medium storing instructions which, when performed by one or more processors, cause performance of steps comprising:
-
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 second version information that is stored in the current copy of the contract, wherein the second version information specifies a second executable version 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 further comprises comparing the second version information to the first version information; in response to determining that the contract has experienced a change, sending a notification which indicates that the contract has experienced the change.
-
-
27. A non-transitory machine-readable volatile or non-volatile medium storing a composite application, wherein the composite application when executed is operable to access a service that is external to the composite application and to access a baseline representation of a contract that describes the service, wherein the baseline representation is generated from an initial copy of the contract that is retrieved at the time the executable code of the composite application is generated, wherein the baseline representation of the contract includes 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, and first version information that specifies a first executable version of the service at the time the composite application is generated, the machine-readable medium storing instructions which, when performed by one or more processors, cause performance of steps comprising:
-
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; 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 second version information that specifies a second executable version 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 further comprises; comparing the second version information to the first version information; and when the second version information is the same as the first version information, comparing the current copy of the contract to the initial copy of the contract to determine whether the contract has experienced any changes; in response to determining that the contract has experienced a change, sending a notification which indicates that the contract has experienced the change.
-
-
28. A non-transitory machine-readable volatile or non-volatile medium storing a composite application, wherein the composite application when executed is operable to access a service that is external to the composite application and to access a baseline representation of a contract that describes the service, wherein the baseline representation is generated from an initial copy of the contract that is retrieved at the time the executable code of the composite application is generated, the machine-readable medium storing instructions which, when performed by one or more processors, cause performance of steps comprising:
-
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; determining whether the baseline representation of the contract stores first version information, wherein the first version information specifies a first executable version of the service at the time the composite application is generated; determining whether the current copy of the contract stores second version information, wherein the second version information specifies a second executable version of the service at the time the composite application is being executed; when the baseline representation of the contract stores the first version information and the current copy of the contract stores the second version information, comparing the second version information to the first version information to determine whether the contract has experienced any changes; and when the baseline representation of the contract does not store the first version information or when the current copy of the contract does not store the second version information, performing the steps of; generating a current representation of the contract based on the current copy of the contract; and comparing the current representation of the contract to the baseline representation of the contract to determine whether the contract has experienced any changes; in response to determining that the contract has experienced a change, sending a notification which indicates that the contract has experienced the change.
-
Specification