Monday, March 30, 2009
Hello World in BPEL PM
References to product documentation (BPEL PM Developers Guide):
1. Read Introduction to BPEL in the BPEL PM Developers Guide
2. Read Getting Started with BPEL Process Manager
3. Read Manipulating XML Data in BPEL
For extra credit:
Relate what you see in the Synchronous Interaction design pattern and Asynchronous Interaction design pattern to what you saw in the Hello World BPEL PM process (it is the service side BPEL PM process).
Learn BPEL Process Manager hands-on!
What do you need?
Hardware
CPU: Pentium 4 @ 1Ghz minimum
OS: Windows 2003 (with latest service pack) or Windows XP (with service pack 1a or greater)
Ram: 2Gb recommended - 1.5 GB Ram minimum or 2GB if JDeveloper is on the same machine
HDD: 3 GB of available disk space required prior to install of software
It is strongly recommended that you use a mouse. Using a "normal" mouse will be much easier than using the built-in mouse on your laptop.
Swap Space: 1536 MB minimum
Monitor: Configured to display at least 256 colors
Software
Internet Explorer 6.0 (note Internet Explorer 7.0 will not work with the tutorial - more recent versions of SOA Suite support the browser) .If you have IE7 on the same machine, please uninstall IE7 prior to installing SOA Suite – this will make the installation go smoothly. I have heard reports that IE7 caused installation problems.
You need Oracle JDeveloper Studio, SOA Suite and an Oracle XE Database
Before you start - a couple of pointers
Note: This install procedure will get you to use Oracle SOA Suite 10.1.3.1. For production deployments and for formal development it is recommended to use Oracle SOA Suite 10.1.3.3.1 with JDeveloper 10.1.3.3. From a tutorial point of view, you can just go with the instructions as outlined here and later when you get on a real project apply the 10.1.3.3 and 10.1.3.3.1 patches for Oracle SOA Suite and download JDeveloper 10.1.3.3.
Note: If you have any virus checker please DISABLE it prior to installing the software. For example, I have heard of issues with AVG Anti virus software causing installation issues. When the virus software was disabled prior to installation, everything worked smoothly.
Note: this tutorial walks you through BPEL PM on Oracle OC4J Application Server. There is very little difference between doing BPEL PM on OC4J versus Weblogic - the only differences in the areas of adapter configuration, start/stop etc.
Note: If you have an installation of a previous version of Oracle BPEL Process Manager Developer install (BPEL PM 10.1.2.0.2, BPEL PM 10.1.2.0.0) save the following files in a safe location (say on your desktop) for future use
C:\windows\odbc.ini
C:\windows\odbcinst.ini
C:\windows\polite.ini
Also make note of your ORACLE_HOME environment variable settings.
This installation of Oracle SOA Suite procedure will override these files and env setting.
You need JDeveloper to install certain parts of the SOA Order Booking application and use the design-time environment. Because the version of Oracle SOA Suite is 10.1.3.1.0, you need the corresponding version of Jdeveloper (i.e. Jdeveloper 10.1.3.2.0 or 10.1.3.1.0).
For this quick start, you need JDeveloper 10.1.3.2.0 or 10.1.3.1.0 Studio edition. If you already have it installed, then skip to step “Install Oracle SOA Suite 10.1.3.1.0”. Before you do, ensure you have 10.1.3.1.0 (not to be confused with 10.1.3.0.0) and that it is the Studio edition, not the J2EE or Java edition. You can verify these details in JDeveloper from the Help > About menu option.
You can download JDeveloper Studio from:http://www.oracle.com/technology/products/jdev/index.html
File name: jdevstudio10132.zip (508 Mb) – PREFERRED or jdevstudio10131.zip (430 Mb) Unzip Oracle Jdeveloper into a location on your machine.
Do not install Jdeveloper into a directory path that includes a space (eg C:\Program Files\Jdev). If you do, you receive an error when you compile BPEL Processes.
Start Jdeveloper by clicking Jdev_oracle_home\Jdev\bin\jdev.exe or creating a shortcut. Note: If you have an older install of JDeveloper do not try to install the new version on top of it. On a given machine you can have more than one install of JDeveloper
Install Oracle SOA Suite 10.1.3.1.0
If you already have Oracle SOA Suite 10.1.3.1.0 installed, then skip this step. Please make sure you use the defaults as noted below for the class tutorial.
The tutorial assumes the following:
- The AS Instance Name is soademo.
- The AS Administrator Password is welcome1.
- The default port is 8888.
To download Oracle SOA Suite 10.1.3.1.0:
From the following page, select the Download and install Oracle SOA Suite 10.1.3.1 link:http://www.oracle.com/technology/soa You will use the download titled Windows x86 (570 MB)The file name is soa_windows_x86_101310_disk1.zip
On the download page, select Oracle SOA Suite 10.1.3.1.
http://www.oracle.com/technology/software/products/ias/htdocs/101310.html
When you install Oracle SOA Suite, ensure you do the following:
· Select Basic Install.
· Set the AS Instance Name to soademo.
· Set the AS Administrator Password to welcome1.
· Install into the default directory structure – you will end up with files in C:\product\10.1.3.1\*
The Oracle SOA Suite installation sets the ORACLE_HOME environment variable for your computer. In some cases, this setting can cause a conflict with the Oracle Database. Specifically you may get errors from your Oracle Net Listener. If this is the case, then reset the ORACLE_HOME environment variable to your database location. On Windows, you may need to restart your PC.
Start at the Middle - with Oracle BPEL Process Manager
•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.