For building an enterprise solution normally we need to combine multiple existing enterprise services. These composite services helps in turns recursively composed with other services into higher level solutions and this is the one important feature of SOA. The main drivers for the creation of composite-services are,
In this article we are discussing the service composition framework, Aspects of service composition, Composition approaches.
The automatic service composition framework is in high level abstraction without considering a particular language platform or algorithm used in composition process. The aim of this type of framework is to give the basis to discuss the similarities and differences of the available service composition methods.
The above composition system has the two types of participants.
The system also includes the following components.
The phases of automatic composition include the following ones.
1) Presentation of single service:-Firstly the service provider will advertise their atomic service at a global market place. The essential attributes are,
2) Translation of the languages:- Service composition systems distinguish the external and internal service specification language, The external language enhance accessibility of the users in the sense that the users can express what they offer or what they want in a relatively easy manner.
Eg: – Logical programming language
The standard web service languages are WSDL and DAML-S
3) Generation of composition process model: – The process generator tries to solve the requirement by composing the atomic services advertised by the service providers. The process generator usually takes the functionalities of service as input, and output process model that describes the composite service. The process model contains a set of selected atomic services and the control flow and data flow among these services.
4) Evaluation of composite service:-The composite services are evaluated by their overall utilities using the information provided from the non-functional attributes. The most commonly used method is utility functions. The requester should specify a weight to each non functionality attributes and the best composite service is the one who is ranked on top.
5) Execution of composite service: – Execution of a composite Web service cam be thought as a sequence of message passing according to the process model. The dataflow of the composite service is defined as the actions that the output data of a former executed service transfers to the input of a later executed atomic service.
There are two major aspects used in service composition.
1) Composition design:-
Composition designs is concerned with designing a solution based on a set of existing services and specify how to coordinate the component services to fulfill the client request. Its role is to specify a list of services involved in a composition, and the way they interact and the composition topology. The two composite design approaches are,
2) Composition implementation:- It is the simplest way to implement a service mediator is to use general purpose programming language.
There are five approaches includes the service composition.
1) Static with dynamic service composition:- During the design phase the static composition works when the architecture and the design of the software system are planned.
The dynamic web service composition contains the four steps.
1) Service providers publish their services at a web service registry.
2) The Service Composition Engine decomposes user requirements into an abstract service and sends a SOAP request to the registry to find proper services.
3) The web service registry returns a set of concrete services.
4) The service composition engine sends SOAP request to the concrete services and binds to them.
2) Model driven service composition:-Model driven service composition is based on dynamic service composition. It facilitates the management and development of dynamic service composition.
3) Declarative service composition. The declarative approach includes the two phases.
1) The first phase takes an initial situation and the desired goal as starting point, and constructs generic plans to reach the goal. The first phase is realized using PDDL (Planning Domain Definition Language) and estimated-regression planning as used in XSRL (XML Web-services Request Language), which must provide machine-readable semantics and specify the abstract service behavior
2) The latter one chooses one generic plan, discovers appropriate services, and builds a workflow out of them. The second phase may be realized by using existing process modeling languages, such as BPEL.
4) Automated with manual web services composition:- The automated and manual web service compositions are also possible. The manual web service composition is little bit complex than automated service composition.
5) Context based Web service Discovery and composition:- Context information is pre-processed and post-processed before being actually sent by the web service. In the framework, the context block could be processed by several components. Thus, processing instructions are needed to specify rules of precedence. The context framework proposed here provides several context types, such as location (GPS coordinates, country, local time and time zone), information about the consumer invoking service (name, e-mail address, preferences) and client context information, such as hardware or software. The authors demonstrate the functionality of the framework by developing an information service, which is invoked by several different clients, such as PCs or PDAs. In case of a PDA invoking the service, unnecessary representation information is cut out of the SOAP message, since the display size would not meet the graphical representation requirements.