BPEL servers overview
BPEL servers provide a runtime environment for executing BPEL business processes. Today BPEL servers are usually part of the SOA platform, which in addition to the BPEL server includes other elements of a complete SOA environment application server, ESB, registry and repository, human tasks support, process monitoring, BRMS (Rule Engine), and adapters. Often a development environment is included and sometimes a process modeling tool is also available. Most advanced SOA platforms support the automatic translation of business models into executable BPEL processes.
Most SOA platforms have been developed on top of modern software platforms, particularly 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), and so on.
The most important commercial SOA platforms with BPEL servers are listed below:
Oracle SOA Suite (BPEL Process Manager) (http://www.oracle.com/technologies/soa/soa-suite.html)
Oracle Sun Java Composite Application Platform Suite (http://developers.sun.com/javacaps/)
IBM WebSphere (WebSphere Process Server) (http://www.ibm.com/software/solutions/soa/)
TIBCO ActiveMatrix (ActiveMatrix BusinessWorks) (http://www.tibco.com/products/soa/default.jsp)
InterSystems Ensemble (http://www.intersystems.com/ensemble/index.html)
Fujitsu Interstage (Business Process Manager) (http://www.fujitsu.com/global/services/software/interstage/)
Hitachi uCosminexus Service Platform (http://www.hitachi.co.jp/Prod/comp/soft1/global/prod/cosminexus/sol/sp/sp_view.html)
Software AG webMethods (http://www.softwareag.com/Corporate/products/wm/default.asp)
Intalio BPM (http://www.intalio.com/products/bpm/)
Fiorano SOA Platform (http://www.fiorano.com/products/fsoa/products_fioranosoa.php)
Active Endpoints ActiveVOS (http://www.activevos.com/)
OpenLink Virtuoso Universal Server (http://virtuoso.openlinksw.com/)
Parasoft BPEL Maestro (http://www.parasoft.com/jsp/products/home.jsp?product=BPEL)
PolarLake Integration Suite (http://www.polarlake.com/)
Microsoft also provides an SOA platform, although Microsoft does not use the acronym SOA as often as the other suppliers. Microsoft's SOA is built around Windows Workflow Foundation, Windows Communication Foundation, and Microsoft BizTalk (process server). In contrast to most of the other vendors, Microsoft does not support BPEL natively (yet). Microsoft BizTalk, at the time of writing, still uses XLANG/s, the Microsoft proprietary orchestration language. However, it allows for the import and export of BPEL.
An important supporter of SOA is SAP. SAP Enterprise Service-Oriented Architecture (Enterprise SOA) has been defined by SAP as "an open architecture for adaptive business solutions". Enterprise SOA is enabled by the SAP NetWeaver platform. SAP has positioned Enterprise SOA to deliver the benefits offered by service-oriented architecture, including enabling both flexibility and business efficiency. Most of SAP products, such as mySAP ERP, mySAP CRM, and mySAP SRM, are built upon Enterprise SOA.
There are also a few open source implementations:
JBoss Enterprise SOA Platform (Red Hat) (http://www.jboss.com/products/platforms/soa/)
Open ESB (https://open-esb.dev.java.net/)
ActiveBPEL Engine (http://www.activebpel.org/)
bexee BPEL Execution Engine (http://sourceforge.net/projects/bexee)
Apache Agila (http://wiki.apache.org/agila/), formerly known as Twister
In the following chapters we will use Oracle SOA Suite platform, including JDeveloper and Oracle BPEL Process Manager. Please keep in mind however that BPEL is an open specification therefore it does not differ between the products. BPEL code is portable between different BPEL servers. This holds true as long as you are not using some vendor-specific extensions. Therefore, in the next chapters we will first look at standard BPEL. Then, we will look how to use BPEL using Oracle SOA Suite.