| By Dennis Hayes | Article Rating: |
|
| August 4, 2007 01:15 PM EDT | Reads: |
12,895 |
What Is BPEL?
BPEL or Business Process Execution Language is an XML and Web standards-based SOA (service-oriented architecture) standard that allows business people to combine services into automated processes. As described in this review, Active Endpoints' ActiveBPEL product family includes a visual designer that works by allowing non-programmers to assemble Web services into processes by dragging and dropping graphical representations of components (Web services) and "wiring" them together in sequences and flowcharts (see Figure 1).
There are five parts of a BPEL application. The true BPEL part is an XML file that conforms to the BPEL standard (BPEL4WS 1.1 and WS-BPEL 2.0). This file contains the definition of the activities that make up the BPEL process. Another part are the services that get integrated by BPEL; these are defined by standard WSDL files. The other three parts are the proprietary BPEL engine that runs the processes, the proprietary graphic designer that functions as the IDE or the development environment that allows drag 'n' drop design of processes, and the final part is the administrative tools for deploying and monitoring the BPEL process.
BPEL is considered "programming in the large" because it deals with higher-level constructs such as flow control and looping, processes that are long running (for instance, a request for a loan approval might be routed to the accounting department and sit there for days before being approved or denied), fault tolerance (it can be set up to start an alarm process if accounting does not respond to the loan request within a week), and it uses compensation instead of transactions (a transaction can't be kept open for the length of time needed in a long-running process, so, if a stage of a process fails, it has to be "fixed," not just rolled back).
Active Endpoints and ActiveBPEL
Active Endpoints has three versions of their BPEL products: a standalone open source version, a standalone commercial version that can run under either .NET or Tomcat, and an integrated commercial version that can run under J2EE or .NET. Active Endpoints provides a complete set of administrative tools and a sophisticated development environment based on the Eclipse IDE (see Figure 2).
Active Endpoints created the open source ActiveBPEL Engine to generate interest in the BPEL standard and to help educate the community about BPEL.
The open source ActiveBPEL Engine is uses the same source code as used in the ActiveBPEL commercial products. The open source version is recommended for design and testing, but not for deployment because it lacks the system integration, clustering support, and security that are included in the commercial versions and typically needed in enterprise-level BPEL implementations. The open source version does contain everything needed to create and run BPEL applications without these enterprise-level features, including the designer and execution engine, management console, debugging, static BPEL analysis, multiple languages (XPath, XQuery, JavaScript, and custom languages), persistence, and all the documentation. The open source version is released under the GPL and is maintained by Active Endpoints. Active Endpoints also provides free forum-based support and premium support on a fee-based subscription basis.
The commercial standalone (paid license and support) version runs on Tomcat or .NET, and adds support for WS-Security, WS-Reliable Messaging, advance process filtering and alerts, suspend and retry via both the console and APIs, enhanced process deployment and invocation, and process versioning (currently running processes use the old version, new instances of a process use the new version, with the old version being retired after all running processes end).
It also includes APIs to access and control the inner workings of the BPEL engine.
The J2EE and .NET integrated versions add multi-level load balancing and server fault tolerance and deep integration into each of the supported servers: .NET, WebSphere, JBoss, and WebLogic.
In the .NET version, BPEL processes can be launched via either the IIS server API, or a native .NET API. Access security can be handled by either IIS or ASP.NET-based security, allowing access list to be stored in a database, Active Directory, or third-party security suites. Also, ActiveBPEL can be installed in an IIS Web farm where a wide range of load balancing strategies can be used.
The WebSphere version can run as a WS-I compliant framework, or inside WebSphere containers to take advantage of advanced WebSphere capabilities. Security can be handled by the Tivoli Access manager or by legacy or third-party security solutions. ActiveBPEL also supports all of the WebSphere clustering capabilities including automatic failover and content-based routing.
On JBoss, ActiveBPEL uses the Axis JAX-RPC for Web services invocations and message exchange, and also allows direct control by the JBoss WS4EE or EJB bindings. It also integrates with JBossSX security or LDAP servers. ActiveBPEL supports all of the JBoss clustering technology, including JGroups and the Tomcat HttpSession object to provide load balancing, failover, and single sign-on.
Truly the people at Active Endpoints understand how important it is to use and integrate with the different platforms they run on.
Future
The difference between BPEL and workflow is that BPEL focuses on automating Web services, where workflow focuses on connecting people-oriented processes. Active Endpoints has recently released ActiveBPEL for People, which extends BPEL to include people-oriented tasks, including roles and Web-based user interfaces.
More Information
For more information, checkout Active Endpoints' Web site at , there is a nice slide show at www.bptrends.com/publicationfiles/BPEL4ProgArchies.pdf, and Wikipedia has a page on BPEL at http://en.wikipedia.org/wiki/BPEL.
Published August 4, 2007 Reads 12,895
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Dennis Hayes
Dennis Hayes is a programmer at Georgia Tech in Atlanta Georgia where he writes software for the Adult Cognition Lab in the Psychology Department. He has been involved with the Mono project for over six years, and has been writing the Monkey Business column for over five years.
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Why IBM’s Server Chief Got Busted
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Stock in Focus: Dragon Capital
- 1st Annual Government IT Conference & Expo: Themes & Topics
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- The Top 150 Players in Cloud Computing
- SOA in the Cloud - Monitoring and Management for Reliability
- How to Diagnose Java Resource Starvation
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Software AG Named "Gold Sponsor" of SOA World Conference & Expo 2009 East
- Why IBM’s Server Chief Got Busted
- IBM & Cloud Computing: How "SOA in the Cloud" Can Produce Real Change
- SYS-CON's Cloud Expo Adds Two New Tracks
- SOA World Power Panel on SYS-CON.TV
- 1st Annual GovIT Expo: Letter from the Technical Chair
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- Success, Arrogance, Rise and Fall
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV









The past month has seen an unprecedented conc...
























