| By Dennis Hayes | Article Rating: |
|
| August 4, 2007 01:15 PM EDT | Reads: |
12,471 |
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,471
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
About 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.
- Universal Middleware: What's Happening With OSGi and Why You Should Care
- An A to Z of Cloud Computing Companies in 2009
- SOA and eXtreme Transaction Processing (XTP)
- Ulitzer’s Amazing First 30 Days in Public Beta
- SYS-CON Announces Government IT Conference & Expo
- Why an Application Grid?
- 2nd International Cloud Computing Expo New York Photo Album
- "Government IT Expo" to Highlight Cloud Computing and SOA
- Building a Composite Application Using Multiple Web Services
- Commercial vs Federal Cloud Computing
- Universal Middleware: What's Happening With OSGi and Why You Should Care
- An A to Z of Cloud Computing Companies in 2009
- Blending Discovery, Governance, Security, and Management in SOA
- SOA and eXtreme Transaction Processing (XTP)
- Ulitzer’s Amazing First 30 Days in Public Beta
- Enterprise Mashups: The New Face of Your SOA
- SYS-CON Announces Government IT Conference & Expo
- Why an Application Grid?
- Web Application Management
- 2nd International Cloud Computing Expo New York Photo Album
- The i-Technology Right Stuff
- Get the Message
- 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
- Five Reasons Why Web 2.0 Matters
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December







































