ActiveBPEL Rapidly Adds Enterprise Upgrades

An upgraded ActiveBPEL Business Process Execution Language engine is now available for free download. Upgrade features include support for XQuery, JavaScript and support for direct invocation of another BPEL process. And a host of WS-* support is nearby. IDN takes a look at the new features and provides links to code and documentation.

Tags: ActiveBPEL, BPEL Process, Web Services, ActiveBPEL Engine, Java, Support, Deployment,

An upgraded ActiveBPEL Business Process Execution Language engine is now available for free download.

Upgrades to ActiveBPEL (Milestone 2) include XQuery and JavaScript support, as well as a number of other key ease-of-use direct invocation of other BPEL featuress for devs to get into business process projects for web services. IDN takes a look at the new features and provides links to code and documentation.

ActiveBPEL (Milestone 2) also supports Tomcat 5.5 and Java 1.5, as well as adds support for web services standards WS-Addressing and WS-Policy, with support for WS-Security and WS-ReliableMessaging, due for a later release.

Among other features in ActiveBPEL (Milestone 2.0) are:

  • A pluggable expression language framework and support for additional expression languages beyond XPath
  • Additional BPEL Activities. Some of these activities are scheduled to part of the WSBPEL 2.0 specification and others are activities that have been frequently requested. All of these activities will be implemented as ActiveBPEL extensions.
  • Enhanced Endpoint mapping, providing more flexible methods of determining the service endpoint location
  • Additional Partner Link binding types, including direct invocation of another ActiveBPEL process as a sub-process
  • Enhanced process query capabilities
  • XML database support and
  • Enhanced consoling

    Inside the ActiveBPEL Engine Upgrade
    The ActiveBPEL engine is written in Java, and runs in any standard Java servlet container such as Tomcat. It reads BPEL process definitions (and other inputs such as WSDL files) and creates representations of BPEL processes. When an incoming message triggers a start activity, the engine creates a new process instance and starts it running. The engine takes care of persistence, queues, alarms, and many other execution details.

    The ActiveBPEL engine comes from the Open Source ActiveBPEL project, an organization created by Active Endpoints, Inc. ActiveBPEL is licensed under the GNU General Public License (GPL). ActiveBPEL was originally released into open source in July 2004 by Active Endpoints, Inc.>Click here to learn more about the ActiveBPEL project and its architecture.

    More than Just Raw Code - The ActiveBPEL Samples
    ActiveBPEL comes with more than just code. There is also a full suite of samples and templates to speed design and deployment. Among them:

  • Communicating with the ActiveBPEL Engine Administration Interface via Web Services -- This sample provides examples of communicating with the ActiveBPEL Administration Interface via published Web Services API.

  • Exchanging Messages Containing Complex Data Types -- This sample describes the use of RPC style WSDL messages within a BPEL process and includes an example of a Java client that uses an RPC message to invoke the process via Web Service.

  • Creating and Using Custom XPath Functions -- This sample shows how to create, install and register custom functions that can be used to facilitate common tasks with a BPEL process (e.g., XML to string) using the ActiveBPEL custom function framework.

  • Custom Invoke Handlers in ActiveBPEL and ActiveWebflow -- This sample shows how to specify during deployment that a service should be invoked directly rather than using the default SOAP over HTTP protocol. The sample provides examples of the Java services, deployment descriptor modifications and sample data to test the deployed process and services. Using this method any protocol (e.g., JMS or SMTP) can be used to interact with a process directly.

  • Deploying a BPEL Process -- This sample provides information on manually constructing the artifacts required to deploy a BPEL process to ActiveBPEL.

  • Common Sample Project Libraries and Deployment -- This archive contains common utility jars that may be needed by some of the samples. Note: the samples are always built using Ant scripts and important information regarding the directory paths and environment variables can be found in the documentation provided. Click on the "lib" link for more information before downloading.

  • SOAP Client Codeset -- This is the source code for the simple SOAP Client that is bundled with the BPEL Samples download. It includes the client JSP page, Java class that it uses, and an Ant script that will build and deploy the WAR file.

  • Testing BPEL Processes with WSUnit and the ActiveBPEL Engine --
    WSUnit is a relatively simple open source project that allows users to indirect their Web Services to a server that returns messages based on the content of the request. We have found that this can be a valuable tool in a situation where access to test implementations of services may not be available. This sample demonstrates the use of WsUnit to help in the testing of deployed BPEL processes.

    Looking Ahead to ActiveBPEL v3
    2006 promises to be a productive one for the ActiveBPEL project.

    Managers say they are already working on the next improvements, and by March 2006, expect ActiveBPEL will offer yet another upgrade (v 3.0), which will be based on the upcoming WSBPEL 2.0 specification, while continuing to support processes that were developed using the BPEL4WS 1.1 specification