The increasing interest in new software engineering technologies for application integration such as Service Oriented Computing and Service Orchestration has resulted in a proliferation of workflow management systems as the underlying representation and execution platform for service composition. Workflow management system are also being applied to new domains (e.g., virtual scientific laboratories, Grid computing, service delivery and provisioning). For these new applications, workflows are seen as the modeling metaphor behind the notion of straight through processing and virtual organizations where a collection of existing heterogeneous systems are composed into an integrated solution. In all these settings workflow engines are at the core of a complex combination of applications and clustered computers. As such, they have become rather difficult to deploy and configure, let alone tune to obtain maximum performance. This problem is not unique to workflow and service composition engines but it is more difficult to address in these settings because there is only a limited understanding of the execution procedures behind a workflow engine. In this short paper we report on our ongoing work to design and develop an autonomic workflow engine that can be used for large scale service composition. The challenge we face in doing this is threefold. First, we need to design an execution procedure for service compositions that is amenable to autonomic treatment. Second, this procedure needs to be realized in an architecture that supports the deployment of different modules of the system across a computer cluster in order to achieve the desired level of performance. Third, an autonomic controller and appropriate control policies need to be developed to automatically provision the optimal amount of resources to the engine. In this paper we provide a high level description of how we have accomplished these three goals and give a brief account of the performance of the system. The implemented system is part of the JOpera project. JOpera is an advanced SOA tool for Eclipse, which provides modeling, execution, monitoring and debugging tools for workflow-based Web service orchestration.
[1]
Rajkumar Buyya,et al.
A Taxonomy of Workflow Management Systems for Grid Computing
,
2005,
Proceedings of the 38th Annual Hawaii International Conference on System Sciences.
[2]
Cesare Pautasso,et al.
JOpera: A Toolkit for Efficient Visual Composition of Web Services
,
2005,
Int. J. Electron. Commer..
[3]
Thomas Heinis,et al.
Design and Evaluation of an Autonomic Workflow Engine
,
2005,
Second International Conference on Autonomic Computing (ICAC'05).
[4]
Francisco Curbera,et al.
Web Services Business Process Execution Language Version 2.0
,
2007
.
[5]
Cesare Pautasso,et al.
From Web Service Composition to Megaprogramming
,
2004,
TES.
[6]
Gerhard Weikum,et al.
Workflow management with service quality guarantees
,
2002,
SIGMOD '02.
[7]
Frank Leymann,et al.
Web services and business process management
,
2002,
IBM Syst. J..
[8]
Frank Leymann,et al.
Business processes for Web Services: Principles and applications
,
2006,
IBM Syst. J..
[9]
Cesare Pautasso,et al.
Dependable computing in virtual laboratories
,
2001,
Proceedings 17th International Conference on Data Engineering.
[10]
Fabio Casati,et al.
Load balancing in distributed workflow management system
,
2001,
SAC.
[11]
Thomas Heinis,et al.
Autonomic execution of Web service compositions
,
2005,
IEEE International Conference on Web Services (ICWS'05).
[12]
Richard A. Golding,et al.
Walking toward moving goalposts: agile management for evolving systems
,
2006
.