Grid Workflow Modelling Using the Business Process Execution Language (BPEL)
Service-oriented Grid computing has gained tremendous interest in academic as well as in business environments. Many of the applications, especially from academic environments, have been designed as monolithic solutions that are hard to adapt, even to slight changes in the application requirements. Required adaptations must be implemented by programmers specialized both in Grid middleware and applications.
The paradigm shift to service-orientation in Grid middleware opens the possibility to use a far more flexible software development approach, namely to compose applications from standard components, promising easier development and modification of Grid applications. The Business Process Execution Language for Web Services (BPEL4WS or BPEL) has gained a lot of attention and broad adoption for composing component based business applications. The focus of the BPEL language is to enable the composition of basic web services into more complex applications. Its popularity in the business application domain makes BPEL very promising for process creation in the Grid domain, since many process execution, management and creation tools are expected to be developed in the future or are currently under development.
Modern Grid middleware environments like the Globus Toolkit 4 (GT4), Unicore/GS and gLite are built on the Web Services Resource Framework (WSRF) standard which extends web services. This allows the creation of so-called stateful web services which can store the state of operations and other properties without breaking the compatibility to standard web services.
In the Grid environment, however, BPEL has a major drawback: is not capable of dealing with WSRF-compliant services transparently to the workflow designer. The designer has to manually take care of creating resources, copying identifiers and so on. Therefore, we have developed an extension to the BPEL language which allows the interaction with both stateless and stateful services and their resources in an easy to use fashion. This faciliates the seamless integration of Grid applications in business applications and vice versa. Further information can be found in our publication " Grid Workflow Modelling Using Grid-Specific BPEL Extensions".
Furthermore, BPEL does not handle security aspects in Grid environments. The Grid Security Infrastructure (GSI) supports transport and message level security, namely signing and encrypting messages. It is also possible to delegate credentials (X.509 certificates) to other entities allowing to execute tasks on a user's behalf. To support GSI, we have extended BPEL by security-related expressions. Our workflow execution engine has also been extended and now seamlessly integrates with GSI.
Our implementation consists of two parts:
- Execution management: a workflow execution engine based on ActiveBPEL Engine
- Workflow development: an Eclipse-based collaborative workflow modelling tool named ViGO (Visual Grid Orchestrator)
A general (short) introduction to BPEL can be found here.