BPEL Servers Overview
BPEL servers provide a run-time environment for executing BPEL business processes. BPEL is strongly related to web services and to the modern software platforms that support web service development, particularly to Java Enterprise Edition and Microsoft .NET. BPEL servers leverage Java Enterprise Edition or .NET application server environments, where they can make use of the services provided by application servers, such as security, transactions, scalability, integration with databases, components such as EJBs (Enterprise Java Beans) and COM+ (Component Object Model), messaging systems such as JMS (Java Message Service) or MSMQ (Microsoft Message Queue), etc.
BPEL servers exist for Java Enterprise Edition, .NET, and other platforms. The most important commercial servers are listed below:
- Oracle BPEL Process Manager (http://www.oracle.com/technology/products/ias/bpel/index.html)
- Microsoft BizTalk (http://www.microsoft.com/biztalk/)
- IBM WebSphere Business Integration Server Foundation (http://www.ibm.com/software/integration/wbisf)
- IBM alphaWorks BPWS4J (http://www.alphaworks.ibm.com/tech/bpws4j)
- BEA WebLogic Integration and the related AquaLogic (http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/weblogic/integrate/)
- OpenStorm Service Orchestrator (http://www.openstorm.com/)
- Active Endpoints ActiveWebflow (http://www.active-endpoints.com/products/index.html)
- Sun Java Integration Suite for Java Enterprise Suite (http://www.sun.com/software/javaenterprisesystem/), formerly known as SeeBeyond eInsight Business Process Manager (http://www.seebeyond.com/software/einsight.asp)
- Cape Clear Orchestration Studio (http://www.capeclear.com/products/)
- OpenLink Virtuoso Universal Server (http://virtuoso.openlinksw.com/)
- Parasoft BPEL Maestro (http://www.parasoft.com/jsp/products/home.jsp?product=BPEL)
- Fiorano Business Integration Suite (http://www.fiorano.com/products/fesb/fioranobis.htm)
- PolarLake Integration Suite (http://www.polarlake.com/en/html/products/integration/index.shtml)
- Fuego BPM (http://www.fuegotech.com/fuego_software.html)
- Digité Enterprise Business Process Management (http://www.digite.com/4.0/products/digite_ent_business-process.htm)
There are also a few open‑source implementations:
- ActiveBPEL Engine (http://www.activebpel.org/)
- FiveSight Process eXecution Engine PXE (http://www.fivesight.com/pxe.shtml)
- bexee BPEL Execution Engine (http://sourceforge.net/projects/bexee)
- Apache Agila (http://wiki.apache.org/agila/), formerly known as Twister (http://www.smartcomps.org/twister/)
Several BPEL design and development tools are also available. These tools enable graphical development of BPEL processes. Some design tools are bundled with servers. Provided below is a list of important stand-alone design and development tools that support BPEL:
- Oracle JDeveloper 10g (http://www.oracle.com/technology/products/jdev/index.html)
- Oracle BPEL Designer for Eclipse (http://www.oracle.com/technology/products/ias/bpel/index.html)
- IBM WebSphere Studio Application Developer Integration Edition (http://www.ibm.com/software/integration/wsadie/)
- iGrafx BPEL (http://www.igrafx.com/products/bpel/index.html)
- itp Process Modeler for Microsoft Visio (http://www.itp-commerce.com/)
The following sections provide an overview of some BPEL servers.
Oracle BPEL Process Manager
The Oracle BPEL Process Manager 10g supports BPEL version 1.1. It provides a complete run-time environment for orchestration of web services with support for long-running transactions. The server is developed in Java and comes in three versions:
- The regular version uses the Oracle 10g Application Server (Oracle Containers for Java—OC4J).
- Versions for BEA WebLogic application server (with native integration with BEA Workshop) and JBOSS are available.
- Manual installation and configuration is possible on top of IBM WebSphere and SunONE application servers.
In addition to the usual features Oracle BPEL Process Manager provides support for automatic passivization of processes that wait for asynchronous callbacks. This is called dehydration. Through the BPEL console, it is possible to visually monitor the execution of BPEL process definitions. It is also possible to review audit trails and track transactions. The server also provides a BPEL Debugger, which simplifies the debugging of BPEL processes considerably. An important feature is native integration with Java Enterprise Edition, which simplifies inclusion of Java Enterprise Edition resources, such as EJB (Enterprise Java Beans), JMS (Java Message Service), JCA (Java Connector Architecture), or JDBC databases, through Web Services Invocation Framework (WSIF).
Oracle also provides two graphical development tools. Oracle JDeveloper 10g provides integrated support for graphical development of BPEL processes and related WSDL and XML documents. It also provides support for direct deployment, testing, and debugging. Oracle BPEL Designer for Eclipse is an Eclipse plug-in that provides a graphical environment for the development of BPEL processes and related WSDL documents. Preview versions of all Oracle BPEL products can be downloaded from the company’s website. Chapter 5 and Chapter 6 are dedicated to Oracle BPEL Process Manager and BPEL features of JDeveloper.
Microsoft BizTalk
Microsoft BizTalk Server 2004 and the upcoming 2006 use the Microsoft .NET framework. BizTalk is more than just a BPEL execution environment. It is an integration server product with support for integrated business processes and web services. It provides integration between messaging and orchestration as well as security. The changes in the BizTalk Server 2004 and 2006 architecture, compared to previous versions, reflect the focus on more comprehensive support for web services. One of the functions is support for BPEL version 1.1, which enables existing BizTalk processes to be exported to BPEL, or BPEL processes from other partners to be imported. Chapter 7 is dedicated to Microsoft BizTalk Server.
IBM WebSphere Business Integration Server Foundation
IBM WebSphere Business Integration Server Foundation (WBISF) is a BPEL server built on top of the IBM WebSphere Application Server. It is a Java Enterprise Edition based product, which supports BPEL version 1.1. It can be used in conjunction with WebSphere Studio Application Developer, Integration Edition, which is a graphical integrated development environment and enables visual drag-and-drop development of BPEL processes. It also provides a visual debugger.
The WBISF server provides full support for BPEL. It also provides dehydration, compensation, clustering, and versioning capabilities. It provides a built-in XSLT engine as well as integration capabilities with the Java platform, particularly through JCA (Java Connector Architecture). Through JCA we can integrate BPEL processes with CICS, IMS, and other IBM products. Other interesting features of WBISF include Business Rules Beans, which enable us to define and manage business rules in an easy way, and human workflow support, which enables us to include human interactions in BPEL processes.
IBM BPWS4J
IBM BPWS4J version 2.1 has been developed by alphaWorks and provides support for BPEL version 1.1. The acronym stands for the IBM Business Process Execution Language for Web Services Java Run Time and includes the run-time support for execution of BPEL processes, a BPEL validating tool, and an Eclipse plug-in with a simple editor for creating and modifying BPEL documents.
BPES4J is developed in Java and has to be deployed on top of an existing Java Enterprise Edition application server. It has been tested with IBM WebSphere Application Server and with Apache Tomcat. It provides process integration with web services and EJBs. The product can be downloaded from the IBM alphaWorks website.
ActiveBPEL Engine and ActiveWebflow
ActiveBPEL engine is an open‑source BPEL implementation written in Java. It supports BPEL version 1.1. In addition to BPEL process execution the engine provides support for persistence, queues, and alarms. It runs within a Java Enterprise Edition compliant web or application server, such as Tomcat or any other commercial or open‑source Java Enterprise Edition server. ActiveBPEL is currently the only open‑source BPEL engine, which gives it a unique position, comparable to JBoss among application servers. JBoss and ActiveBPEL have even announced that they will combine their technologies to deliver a comprehensive open‑source BPEL development and deployment platform.
The ActiveBPEL engine is developed and maintained by Active Endpoints. Therefore ActiveBPEL is also the foundation for BPEL solutions developed by Active Endpoints, particularly for the ActiveWebflow BPEL Server and Designer. ActiveWebflow is a commercial business process management solution based on BPEL standard. It includes a visual designer, which is based on the Eclipse platform, and a Java Enterprise Edition server. In addition to visual design of BPEL processes, the designer offers the ability to perform visual simulations of execution scenarios. The server offers native integration with Java Enterprise Edition, particularly with EJBs and JMS.
OpenStorm Service Orchestrator
OpenStorm provides versions of its Service Orchestrator suite for Java Enterprise Edition as well as .NET. Full lifecycle development of BPEL processes is supported. For design and development there is an integrated studio, which provides the ability to visually define XML mappings using XPath, in addition to designing the BPEL processes and corresponding WSDLs. The Java Enterprise Edition version of the server provides integration with Java Enterprise Edition technologies and the .NET version provides integration with .NET technologies. At the time of writing OpenStorm does not provide demo or preview versions of its products.