WSOS tunes up services

Web Service Orchestration Server imposes reliability on the naturally unreliable realm of distributed Web services

WEB SERVICES AIM to reduce the complexity and cost of business processes automation. But using application components distributed beyond the control of any single IT department raises serious reliability concerns. Knowing that CTOs must better orchestrate BPM (business process management) in such environments, Collaxa brings to market WSOS (Web Service Orchestration Server).

WSOS provides mechanisms to control the sequencing and flow of Web services conversations by stitching ad hoc services together with underpinnings of reliability. WSOS establishes reliability by enabling recovery from failure and ensuring the safe completion of a business process by maintaining persistence, even when transactions are extended in time and involve multiple partners.

This Java-based solution has a limited choice of deployment platforms, and it lacks a mature product's amenities such as integrated business modeling tools. But WSOS earned a Consider rating for its strong management of the life cycle of distributed, asynchronous transactions. Also, it doesn't need to use private Web services networks such as those provided by Grand Central Communications and Flamenco Networks. WSOS takes a good first step in alleviating the requirements for integrating distributed business processes via Web services.

The run-time environment core of WSOS is the Orchestration Server, which provides an application server container that coordinates the ebb and flow of services interactions. Deployed to the container is Collaxa's ScenarioBeans, a JSP (JavaServer Pages)-like approach that has most everything a developer needs to model application communications via Web services.

Based on standards such as XML, SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), and BTP (Business Transaction Protocol), ScenarioBeans contain business logic, deployment descriptors, and the elements necessary to make an application available as a Web service, including WSDL files and SOAP listeners. In all, with familiar programming constructs and new features such as hot deployable applications, WSOS offers the underpinnings for substantial time savings during development and deployment.

During setup, we found the installation to be somewhat unpolished and required a degree of preinstallation hand-tooling and modifying requisite components, namely our Oracle database and BEA WebLogic application server -- the only deployment configuration currently supported by the package. Although we would not classify any of the detailing as challenging, the installation process would benefit from a spit and shine.

When WSOS was installed, however, we found minimal challenges that would inhibit seasoned Java developers in getting started with the server. The Scenario class framework's customized tags provide readily recognizable constructs for carrying out tasks such as multiconditional branching, parallel processing, and time-out conditions.

WSOS impressively carried out its duties, including the marshalling and unmarshalling of SOAP transactions and resuming delayed transaction scenarios. Also, with the exception of a single transaction in which we purposely cancelled an active service, it provided a perfect audit trail throughout.

The WSOS transaction model is actually based internally on BTP, but it's not exposed to the developer's advantage in this release. Collaxa indicated its next iteration would better capitalize on this feature.

WSOS lacks an integrated development environment, but this is just as well because your developers will be more productive using the tools with which they are already familiar. It does provide a well-appointed Developer Console that improves, among other things, the debugging process. Using the console, we were able to invoke and examine our ScenarioBeans in action, see the state of current transactions, drill down to active code, and view live XML. We found this an invaluable tool for speeding the debug process.

Several command-line utilities round out the development efforts, including a Bean packager, a WSDL Java skeleton generator, and an XML business document to Java class converter. Although the disconnection of these utilities from the graphical environment was cumbersome, WSOS does integratez7A with Apache's Ant make utility, which helped mediate the exercise.

BPM is not an easy road to travel, however, and the disparity between a business analyst's model and a technologist's understanding of it can incur costly errors and delays. So we were disappointed to find that WSOS does not integrate with modeling tools, such as Visio, and does not provide one of its own, such as that found with Iona's Orbix. On the plus side, WSOS makes including existing EJB (Enterprise JavaBeans) easy. Also, it exposes an API that makes it possible to build interfaces in customized development.

The Developer Console serves as the hub for monitoring vital statistics on running services in real time. We easily traversed the hierarchical view of current transactions, monitored activity and statistics on response time and exceptions, deployed services, and tackled reporting issues.

But for all its capabilities, its limited breadth also hinders its usefulness. Although Collaxa has imminent plans to release support for the open-source Jboss, provisions for any enterprise-class application servers, such as Oracle9i and IBM WebSphere, are not expected until year's end. Also, it uses the RPC (Remote Procedure Call) style of SOAP services, making it incompatible with Microsoft's document style layout. It has no integrated communication support for other XML-based BPM languages on the table, such as WSFL (Web Services Flow Language) or XLANG.

But as it matures, WSOS should prove a reliable framework for building Web services.