Browse Prior Art Database

Technique to retain API behavioral compatibility through Versionable methods / functions.

IP.com Disclosure Number: IPCOM000237964D
Publication Date: 2014-Jul-23
Document File: 2 page(s) / 68K

Publishing Venue

The IP.com Prior Art Database

Abstract

Technique to keep the behavior intact, by allowing co-existance of multiple 'versions' of the API in the same library, and providing a means to select the required version of the API for the application. In the above scenario, the library developer could have actually 'versioned' the existing Func API, and written a new method (with an identical signature), labelling it with version 3.0. This would provide a chance to the Application Runtime to choose version 1.0 of Func.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 2

Technique to retain API behavioral compatibility through Versionable methods / functions.

Technique to retain behavioral compatibility through Versionable Methods

Problem Statement:

Lets say we have an application 'App', which depends on library 'Lib' and uses the API 'Func' exposed by the library, but is not shipped with the application. When App 1.0 was built, the library used was Lib 1.0.

Lets say, the latest version of the library 'Lib' is 3.0, where the behavior of the API 'Func' has got changed, while the API signature remained the same. On a machine, where Lib 3.0 is installed, the behavior would be different than what was expected of App 1.0. Hence, resulting in behavioral discrepancy.

Summary:

Describes a technique keep the behavior intact, by allowing co-existance of multiple 'versions' of the API in the same library, and providing a means to select the required version of the API for the application.

In the above scenario, the library developer could have actually 'versioned' the existing Func API, and written a new technique (with an identical signature), labelling it with version 3.0. This would provide a chance to the Application Runtime to choose version 1.0 of Func.

Detailed Description:
Versioning the API: The APIs can be tagged with a version, or a range of versions. While specifying a range, it can be enclosed within '(' and ')' to indicate that the version number is not inclusive; if it is enclosed within '[' and ']', it indicates that the version number is inclusive. Versioning of the API should be optional. If a method is not versioned, then it is assumed to be the latest. However, more than one occurrence of non-versioned method is regarded as an error.

In the above scenario, the library developer could have versioned...