Posted by: Andy Tickner | 13th October 2009

Service Composition Prototype

Selection of the Workflow Representation Language

Although the system architecture is designed to be open for executing workflows defined in arbitrary languages as long as a suitable execution component is available, the selection of a workflow representation language for the prototype is an important step as it influences decisions to be made for other aspects of its implementation.

We chose Business Process Execution Language (BPEL) plus semantic annotations for the following reasons:

  • All the requirements for implementing the first prototype as well as the full scenario prototype are met by this combination. There are no planned features that cannot be expressed that way.
  • BPEL contains a well defined mechanism for treatment of failure situations, which is of utmost importance in critical infrastructures.
  • BPEL has gained the status of a standard in service orchestration language and there are mature tools available for handling such workflows.

Despite being a de facto standard, BPEL still is popular as a basis for projects in the semantic web service research community.

Dynamic Service Binding

One of the challenges is to solve the problem of finding a set of suitable services. The degree of complexity of this problem depends on the degree of freedom in the matching process.

Regarding the service finding challenge SERSCIS will use the following simplifications for the service composition prototype such as interface types are arranged in a taxonomy and semantic matching is done against interface types only.

For the first prototype the service selection process is done on a per invocation basis including the adherence to dependencies among service invocations.

Failures and Exception Handling

One of the primary goals within SERSCIS is to make the system resilient. In this respect, it is important to think about exception handling strategies in the context of workflow execution. By using a BPEL engine as execution environment for business processes, workflows can make use of built-in features for exception handling.


Categories