Monday, March 30, 2009

Start at the Middle - with Oracle BPEL Process Manager



This is a picture that shows all the key Oracle SOA, Process Management and Event technologies. How do you go about learning all these different components? I would suggest that BPEL Process Manager - the cornerstone of Oracle SOA - is the right place to start. This is the most mature product of the Oracle SOA stack and traces its origins to an aquisition by Oracle in 2004 of Collaxa. In fact, when you look under the covers at some of the source code - they still refer to collaxa libraries - that never does change does it?!


Let us briefly review the technologies on this slide:


•First, Oracle SOA builds on top of messaging and J2EE infrastructure. Oracle remains committed to a ‘hot pluggable’ strategy running on top of multiple application servers, including WebSphere and JBoss as well as both the Oracle and WebLogic app-servers today. Likewise, you can plug in your favorite messaging infrastructure, such as MQ Series or TIBCO, or use Oracle's Oracle AQ or JMS implementations (Oracle now has WebLogic JMS in its arsenal). In addition, you will see Oracle leverage the Coherence and JRockit components within the core platform, offering high performance Java/J2EE distributed caching and high performance, low latency JVM with deterministic garbage collection for guaranteed response times for Java apps. This is going to be really cool.

•The next layer is connectivity where Oracle has a broad set of adapters. Broadly we classify these into technology, mainframe, application adapters and then adapters provided by third party partners. All these adapters are used by BPEL PM as needed - the most commonly used are Database adapters, JMS/AQ Adapters, Ebusiness Suite adapters. For partner connectivity, you would use the Oracle B2B product, supporting partner protocols such as EDI, AS2, RosettaNet and vertical-specific adapters such as HL7, etc. Typically, you would see BPEL PM being used for orchestration within the enterprise applications - and it interacts with partners through the B2B component.

•For message and data integration, the Oracle Service Bus is the re-branded Aqualogic Service Bus and provides a leading standalone ESB. For those of you who have heard of Oracle Enterprise Service Bus in SOA 10g, you needn'd be worried by this. The old Oracle Enterprise Service Bus becomes the Mediator component in SOA 11g.

•Oracle BPEL Process Manager is next and it is the strategic product for service orchestration. If you are coming in from a BEA WLI background you will find this to be a very easy product to master as you are familiar with the key concepts around service orchestration.


•On the right hand side are the Governance components - design time governance (Repository, Web Services Manager) and run time governance (Service Registry, Enterprise Manager). You might look for services to orchestrate by browsing the Repository and put in your BPEL-PM based services into the Repository for others to leverage. At run time these might be invoked by a dynamic lookup through a UDDI registry. The BPEL-PM based services might be secured using Oracle web services manager. And you might monitor the uptime and response time of your BPEL PM based services through Enterprise Manager.

•At the top are Oracle BAM which provides Business Activity Monitoring through real-time, business user friendly dashboards and Oracle CEP, the re-branded Web Logic Event Server for doing queries, aggregation and correlation of events across disparate event streams. The way I think about BAM is like looking through the front windshield while driving. BAM dashboards tell you what is happening NOW! Business Intelligence dashboards tell you what happened in the past. In BPEL PM, you add "sensors" to your process flow and you can render data on the process dashboards in real-time within 2-5 seconds of the event occuring. Moreover, from BAM you can instantiate BPEL-PM processes and take action to address the adverse business condition.

• BPA Suite, our OEM relationship with IDS Scheer for their ARIS toolset, offers sophisticated process modeling capabilites and the new BPM Suite (formerly Aqualogic BPM) enables business users or less technical IT staff to participate in the process modeling, design, simulation and monitoring lifecycle. Of course, JDeveloper is the strategic IDE. The BEA components use Eclipse today. You could model your organizational goals, objectives, products and services, functional org structure, data and business process in BPA Suite - then share a common metadata model with IT - so that the developer building the bpel pm process in JDeveloper is working off the same model that the business analyst put together. This is referred to as "round trip" between BPA and JDeveloper. The common metadata model is simply BPEL with annotations format. BPA models are developed in BPMN.
Now that you have an understanding of the different SOA, Process and Event technologies get your hands dirty by working through a tutorial. Enhance your understanding by reading the relevant product documentation!



No comments:

Post a Comment