|
|
|
|
|
BpelIn computer science, the Business Process Execution Language (BPEL) is a programming language, serialized in XML, that is intended to enable 'programming in the large'. The concepts of 'programming in the large' and 'programming in the small' distinguish between the two aspects of writing the type of long running asynchronous processes that one typically sees in business processes. Programming in the large refers to programming code that represents the high level state transition logic of the program. This logic encodes information such as when to wait for messages, when to send messages, when to compensate for failed non-ACID transactions, etc. Programming in the small deals with short lived programmatic behavior that is often executed as a single ACID transaction and which allows access to local logic and resources such as files, databases, etc. BPEL's development came out of a realization that programming in the large and programming in the small required two different languages. As there already existed numerous programming in the small languages (e.g. C_programming_language, C_Sharp_programming_language, Java_programming_language, etc.) it was felt that there was no need to introduce another. But it turned out that IBM and Microsoft both had their own, fairly similar, 'programming in the large' languages, WSFL and XLang. So IBM and Microsoft decided to combine their languages into a new language, BPEL4WS. On April 2003, BPEL4WS 1.1 was submitted by BEA Systems, IBM, Microsoft, SAP AG and Siebel Systems to OASIS to be standardized in Web Services BPEL Technical Committee. Although BPEL4WS was released as both a 1.0 and 1.1 version the OASIS WS-BPEL technical committee voted on 9/14/2004 to name their spec WS-BPEL 2.0. This change in name and version number reflects the signifigant and in many cases incompatible differences between BPEL4WS 1.1 and WS-BPEL 2.0. The BPEL language BPEL's focus on modern business processes, plus the histories of WSFL and XLANG, led BPEL to adopt Web services as its external communication mechanism. That is, BPEL's messaging facilities depend on the use of WSDL 1.1 to describe outgoing and incoming messages. In addition to providing facilities to enable sending and receiving messages the BPEL programming language also supports: - A property based message correlation mechanism
- XML and WSDL typed variables
- An extensible language plug in model to allow for expressions and queries to be written in multiple languages, XPATH 1.0 is supported by default.
- Structured programming constructs including if-then-elseif-else, while, sequence (to enable commands to be executed in order) and flow (to enable commands to be executed in parallel)
- A scoping system to allow logic to be encapsulated with local variables, fault handlers, compensation handlers and event handlers
- Serialized scopes to control concurrent access to variables
Adding Programming in the Small Support to BPEL BPEL's control structures such as if-then-elseif-else and while as well as its variable manipulation facilities depend on the use of 'programming in the small' languages to provide logic. The default language that all BPEL implementations must support is XPATH 1.0. But BPEL is designed to be extensible so that other languages can be used as well. is an effort being standardized in to enable Java to be used as a 'programming in the small' language within BPEL. BPEL engines Several BPEL engines have been developed, including: - Active Endpoints ActiveWebflow Server is a complete BPEL engine running on top of a J2EE application server or standalone with a Web Servlet container (e.g. Tomcat). ActiveWebflow Designer is an Eclipse-based visual BPEL designer.
- ActiveBPEL Engine is a comprehensive BPEL runtime environment. Written in Java, ActiveBPEL Engine is available as an open source technology released under the GPL.
- bexee BPEL Execution Engine is an open source, J2EE-based BPEL engine and an environment for further development and experiments in the area of Business Process Modeling (BPM).
- Collaxa BPEL Orchestration Server is a complete BPEL engine running on top of a J2EE application server. The upcoming Version 2 will include a visual BPEL designer, based on Eclipse. (This product was recently acquired by Oracle Corporation.) This version is now released, and has a GUI Designer for BPEL in both Eclipse as well as Oracle's JDeveloper IDE. Collaxa is recently taken over by Oracle and the site is down.
- FiveSight PXE is a modular BPEL engine with a focus on reliability and flexibility.
- IBM BPWS4J is downloadable from the IBM alphaWorks Web site. Just like other alphaWorks software, BPWS4J has the status of emerging technology.
- IBM WebSphere Business Integration Server Foundation (Version 5.1 as of 2004) is a complete BPEL engine running on top of the WebSphere Application Server platform. It includes extensions like support for human interaction and runs on a variety of server platforms, such as Linux and z/OS. IBM has corresponding Eclipse-based development tools for BPEL, such as the WBI Modeler and WebSphere Studio Application Developer Integration Edition (to be part of the Rational Application Developer family starting in 2005).
- OpenLink Virtuoso Universal Server is downloadable from the OpenLink Software Web site, with an integrated BPEL engine.
- OpenStorm ChoreoServer is a BPEL engine running on top of the Microsoft Windows .NET platform.
- Oracle BPEL Process Manager is a BPEL engine running on top of the Oracle Application Server.
- Parasoft BPEL Maestro is a BPEL engine and includes a graphical editor.
- Twister is the first open source implementation of the WS-BPEL standard (LGPL). Twister supports the SOA pattern as well as direct human participants interaction (work list).
- Cape Clear Orchestrator is a complete ESB containing an eclipse-based visual BPEL editor, enterprise BPEL engine (persistent, fault-tolerant, clusterable), web-based management console and data transformation tools (available from Cape Clear).
External links Standards Engines and implementations BPEL and business process sites BPEL articles
|
 |
|
| Copyright 2005-2009 OnPedia.com. All Rights Reserved |
|
|