Oracle sows the seeds for SOA

Enriched suite yields a crop of enhancements

An SOA (service oriented architecture) has the appealing allure for reducing costs and improving your company's agility. But, before digging up your existing IT roots, you'll need assurances there's a fortified and fertile ecosystem waiting to support you in those supposedly greener pastures.

[ See also: InfoWorld Technology of the Year Awards Application and Middleware winners ]

What's exciting about the new Oracle SOA Suite 10g Release 3 is the comprehensive scope and breadth of its well-integrated component set that's geared to provide just such an environment.

SOA Suite packs an Oracle ESB (Enterprise Service Bus) for message routing, enrichment, and transformation with good adapters available for plugging into most any existing transport or ERP system in use. And, the Oracle BPEL Process Manager provides an orchestration engine based on native BPEL (Business Process Execution Language) with tools to easily string together complex business flows, human workflow, and exception management.

Topping the stack are the OWSM (Oracle Web Services Manager) -- locking down services with sturdy security and policy management -- and an easy-to-use rules facility, Oracle Business Rules Engine, for processing business logic and authoring customizable rule sets.

Oracle further enriches the suite with its Oracle BAM (Business Activity Monitoring) application, showing good analytics, proactive monitoring, and insight into process optimization with strong dashboard drill-down features.

At the start, I was somewhat apprehensive of the comprehensiveness of the suite: The sheer number of components conjured nightmares from days of monolithic vendor lock-in.

Click for larger view.

But, fear not. Although Oracle SOA Suite does run Oracle's application server, a number of additional app servers are gearing up for certification. And, the BAM, OWSM, and BPEL PM apps can all be used to manage third-party infrastructure, as well. Oracle includes Oracle JDeveloper for its IDE, but Eclipse will also do the job nicely.

There remains some room for improvement, certainly. The BAM module is currently Windows-only, and globalization/localization across the platform needs improvement. The BPEL Designer for orchestrating services, though great for developers, lacks analyst appeal and would be enhanced by efforts to round out autonomous access for the business-focused. And, the multiple Enterprise Manager interfaces required to administer the suite belies an otherwise well-integrated composition.

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.

I liked Oracle Business Rules for governance over procedures and policies. In addition to its Java-based rules engine, the component provides an authoring tool that guided me in defining my data models (i.e., business data definitions based on XML, Java, or the Oracle Business Rules Language and their requisite variables and functions). For most rule development use cases, advanced use of the Oracle Rule Language will be required, and for that, I would prefer to see a more intuitive interface that analysts, rather than developers, would find palatable.

However, the easy drop-down selection boxes made rules definition a fairly easy if/then proposition. And, the included validation tool helped error-checking efforts.

Reaping the bounty
Adding Business Activity Monitoring to the suite really helps SOA Suite reach an essential level of closed-loop processing essential in monitoring key performance indicators and automating conflict resolution.

The BAM component is a separate installation -- consisting of an event engine, report server, data-caching mechanisms, and Enterprise Link MSMQ service -- that culminates in a real-time monitoring and alerting system for getting services metrics into the hands of decision makers.

Moreover, after developers model the initial data sources, the separate Active Studio toolkit allows an average report jockey easy point-and-click construction of personalized dashboards. The resulting drill-down to underlying datasets is good, and sensor alerts can be funneled back into the process pipeline to automate many recovery efforts.

I liked Oracle Web Services Manager. OWSM showed the fortitude and resources for administering policy definitions, authentication, and encryption, as well as monitoring security, performance, and services utilization across my various applications. And, its ability to govern third-party platforms only adds to the value.

OWSM implements gateway security on inbound communications -- virtualizing services end points -- as well as between client/server/object messages to broker security and audit control. I would like to see Oracle add context-based routing to the mix to enhance the current content-based offering, and improved response detail. However, the package is rounded out with a good number of predefined policies to jump-start development. Defining roles and groups for delegation was a snap.

The OWSM interface is perhaps the most advanced of the stack for operational management and policy administration, offering statistical dashboards on my services, customizable views and alerts, and tools to test services heath. In all, this proved an excellent effort.

Room to grow
Areas for refinement remain. The ESB component provided a sturdy bus for synch/asynch routing, filtering (XPath), and transforming payloads (content- and header-based routing is available here). However, I would have liked to be able to register projects to the server from outside the JDeveloper environment more easily. Further, better drill-down into filters and transforms from inside the graphical interface will be good future additions.

There are a number of tutorials, although actual help facilities were somewhat lacking. Forms services are not included in this release of Oracle AS so you'll need to run an earlier version separately. And, a good deal of elbow grease will be expended bridging workflow interfaces, although Oracle's ADF (application development framework) will help streamline design-time requirements.

My experience with the Oracle SOA Suite revealed a top-notch toolset well-culled from a variety of sources without much sacrifice to aptitude or usability. When it comes to message routing and services orchestration, Oracle SOA Suite meets or exceeds most needs for governance, security, insight, and optimization at a price that's hard to beat.

InfoWorld Scorecard
Interoperability (30.0%)
Scalability (15.0%)
Management (15.0%)
Value (10.0%)
Features (20.0%)
Security (10.0%)
Overall Score (100%)
Oracle SOA Suite 10g Release 3 9.0 8.0 8.0 9.0 9.0 9.0 8.7