Oracle sows the seeds for SOA
Enriched suite yields a crop of enhancements
I would like to see more non tech-driven interface development tools, such as those available in BEA's AquaLogic User Interaction suite, and more of the distributed process debugging, dependency mapping, and integrated WS-standards found in Sonic SOA Suite. But, unlike Sonic, Oracle standardizes on the open BPEL (with minor extension) for orchestration, which I prefer.
I found Oracle SOA Suite, hands down, the most comprehensive and easy to use product on the market today for effectively developing and securing most services-based architectures.
Oracle SOA Suite culminates strategic merger-and-acquisition execution into a well-integrated product that is at once effective, usable, and highly extensible, making it a sure shot at reducing initial integration costs and benefiting management of your SOA infrastructure going forward.
Peeling back the skin
Oracle has accomplished quite a feat by streamlining installation for most of the suite. SOA Suite sets up its components and application server from a single click, with only minor configuration required. The BAM module required separate installation to a Windows machine running IIS and .Net 1.1. But here, too, there was nothing beyond anticipated configuration parameters and initial setup of the administrative Message Center for outbound communications. In all, a well-architected process.
To manage the native BPEL engine, BPEL PM uses the browser-based Enterprise Manager interface for administering in-flight flows and drilling into stuck processes and audit trails. I liked the ready heads-up listings of deployed processes, visual status cues, and the chance to graphically examine status and review XML payloads. There are also good sort-and-filter mechanisms to isolate active instances.
For me, the interface breaks down when navigating process flow diagrams. The process becomes cumbersome due to the inability to zoom in and out, and due to the absence of high-level thumbnail views to quickly jump to parts of a diagram.
However, individual subsections could be collapsed to make them more readable. The result was a clear, graphical, real-time rendering of the status on any instance. I could check sensor values and ownership of a process (say, in stuck workflow-related items) as well as drill into the decision-making logic that brought an instance to its current point. I could also launch directly into the rules interface for updates.
For development you'll want to take advantage of the BPEL PM Process Designer plug-in for JDeveloper. Despite some minor nits in the interface and lacking simulation, its drag-and-drop process activities and easy configuration wizardry made quick work of flow construction. And, XSLT transforms were easy to map, as well. Zoomable diagrams and swim lanes for easy delineation of process ownership further simplified development and debugging.
The BPEL engine supports parallel flow branching, compensation, and dehydration of long-running processes. It also carries excellent provisions for integrating users, groups, and roles with human tasks and alerts -- via e-mail and SMS, for example -- as well as for instrumenting BAM and feedback sensors into the pipeline. Vacation and delegation rules are also a good addition to this release.