Sign In to Follow Application
View All Documents & Correspondence

Compound Versioning And Identification Scheme For Composite Application Development

Abstract: The present invention provides a method, a system and a computer program product for defining a version identifier of a service component. The method includes determining various specification levels corresponding to the service component. Thereafter, the determined specification levels are integrated according to a predefined hierarchy to obtain the version identifier of the service component. The present invention also enables the identification of the service components. The service components are identified from one or more service components on the basis of one or more user requirements.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
11 December 2008
Publication Number
25/2010
Publication Type
INA
Invention Field
GENERAL ENGINEERING
Status
Email
Parent Application

Applicants

INFOSYS TECHNOLOGIES LIMITED
ELECTRONICS CITY HOSUR ROAD BANGALORE-560 100.

Inventors

1. SUDEEP MALLICK
D-1101, JARDINE BRIGADE GARDENIA J.P. NAGAR 7TH PHASE BANGALORE-560 078.
2. DEEPTI PARACHURI
EG-1, KUNDANBAGH APARTMENTS NEXT TO LIFESTYLE BEGUMPET, HYDERABAD-500 016

Specification

COMPOUND VERSIONING AND IDENTIFICATION SCHEIVIE FOR COi^POSITE APPLICATION DEVELOPMENT BACKGROUND The present invention relates to the field of composite application development. More specifically, the present invention relates to versioning of service components for composite application development. In distributed computing, source code is written, deployed and executed by various teams operating in various geographies using different software development and execution environments. The source code, also known as a component, is owned and managed by the developers of the source code. These components are used to develop large-scale business applications using mutually decided communication protocol that is either standard or proprietary. This new paradigm of distributed computing resulted in the introduction of the concept of composite or hybrid applications. A composite application is built by integrating various pre-built service components using standardized service interi'aces. The use of pre-built service components reduces the effort in designing, coding and testing new service components. Therefore, the success of the composite application development is based on the availability of rich catalog of pre-built configurable components. Further, the concept of Service Oriented Architecture (SOA) is used for composite application development. In SOA, the software components are exposed as service components. Service components include configurable software components, the services they expose and the references they make to other service components. The service components include declarations about their promise regarding adherence to publically available service contracts containing service policies. To develop a composite application, a catalog of pre-built service components and service interfaces is used to select the desired service components and service interfaces. Thereafter, the selected service components and service interfaces are integrated based on their mutual compatible service interfaces. Further, Service Component Architecture (SCA) is an open standard that enables the integration of various service components using various protocols for developing composite applications. The service components built for developing composite applications have various service implementations that are provided at different Qualify of Service (QoS) and maturity levels. Further, these components include service interfaces that exist in multiple versions. The service implementations are compatible with various versions of the service interfaces. Furthermore, the same service interface denotes different semantics depending on the business context. Therefore, there are multiple service implementations corresponding to various business contexts that employ the same service interface. In addition, the service implementation can be configured with different properties. Therefore, a software component built for the development of a service component results in multiple service components based on the service implementation configurations. The composite application runtimes and service registries implementations do not cater to the versioning requirements of the components, service interfaces and business functionalities, as described above. These also do not enable composite application development based on specific business context, the QoS requirements, service interface versions and component implementation maturity levels. Further, these also do not enable compound versioning-based publish, find and bind of participating services in a composite application based on the factors mentioned above. In light of the above discussion, there is need for a method, system and computer program product for an efficient versioning scheme for defining compound versions of the composite applications. In addition, such a method should enable the development of a composite application based on the requirements of the service interface, the business context, the QoS, the component implementation, and the software component. SUMMARY An object of the invention is to efficiently define a compound version for a service component. Another object of the invention is to enable the identification of service components on the basis of user requirements to develop a composite application. In order to achieve the objectives mentioned above, the present invention provides a method, a system and a computer program product to define a version identifier of a service component. The method includes detemiining a plurality of specification levels corresponding to the service component. Thereafter, each of the plurality of specification levels is integrated according to a predefined hierarchy. The version identifier of the service component includes the integrated specification levels. The present invention also provides a method, a system and a computer program product to identify a set of service components from one or more service components. The set of service components is identified based on one or more user requirements corresponding to a set of predefined specification levels and a compound versioning scheme. The compound versioning scheme is defined based on the set of predefined specification levels and a predefined hierarchy. The method, system and computer program product described above have various advantages. The method provides a comprehensive and efficient approach to defining versions of service components. It provides a comprehensive and contextual search of SCA components and composite applications meeting various functional and non-functional requirements such as service interfaces, software components, business functionality, business context and so forth. The method also provides an efficient filtering or search of existing catalog of SCA components used for building new composite applications based on SCA. Further, the method enables efficient management of version change and migration as well as co-existence of multiple versions catering to different functional and non-functional requirements. The method provides a versioning scheme based on the QoS and business context, thereby enabling parallel execution of service versions on the basis of these characteristics. Further, it also helps in saving service design time, since the existing services can be Identified and reused based on their business context, functionality, and QoS. This also assists in avoiding replication of services. Further, the present invention enables identification and integration of service components based on the QoS and business contextual characteristics. Furthennore, it helps in improving the traceability of the service components by defining the version identifiers for them based on the user requirements corresponding to the plurality of specification levels. The present invention also enables the identification of service components on the basis of user requirements. BRIEF DESCRIPTION OF DRAWINGS The various embodiments of the invention will hereinafter be described in conjunction with the appended drawings, provided to illustrate and not to limit the invention, wherein like designations denote like elements, and in which: FIG. 1 illustrates a flowchart of a method for identifying a set of service components, in accordance with an embodiment of the invention; FIG. 2 illustrates a flowchart of a method for defining a version identifier of a service component. In accordance with an embodiment of the Invention; FIG. 3 illustrates a block diagram of a system for identifying a set of service components, in accordance with an embodiment of the invention; and FIG. 4 illustrates a block diagram of a system for defining a version identifier of one or more service components, in accordance with an embodiment of the invention. DETAILED DESCRIPTION OF DRAWINGS The invention describes a method, system and computer program product for defining a version of a service component. The invention also describes a method, system and computer program product for identifying a set of service components from one or more service components using the defined versions. A service component includes a configurable software component with a service interface which is developed for a particular business context and to provide specific business functionality. The set of service components are identified from the one or more service components based on user requirements and a compound versioning scheme. FIG. 1 illustrates a flowchart of a method for identifying a set of service components, in accordance with an embodiment of the invention. At step 102, one or more user requirements are captured. The user requirements correspond to a set of predefined specification levels. A specification level represents attributes and functionalities associated with a service component. The attributes and functionalities of the service component include, but are not limited to, a business functionality provided by the service component, its service interface, its service component configuration properties, a business context for which the service component is developed, Quality of Service (QoS) provided by the service component, specifications of its software component and so forth. In an embodiment of the invention, the set of predefined specification levels includes a business functionality level, a service interface level, a service interface compatibility level, a configuration level, a business context level, a QoS level, and a software component level. The user requirements con-esponding to one or more of these specification levels are captured. In an embodiment of the invention, the user requirements refer to the requirements specified by a business user or a person using the service component for various business requirements. The business functionality level represents the business functionality provided by the service component. Examples of business functionality provided by a service component include, but are not limited to, making credit card payment. checltihlo .. wherein the set of service components is identified for developing a composite application. ). A method for defining a version identifier of a service component, the method comprising: a. determining a plurality of specification levels corresponding to the service component, the plurality of specification levels comprising: i. a business functionality level corresponding to a business functionality associated with the service component; ii. a service interface level corresponding to a service interface of the service component; ill. a service interface compatibility level corresponding to compatibility of the service component with one or more predefined service interfaces; iv. a configuration level corresponding to one or more components used for extemal configuration of the sen/ice component; V. a business context level corresponding to a business context associated with the service component; vi. a quality of service level corresponding to a quality of service provided by the service component; and vii. a software component level corresponding to a software implementation component of the service component; and b. integrating each of the plurality of specification levels according to a predefined hierarchy, the version identifier comprising the integrated specification levels. 7. The method of claim 6 further comprising: a. registering the service component in a service registry based on the version identifier, the service registry comprising a plurality of version identifiers corresponding to a plurality of service components; and b. storing the service component in a repository based on the registration, the repository comprising the plurality of service components. 3. The method of claim 7 further comprising identifying a set of service components from the plurality of service components, the set of service components being identified based on one or more user requirements and the plurality of version identifiers. 3. The method of claim 6, wherein the version identifier is defined by a user. 10. A system for identifying a set of ser/ice components from one or more service components stored in a repository, the system comprising: a. a capturing module, the capturing module configured for capturing one or more user requirements for the set of service components, the one or more user requirements corresponding to a set of predefined specification levels; and u. a suiecxion moauie, me selection module configured for selecting the set of service components from the one or more service components, the selection being performed based on the one or more user requirements and a compound versioning scheme corresponding to the one or more service components, the compound versioning scheme being based on the set of predefined specification levels and a predefined hierarchy. 11. The system of claim 10, wherein each of the one or more service components is associated with a version identifier, the version identifier being defined based on the compound versioning scheme. 12. The system of claim 10, wherein the set of predefined specification levels corresponding to each of the one or more service components comprises: a. a business functionality level corresponding to a business functionality associated with the service component; b. a service interface level corresponding to a service interface of the service component; c. a service interface compatibility level corresponding to compatibility of the service component with one or more predefined service interfaces; d. a configuration level coresponding to one or more components used for external configuration of the service component; e. a business context level con-esponding to a business context associated with the service component; f. a quality of service level corresponding to a quality of service provided by the service component; and g. a software component level corresponding to a software implementation component of the service component. 13. The system of claim 10 further comprising an identifier generating module, the identifier generating module configured for generating one or more selection identifiers, the one or more selection identifiers being generated based on the one or more user requirements and the compound versioning scheme, the one or more selection identifiers being used for identifying the set of sen/ice components. 14. The system of claim 10, wherein the set of service components is identified for developing a composite application. 15. A system for defining a version identifier of one or more service components, the system comprising: a. a determining module, the determining module configured for determining a plurality of specification levels corresponding to a service component, the service component being one of the one or more service components, the plurality of specification levels comprising: i. a business functionality level corresponding to a business functionality associated with the service component; ii. a service interface level corresponding to a sen/ice interface of the service component; iii. a service interface compatibility level corresponding to compatibility of the service component with one or more predefined service interfaces; iv. a configuration level corresponding to one or more components used for external configuration of the service component; V. a business context level corresponding to a business context associated with the service component; vi. a quality of service level corresponding to a quality of service provided by the service component; and vii. a software component ievel corresponding to a software implementation component of the service component; and b. an integrating moduie, the integrating module configured for integrating each of the plurality of specification levels according to a predefined hierarchy, the version identifier comprising the integrated specification levels. 16. The system of claim 15 further comprising: a, a registering module, the registering module configured for registering the service component in a service registry based on the version identifier, the service registry comprising a plurality of version identifiers corresponding to a plurality of service components; and b. a storing moduie, the storing module configured for storing the service component in a repository based on the registration, the repository comprising the plurality of service components. 17. The system of claim 16 further comprising an identification module, the identification module configured for identifying a set of service components from the plurality of service components, the set of service components being identified based on one or more user requirements and the plurality of version identifiers. 18. The system of claim 15, wherein the version identifier is defined by a user. 19. A computer program product for use with a stored program computer, the computer program product comprising a computer usable medium having a computer readable program code embodied therein for identifying a set of service components from one or more service components stored in a repository, the computer readable program code performing: a. capturing one or more user requirements for the set of sen/ice components, the one or more user requirements corresponding to a set of predefined specification levels; and b. selecting the set of service components from the one or more service components, the selection being performed based on the one or more user requirements and a compound versioning scheme corresponding to the one or more service components, the compound versioning scheme being based on the set of predefined specification levels and a predefined hierarchy. 20. The computer program product of claim 19, wherein the set of predefined specification levels corresponding to each of the one or more service components comprises: a. a business functionality level corresponding to a business functionality associated with the service component; b. a service interface level corresponding to a service interface of the service component; c. a service interface compatibility level corresponding to compatibility of the service component with one or more predefined service interfaces; d. a configuration level corresponding to one or more components used for external configuration of the service component; e. a business context level corresponding to a business context associated with the service component; f. a quality of service level corresponding to a quality of service provided by the service component; and g. a software component level corresponding to a software implemented component of the service component. 21. The computer program product of claim 19, wherein the computer readable program code further performs generating one or more selection identifiers, the one or more selection identifiers being generated based on the one or more user requirements and the compound versioning scheme, the one or more selection identifiers being used for identifying the set of service components. 22. A computer program product for use with a stored program computer, the computer program product comprising a computer usable medium having a computer readable program code embodied therein for defining a version identifier of a sen/ice component, the computer readable program code performing; a. determining a plurality of specification levels corresponding to the service component, the plurality of specification levels comprising: i. a business functionality level corresponding to a business functionality associated with the service component; ii. a service interface level corresponding to a service interface of the service component; iii. a service interface compatibility level corresponding to compatibility of the service component with one or more predefined service interfaces; iv. a configuration level corresponding to one or more components used for external configuration of the service component; V. a business context level corresponding to a business context associated with the service component; vi. a quality of service level corresponding to a quality of service provided by the service component; and vii. a software component level corresponding to a software implementation component of the service component; and b. integrating each of the plurality of specification levels according to a predefined hierarchy, the version identifier comprising the integrated specification levels. 23. The computer program product of claim 22, wherein the computer readable program code further performs: a. registering the service component in a service registry based on the version identifier, the service registry comprising a plurality of version identifiers corresponding to a plurality of service components; and b. storing the service component in a repository based on the registration, the repository comprising the plurality of service components. 24. The computer program product of claim 23, wherein the computer readable program code further performs Identifying a set of service components from the plurality of service components, the set of service components being identified based on one or more user requirements and the plurality of version identifiers.

Documents

Application Documents

# Name Date
1 3108-CHE-2008 FORM-3 12-05-2014.pdf 2014-05-12
1 3108-che-2008 form-5.pdf 2011-09-04
2 3108-che-2008 abstract.pdf 2011-09-04
2 3108-che-2008 form-3.pdf 2011-09-04
3 3108-che-2008 claims.pdf 2011-09-04
3 3108-che-2008 form-1.pdf 2011-09-04
4 3108-che-2008 correspondence-others.pdf 2011-09-04
4 3108-che-2008 drawings.pdf 2011-09-04
5 3108-che-2008 description (complete).pdf 2011-09-04
6 3108-che-2008 correspondence-others.pdf 2011-09-04
6 3108-che-2008 drawings.pdf 2011-09-04
7 3108-che-2008 claims.pdf 2011-09-04
7 3108-che-2008 form-1.pdf 2011-09-04
8 3108-che-2008 abstract.pdf 2011-09-04
8 3108-che-2008 form-3.pdf 2011-09-04
9 3108-CHE-2008 FORM-3 12-05-2014.pdf 2014-05-12
9 3108-che-2008 form-5.pdf 2011-09-04