Synthy: A system for end to end composition of web services
The demand for quickly delivering new applications is increasingly becoming a business imperative today. However, application development is often done in an ad hoc manner resulting in poor reuse of software assets and longer time-to-delivery. Web services have received much interest due to their potential in facilitating seamless business-to-business or enterprise application integration. A web service composition system can help automate the process, from specifying business process functionalities, to developing executable workflows that capture non-functional (e.g. Quality of Service (QoS)) requirements, to deploying them on a runtime infrastructure. Intuitively, web services can be viewed as software components and the process of web service composition similar to software synthesis. In addition, service composition needs to address the build-time and runtime issues of the integrated application, thereby making it a more challenging and practical problem than software synthesis. However, current solutions based on business web services (using WSDL, BPEL, SOAP, etc.) or semantic web services (using ontologies, goal-directed reasoning, etc.) are both piecemeal and insufficient. We formulate the web service composition problem and describe the first integrated system for composing web services end to end, i.e., from specification to deployment. The proposed solution is based on a novel two-staged composition approach that addresses the information modeling aspects of web services, provides support for contextual information while composing services, employs efficient decoupling of functional and non-functional requirements, and leads to improved scalability and failure handling. We also present Synthy, a prototype of the service composition system, and demonstrate its effectiveness with the help of an application scenario from the telecom domain.
application integration service composition quality of service semantic web ontology planning