SOA Product Review — ActiveBPEL 3.0 from Active Endpoints
Still active and out in front...
May. 26, 2007 02:15 PM
(SYS-CON Media) - We last looked at the Active Endpoints Inc. product suite back in May of this year. Since then, the team at Active Endpoints has been busy working towards the 3.0 release of its ActiveBPEL Designer and engine.
The biggest and most interesting enhancement is full support for all WS-BPEL 2.0 constructs. This feature will let users gain early access and experience with the upcoming OASIS standard.
The folks at Active Endpoints carefully thought through how to support users in their move to WS-BPEL 2.0. This resulted in the ability of BPEL 1.1 and WS-BPEL 2.0 processes to co-exist during design, test, and execution in both the designer and the engine. This lets users migrate their processes at their own pace. I've been burned in the past by products that required a big bang conversion so the ability to support 1.1 and 2.0 processes easily is a huge win.
My last ActiveBPEL review focused on the designer tool so I won't spend much time on it here except to point out a few enhancements. (Figure 1)
First of which is the ability to migrate any valid BPEL1.1 process to a WS-BPEL 2.0 proces. This is done by saving the existing 1.1 process as a WS-BPEL 2.0 process. During this "Save As" step ActiveBPEL will convert as much of the process syntax as possible and report conversion issues on any BPEL sections that couldn't be converted to the 2.0 syntax. These issues are displayed in the designer as static analysis errors. Users can then correct any errors. Once this is done, the user has access to all the new 2.0 features. Again, another nicely thought out touch for converting a process. I was able to convert one of my existing 1.1 processes and correct any issues easily.
Finally, Active Endpoints has added some of the obligatory GUI enhancements such as grids, anchoring annotation, and scope level auto-layout. The ActiveBPEL Designer continues to be a well-thought-out and constructed tool.
The ActiveBPEL Engine manages BPEL processes. For those new to BPEL, a BPEL process is a collection of Web Services with various interactions specifically orchestrated to complete some portion or all of a business process. Each Web Service is treated like a black box that does some part of the process. Ordering the Web Services calls, information passed to and returned from the calls, and conditional execution are called orchestration. Its details are defined in the Business Process Execution Language specification (the BPEL Spec).
The ActiveBPEL Engine is designed to run in most of today's Application Servers. I had the WebLogic 9.2 application server handy so that acted as my test bed. The ActiveBPEL Engine also requires a database, so I downloaded and installed MySQL 5.0. The installation wizard does a nice job of walking you through the installation and it automatically configured the application server based on my responses. Keep in mind you still have to know how to configure your application server of choice. I had to ensure that the appropriate database drivers were set up and that my server was clustered, but the ActiveBPEL wizard handled the engine-specific setup nicely.
Once I had the product installed on the server, I was able to load up an existing 1.1 BPEL process. I specifically chose the process I created for the original review back in May. It loaded and ran in the server without incident. I then saved the process as a 2.0 process. There were a few minor errors that I quickly fixed then deployed the new processes to the server and again ran it without any problems. Granted my process wasn't incredibly complex, but it was still nice to see everything work as advertised.
The ActiveBPEL Engine supports versioning processes. Various versions of a process can execute in the engine concurrently. Versioning includes effective dates and expiration dates of processes. This is a great feature and invaluable when you're cutting over to new processes. I've especially seen this come in handy when consulting in the past for a company in the power industry. Government agencies dictate how the business operates and when changes to their processes must be effective. Having effective and expiration dates are a must in this kind of environment.
The ActiveBPEL Engine is also smart about how it handles expiration of running processes. It gives the user a choice of terminating the process and allowing it to continue to run to completion, or migrating the process to the new version. Process migration sounds a bit dicey and the manual outlines its limitations, but I'm sure there will be users out there who won't be able to live without it.
When describing my test, I glossed over the deployment process. The ActiveBPEL Designer is the recommended tool for deploying BPEL processes to the ActiveBPEL Engine. It packages the various files that make up the selected process in a business process archive (.bpr) file. The tool supports automatic deployment of the .bpr file to the engine. It can also generate an Ant script to re-deploy the file.
When you use ActiveBPEL Designer to create a .bpr file, the .bpr wizard generates a resource catalog. The data in the catalog is displayed in the engine's administration console. The catalog also provides a way for the engine to find WSDL files, schema, and other resources in the deployment archive.
As said above, the ActiveBPEL Engine provides the obligatory administration console, but again it's nicely done. You can inspect processes while they're running. The process page even displays the process details and the process diagram.
For users who run large process sets, there's a nice feature that filters processes. Active Endpoints even provides a nice expression builder to aid in creating fairly complex criteria for selecting the processes to view.
My favorite feature in the engine is its ability to implement a custom invocation handler for service endpoints. This lets a process bypass the creation and transport of SOAP messages over Axis. The process's outbound message is routed directly to a service
Custom invocation handlers can provide a more efficient technique for communicating between processes and services on the same machine. It can also take advantage of an alternate SOAP engine or provide messaging to an application that's not exposed as a Web Service.
Custom invocation handlers are implemented as Java classes, EJB containers, or .NET assemblies that implement the engine's custom invocation interface. The BPEL process's deployment descriptor contains a custom invoke handler attribute for the partner role service. The custom handlers are loaded by ActiveBPEL and used to call out to a Partner Role service endpoint when the service is invoked in a BPEL process.
The bottom line with this feature is that you can co-locate chatty services and set up highly efficient messaging for high-volume processes. This is very cool, sort of a "pimp my ride" for the BPEL crowd.
As stated in my previous review of the product, the ActiveBPEL Engine core is an open source product. The designer tool isn't, but it's still freely downloadable from the Active Endpoints Web site.
To get access to the high-end engine features like process versioning and clustering you'll have to license the Enterprise product. The cost of the Enterprise product varies based on the deployment platform and ranges from a low-end Tomcat-enabled version to a J2EE-enabled version that can run on a mainframe.
Active Endpoints, Inc. offers a few support options. First, for open source users, forum- and mailing list-based support is provided. There's also a premium support forum for users with a valid product serial number. For enterprises with higher support demands, incident-based support can be purchased.
Active Endpoints, Inc. continues to stay out in front of the BPEL standard with thoughtful features for support of WS-BPEL 2.0 migration. The BPEL design tool and execution engine continue to be freely downloadable and well documented with good community support. Teams looking to move toward the WS-BPEL 2.0 standard should consider Active Endpoints' 3.0 version.
Active Endpoints, Inc.
Three Enterprise Drive
Shelton, CT 06484
ActiveBPEL Designer: Free
ActiveBPEL Engine (Open Source): Free
ActiveBPEL Enterprise: $7.5k - $30k per CPU based on deployment platform
OS: Windows XP Professional (Service Pack 2)
Hardware: Intel Pentium M Processor with
2GHz - 1GB RAM