Elsevier

Computers & Geosciences

Volume 47, October 2012, Pages 87-101
Computers & Geosciences

BPELPower—A BPEL execution engine for geospatial web services

https://doi.org/10.1016/j.cageo.2011.11.029Get rights and content

Abstract

The Business Process Execution Language (BPEL) has become a popular choice for orchestrating and executing workflows in the Web environment. As one special kind of scientific workflow, geospatial Web processing workflows are data-intensive, deal with complex structures in data and geographic features, and execute automatically with limited human intervention. To enable the proper execution and coordination of geospatial workflows, a specially enhanced BPEL execution engine is required. BPELPower was designed, developed, and implemented as a generic BPEL execution engine with enhancements for executing geospatial workflows. The enhancements are especially in its capabilities in handling Geography Markup Language (GML) and standard geospatial Web services, such as the Web Processing Service (WPS) and the Web Feature Service (WFS). BPELPower has been used in several demonstrations over the decade. Two scenarios were discussed in detail to demonstrate the capabilities of BPELPower. That study showed a standard-compliant, Web-based approach for properly supporting geospatial processing, with the only enhancement at the implementation level. Pattern-based evaluation and performance improvement of the engine are discussed: BPELPower directly supports 22 workflow control patterns and 17 workflow data patterns. In the future, the engine will be enhanced with high performance parallel processing and broad Web paradigms.

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)

  • Baumann, P., 2010b. OGC® Web Coverage Service 2.0 Interface Standard—KVP Protocol Binding Extension. OpenGIS® Interface...
  • Baumann, P., 2010c. OGC® Web Coverage Service 2.0 Interface Standard—XML/SOAP Protocol Binding Extension. OpenGIS®...
  • Baumann, P., 2010d. OGC® Web Coverage Service 2.0 Interface Standard – XML/POST Protocol Binding Extension. OpenGIS®...
  • Botts, M., Robin, A., 2007. OpenGIS® Sensor Model Language (SensorML) Implementation Specification. OpenGIS®...
  • A. Bröring et al.

    New generation sensor web enablement

    Sensors

    (2011)
  • Cox, S., Botts, M., 2007. OpenGIS® SensorML Encoding Standard, version 1.0 Schema—Corrigendum 1. OpenGIS® IS...
  • Curbera, F., Goland, Y., Klein, J., Leymann, F., Roller, D., Thatte, S., Weerawarana, S., 2002. Business Process...
  • J. Eker et al.

    Taming heterogeneity—the Ptolemy approach

    Proceedings of the IEEE

    (2003)
  • T. Fahringer et al.

    A-GWL: abstract grid workflow language

  • Fahringer, T., Prodan, R., Duan, R., Hofer, J., Nadeem, F., Nerieri, F., Podlipnig, S., Qin, J., Siddiqui, M., Truong,...
  • T. Fahringer et al.

    ASKALON: A Development and Grid Computing Environment for Scientific Workflows

  • Fahringer, T., Qin, J., Hainzer, S., 2005. Specification of grid workflow applications with AGWL: an Abstract Grid...
  • Fraunhofer FIRST, 2010. GWorkflowDL—Generic Workflow Description Language Toolbox [WWW Document]. Available from:...
  • J. Goecks et al.

    Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences

    Genome Biology

    (2010)
  • L. Goodstadt

    Ruffus: A lightweight python library for computational pipelines

    Bioinformatics

    (2010)
  • Grimme, C., Papaspyrou, A., 2006. Generation 0: Work_ow Speci_cation Language ,Specification no. C3Grid-T6.1-001-Final....
  • Z. Guan et al.

    Grid-Flow: a Grid-enabled scientific workflow system with a Petri-net-based interface

    Concurrency and Computation: Practice and Experience

    (2006)
  • G. Hackmann et al.

    Sliver: a BPEL workflow process execution engine for mobile devices

  • J.B. Hill et al.

    Findings: Confusion Remains Regarding BPM Terminology ( No. G00155817)

    (2008)
  • G. Hobona et al.

    Orchestration of grid-enabled geospatial web services in geoscientific workflows

    IEEE Transactions on Automation Science and Engineering

    (2010)
  • Hoheisel, A., 2003. Grid Job Definition Language—XML-Schema, Version 1.1 [WWW Document]. URL...
  • A. Hoheisel et al.

    An XML-based framework for loosely coupled applications on grid environments

  • Huang, Q., Huang, Y., 2005a. Workflow engine with multi-level parallelism supports, In: Cox, S.J., Walker, D.W. (Eds.),...
  • Huang, Y., Huang, Q., 2005b. WS-based workflow description language for message passing, In: IEEE International...
  • Huang, Y., Walker, D., 2003. SWFL—Service Workflow Language [WWW Document]. Available from:...
  • IBM, 2002. The Web Services Description Language for Java Toolkit (WSDL4J) [WWW Document]. Available from:...
  • Jaeger, E., Altintas, I., Zhang, J., Ludäscher, B., Pennington, D., Michener, W., 2005. A scientific workflow approach...
  • A. Jagatheesan et al.

    Datagridflows: Managing Long-Run Processes on Datagrids

  • Jordan, D., Evdemon, J., Alves, A., Arkin, A., Askary, S., Barreto, C., Bloch, B., Curbera, F., Ford, M., Goland, Y.,...
  • R.K.L. Ko

    A computer scientist's introductory guide to business process management (BPM)

    Crossroads

    (2009)
  • R.K.L. Ko et al.

    Business process management (BPM) standards: a survey

    Business Process Management Journal

    (2009)
  • Cited by (0)

    View full text