IP Library Patent Application 11712033
Patent Application
App. No. 11/712,033

Approach for versioning of services and service contracts

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
11/712,033
Abstract

An approach is provided for versioning of services and service contracts. According to the approach, when the executable code of a service external to one or more composite applications is generated, first version information is automatically stored in a contract that describes the service. The contract specifies an input interface and an output interface of the service. The first version information stored in the contract specifies a first executable version of the service. When the executable code of the service is re-generated, the first version information stored in the contract is automatically modified into second version information. The second version information specifies a second executable version of the service.

Claims (62)

1 . A computer-implemented method comprising:

generating executable code of a service that is external to one or more composite applications, wherein generating the executable code of the service comprises:

automatically storing first version information in a contract that describes the service, wherein the first version information specifies a first executable version of the service; and

re-generating the executable code of the service, wherein re-generating the executable code of the service comprises:

in the contract, automatically modifying the first version information into a second version information, wherein the second version information specifies a second executable version of the service.

2 . The computer-implemented method as recited in claim 1 , wherein:

the contract includes a Web Services Description Language (WSDL) definition that specifies any one of an input interface and an output interface of the service; and

the service and the one or more composite applications conform to a Service-Oriented Architecture (SOA) standard.

3 . The computer-implemented method as recited in claim 1 , wherein:

generating the executable code of the service comprises retrieving the first version information from a source code of the service; and

re-generating the executable code of the service comprises retrieving the second version information from the source code of the service.

4 . The computer-implemented method as recited in claim 1 , wherein generating the executable code of the service and re-generating the executable code of the service comprise:

retrieving comments from a source code of the service, wherein the comments are check-in comments received from a developer; and

storing the comments in the contract.

5 . The computer-implemented method as recited in claim 1 , wherein the second version information includes data indicating at least one of:

that the contract has experienced a change; and

that the executable code of the service has experienced a change.

6 . The computer-implemented method as recited in claim 1 , wherein the first version information and the second version information are generated by a source code management application, wherein the source code management application maintains a plurality of versions of a source code of the service.

7 . The computer-implemented method as recited in claim 1 , wherein the method is performed by a source code management application, wherein the source code management application maintains a plurality of versions of a source code of the service.

8 . A computer-implemented method comprising:

sending a first get-version request to a service, wherein the service is external to one or more composite applications, and wherein the service conforms to a Service-Oriented Architecture (SOA) standard;

in response to the first get-version request, receiving first version information that specifies a first executable version of the service;

after receiving the first version information, sending a second get-version request to the service;

in response to the second get-version request, receiving second version information that specifies a second executable version of the service; and

based on the first version information and the second version information, determining that the first executable version of the service is different than the second executable version of the service.

9 . The computer-implemented method as recited in claim 8 , further comprising:

sending a service request to the service, wherein the service request includes the first version information and conforms to an input interface of the first executable version of the service, wherein the input interface is defined in a Web Services Description Language (WSDL) definition that is included in a contract that describes the service; and

receiving a service response from the service, wherein the service response conforms to an output interface of the first executable version of the service, wherein the output interface is defined in the WSDL definition included in the contract.

10 . The computer-implemented method as recited in claim 8 , wherein the first version information comprises a first version number of the contract and the second version information comprises a second version number of the contract.

11 . The computer-implemented method as recited in claim 8 , further comprising sending a notification which indicates that the service has experienced a version change.

12 . The computer-implemented method as recited in claim 8 , wherein the method is performed by a composite application that conforms to the Service-Oriented Architecture (SOA) standard.

13 . A machine-readable medium storing instructions which, when performed by one or more processors, cause:

generating executable code of a service that is external to one or more composite applications, wherein generating the executable code of the service comprises:

automatically storing first version information in a contract that describes the service, wherein the first version information specifies a first executable version of the service; and

re-generating the executable code of the service, wherein re-generating the executable code of the service comprises:

in the contract, automatically modifying the first version information into a second version information, wherein the second version information specifies a second executable version of the service.

14 . The machine-readable medium as recited in claim 13 , wherein:

the contract includes a Web Services Description Language (WSDL) definition that specifies any one of an input interface and an output interface of the service; and

the service and the one or more composite applications conform to a Service-Oriented Architecture (SOA) standard.

15 . The machine-readable medium as recited in claim 13 , wherein:

the instructions that cause generating the executable code of the service further comprise instructions which, when performed by the one or more processors, cause retrieving the first version information from a source code of the service; and

the instructions that cause re-generating the executable code of the service further comprise instructions which, when performed by the one or more processors, cause retrieving the second version information from the source code of the service.

16 . The machine-readable medium as recited in claim 13 , wherein the instructions that cause-generating the executable code of the service and re-generating the executable code of the service further comprise instructions which, when performed by the one or more processors, cause:

retrieving comments from a source code of the service, wherein the comments are check-in comments received from a developer; and

storing the comments in the contract.

17 . The machine-readable medium as recited in claim 13 , wherein the second version information includes data indicating at least one of:

that the contract has experienced a change; and

that the executable code of the service has experienced a change.

18 . The machine-readable medium as recited in claim 13 , wherein the first version information and the second version information are generated by a source code management application, wherein the source code management application is operable to maintain a plurality of versions of a source code of the service.

19 . The machine-readable medium as recited in claim 13 , wherein the instructions are included in a source code management application stored on the machine-readable medium, wherein the source code management application is operable to maintain a plurality of versions of a source code of the service.

20 . A machine-readable medium storing instructions which, when performed by one or more processors, cause:

sending a first get-version request to a service, wherein the service is external to one or more composite applications, and wherein the service conforms to a Service-Oriented Architecture (SOA) standard;

in response to the first get-version request, receiving first version information that specifies a first executable version of the service;

after receiving the first version information, sending a second get-version request to the service;

in response to the second get-version request, receiving second version information that specifies a second executable version of the service; and

based on the first version information and the second version information, determining that the first executable version of the service is different than the second executable version of the service.

21 . The machine-readable medium as recited in claim 20 , wherein the instructions further comprise instructions which, when performed by the one or more processors, cause:

sending a service request to the service, wherein the service request includes the first version information and conforms to an input interface of the first executable version of the service, wherein the input interface is defined in a Web Services Description Language (WSDL) definition that is included in a contract that describes the service; and

receiving a service response from the service, wherein the service response conforms to an output interface of the first executable version of the service, wherein the output interface is defined in the WSDL definition included in the contract.

22 . The machine-readable medium as recited in claim 20 , wherein the first version information comprises a first version number of the contract and the second version information comprises a second version number of the contract.

23 . The machine-readable medium as recited in claim 20 , wherein the instructions further comprise instructions which, when performed by the one or more processors, cause sending a notification which indicates that the service has experienced a version change.

24 . The machine-readable medium as recited in claim 20 , wherein the instructions are included in a composite application stored on the machine-readable medium, wherein the composite application conforms to the Service-Oriented Architecture (SOA) standard.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY'S NAME PREVIOUSLY RECORDED AT REEL: 026073 FRAME: 0206. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT. Recorded Jun 9, 2016
From: LEHMAN COMMERCIAL PAPER INC., AS RESIGNING ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: BARCLAYS BANK PLC, AS ADMINISTATIVE AGENT
Reel/Frame 038963/0840 →
RELEASE OF SECURITY AGREEMENT Recorded Apr 17, 2014
From: BARCLAYS BANK PLC, AS COLLATERAL AGENT
To: SERENA SOFTWARE, INC.
Reel/Frame 032712/0493 →
SECURITY AGREEMENT Recorded Apr 4, 2011
From: SERENA SOFTWARE, INC., A DELAWARE CORPORATION
To: BARCLAYS BANK PLC. AS ADMINISTRATIVE AGENT
Reel/Frame 026073/0206 →
SUPPLEMENT NO. 1 TO SECURITY AGREEMENT Recorded May 11, 2007
From: SERENA SOFTWARE, INC.
To: LEHMAN COMMERCIAL PAPER INC., AS COLLATERAL AGENT
Reel/Frame 019284/0692 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2007
From: PARKER, KEVIN CHRISTOPHER; SHAW, KELLY ANN
To: SERENA SOFTWARE, INC.
Reel/Frame 019029/0475 →