BPELPower—A BPEL execution engine for geospatial web services
Introduction
In the Web environment, a workflow can be instantiated and automated by defining and connecting the activities and participants in the form of Web services or executable programs in the Web. A workflow can consist of any sequence of actions that define the structural organization of partners and activities, or determine who processes what and how the processes are done (Hackmann et al., 2006). When a Web service is required, the workflow can be automated without much human intervention. If a Web service is well defined and described, a composite workflow can be formed and re-used without much computer knowledge requirement on the user. Forming such a workflow helps users in achieving their goals through collaboration and automation.
Among many scripts or languages used to define a workflow, the Business Process Execution Language (BPEL) has become the most popular workflow language accepted in industries (Ko et al., 2009). It has also been proved to be robust enough to handle most of the scientific workflow in direct or indirect applications (Akram et al., 2006, Slominski, 2007, Tan et al., 2009, Tan et al., 2010). Geospatial processing workflows have their uniqueness but share many common control patterns, data patterns, resource patterns, and exception handling patterns with common business processes. Therefore, BPEL was selected as the base workflow language for orchestrating geospatial processing in the Web environment.
BPEL does not meet all the requirements of scientific workflows neither all those of geospatial Web processing. Scientific workflows and business workflows have different characteristics: data tokens vs. shared variables, self-concurrency vs. self-sequential behavior, individual semantics vs. collective semantics, and system-centric (automated) vs. human-centric (Ko et al., 2009, Migliorini et al., 2011). Geospatial processing processes expect more automation than many business transaction-based processes. One of the unique characters of geospatial processing is data-intensive or observation-driven in the Sensor Web environment (Yu et al., 2008, Yu et al., 2009a). Another is event-driven when the geospatial workflows are dealing with disaster or live sensors (Yu et al., 2008). These types of special requirements are not directly supported in BPEL. Workarounds are needed to allow BPEL and its management systems work fully-functionally for such scientific applications. Many alternative approaches have been developed to support scientific workflows. They may be adapting a completely new language (Slominski, 2007), a workaround approach (Maheshwari and Montagnat, 2010), a hybrid approach (Sun et al., 2010), or a language extension (Ghedira and Mezni, 2006, Juric et al., 2009, Juric, 2010).
This study focuses on adapting the BPEL engine to support the special requirements of geospatial workflows. The major advantage to this approach to support geospatial processing is that there is no need to recreate a new set of languages or standards, but support is achieved at the implementation level. All the associated developments and tools, such as BPEL graphic designer and interactive development environment (IDE), can be re-used for geospatial workflows without any change.
In short, the study has the following objectives: (1) implementing a generic BPEL workflow engine, BPELPower, for geospatial Web services; (2) supporting geospatial workflows as much as possible through the adaptation at the level of implementation.
The paper is organized as follows. Section 2 briefly reviews relevant developments in workflow language, workflow engines, and BPEL engines. Section 3 describes the design and implementation of the BPEL engine—BPELPower. Section 4 presents two use cases that used BPELPower as the workflow execution engine. Section 5 discusses the lessons learned from the use cases and adaptation strategies in supporting the special requirements of geospatial Web processing. Section 6 summarizes the characteristics of BPELPower and points out its future evolution.
Section snippets
Workflow language development
Workflow management is a technology that allows process design, system configuration, process enactment, and diagnosis (Hill et al., 2008, Ko et al., 2009, Ko, 2009). Corresponding to these stages of business processes, many standards and specifications have emerged and evolved during the past decades, graphic standards (e.g. Business Process Modeling Notation (BPMN)) for the design stage, interchange standards (e.g. XML Process Definition Language (XPDL)) for sharing information, execution
Architecture
BPELPower was designed and developed as a generic BPEL workflow engine with enhancements to deal with geospatial Web services and workflows. Fig. 1 shows the general architecture of the system. Model View Control (MVC) was adopted to separate presentation, implementation, and control during the implementation. Java was used as the development language. Servlet was the target container. The system was designed to be a Web application or a system that can be deployed to any servlet container,
Use cases
BPELPower has been used in several major geospatial demonstrations since the release of the first version in 2000. The demonstrations include OGC Web Service testbeds 4, 5, 6, and 7—annual, international collaborations on verifying and testing geospatial specifications and standards developed under OGC and Global Earth Observation System of Systems (GEOSS) Architecture Implementation Pilot (AIP) Phase 1 to 3. Here two workflows are briefly presented: one from each initiative. One is a
Pattern-based evaluation
The two use cases for geospatial workflow used most of the geospatial data services and geospatial processing service compliant to OGC specifications. These services were WCS for raster data management, WFS for geographical features, SOS for sensor observations, CSW for cataloging and discovery, and WPS for processing processes. The internal parsers were endowed with all the complicated schemas for geospatial feature descriptions and attributes. This proved that BPEL is able to handle all the
Results
A generic Web-based BPEL execution engine that can be deployed in Java servlet container was designed and implemented using Java. It was enhanced at the implementation level to work with OGC-compliant geospatial Web services and geospatial workflows, including transactions, GML-handling, notification/event handling, asynchrony, and parallelism. The enhancements were achieved at the implementation level while no specific BPEL specification change is required. The engine can execute both a
Acknowledgments
This work was supported by a grant from NASA REASoN program (grant # NNG04GE61A, PI: Dr. Liping Di), and a grant from NASA AIST program (grant # NNX06AG04G, PI: Dr. Liping Di). The authors acknowledge Dr. Xianru Yuan, a former post-doctoral researcher of the Center for Spatial Information Science and Systems, for his initial development of BPELPower which laid a solid foundation for the system to be evolved on over the years, Dr. Yaxing Wei, a former research assistant, for his participation in
References (83)
- et al.
YAWL: yet another workflow language
Information Systems
(2005) - et al.
Geo-processing workflow driven wildfire hot pixel detection under sensor web environment
Computers & Geosciences
(2010) - et al.
Through personalized web service composition specification: from BPEL to C-BPEL
Electronic Notes in Theoretical Computer Science
(2006) WSDL and BPEL extensions for event driven architecture
Information and Software Technology
(2010)- et al.
WS-BPEL extensions for versioning
Information and Software Technology
(2009) - et al.
Workflow patterns
Distributed and Parallel Databases
(2003) - Akram, A., Meredith, D., Allan, R., 2006. Evaluation of BPEL to Scientific Workflows, In: Turner, S.J., Lee, B.S., Cai,...
- et al.
A grid workflow language using high-level petri nets
- Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S.,...
- Baumann, P., 2010a. OGC® WCS 2.0 Interface Standard—Core. OpenGIS® Interface standard no. OGC 09-110r3. Open Geospatial...