Showing posts with label SOA. Show all posts
Showing posts with label SOA. Show all posts

Monday, August 2, 2010

Installing Oracle SOA Suite 11g PS2 on Linux

Prerequisites

Note: If any of the above links are broken, just google and you will find the appropriate link.

Installation
1. Setup the Database
Use this link to install and configure Oracle XE on your machine. Then connect as SYS and run the following commands.
     alter system set processes=200 scope=spfile
     alter system set sessions=200 scope=spfile
Restart the DB

2. Repository Creation
1. Unzip the downloaded RCU zip file. 
2. Run ./rcu under RCU_HOME/bin directory
3. Follow the wizard and provide the DB details
4. In the Select Components Screen, select SOA and BPM Infrastructure and click next
5. In the Schema Password Screen, select Use same password for all schemas and provide a password
6. Select the defaults in the next screens and finish.

3. Install Weblogic Server
1. chmod +x the downloaded Weblogic Server bin file
2. Run the bin file
3. In the wizard, provide a mw_home for the server to be installed and the complete the installation with the defaults in the other screens.

4. SOA Suite 11.1.1.2
1. Unzip the appropriate zip file and run ./runInstaller. When prompted provide a JRE home.
2. Specify the mw_home where the server was previously installed.
3. Make sure the Oracle Home Directory is inside the mw_home
4. Finish the installation

5. SOA Suite 11.1.1.3 Patch
1. Unzip the appropriate zip file and run ./runInstaller. When prompted provide a JRE home.
2. Select the same Oracle Middleware Home and Oracle Home Directory as specified previously.
3. Finish the installation

6. Configure SOA Suite and Create Weblogic Domain
1. Navigate to SOA_ORACLE_HOME/common/bin and run ./config.sh
2. Select Create a New Weblogic Domain
3. In the Domain Source Screen, select Generate a domain configured automatically to support the following products, then select Oracle SOA Suite, Oracle Enterprise Manager, Oracle WSM Policy Manager, Oracle JRF WebServices Asynchronous services, Oracle JRF and Weblogic Advanced Web Services Extension.
4. In the next screen, provide a domain name and location and click next.
5. Provide the admin credentials to be set and click next.
6. Select the desired JDK  and click next.
7. In the Configure JDBC Component Schema Screen, provide the correct values for the DB Connections.
8. Complete the installation with the defaults.

Thursday, July 29, 2010

Oracle SOA 11g Human Task Query Service

In Oracle SOA Suite 11g, a set of APIs are provided to query and act upon the Human Tasks programmatically. A sample code is provided in ITaskQueryService javadoc. In future if the link is broken just google for ITaskQueryService and most probably the first link would be the latest javadoc.

Wednesday, July 30, 2008

SOA: Content Based Router Using Mediator

The Content-Based Router examines the message content and routes the message onto a different channel based on data contained in the message. The routing can be based on a number of criteria such as existence of fields, specific field values etc. When implementing a Content-Based Router, special caution should be taken to make the routing function easy to maintain as the router can become a point of frequent maintenance. In more sophisticated integration scenarios, the Content-Based Router can take on the form of a configurable rules engine that computes the destination channel based on a set of configurable rules.

More information on Content Based Router(CBR) can be found here.

The CBR can be implemented either using a Mediator or a BPEL process. Mediator approach would be recommended as it is a light weight component and uses the SOAComposite's runtime unlike BPEL which starts its own runtime. So unless the functionality can't be achieved using a mediator do not go for a BPEL process.

This post explains the implementation of CBR using a Mediator. Will put a separate post on the BPEL implementation later.

Use-case prototyped:
Based on the location where the employee joins the corresponding OnboardingProcess has to be initiated. Say if the employee's location is US then USOnboarding BPEL process has to be initated. If location is US then USOnboardingProcess.

Implementation:

The Employee.xsd schema file is as follows:
In the composite.xml, drag and drop a mediator component.

Select EmpPayload as the input and check the Create Composite Service with SOAP Bindings option. Only when this is enabled you can initiate the mediator component for a SOAP endpoint. Select One-way Interface to make the implementation simple.

Create two BPEL process, one for the US Onboarding and the other for the UK. Link the BPEL processes to the mediator.

Double click and open the CBRouter mediator component.


Set the Filter condition for each of the routing rules by clicking the funnel icon.



















In the expression builder, expand the payload node in the variables section and double click on 'Location'. This is populate the corresponding expression. Then complete the expression by adding ='US' or something appropriate. Then press OK. Repeat the same for the other routing. Now when the mediator is invoked, it will first inspect the payload and evaluate the filter condition. If satisfied, it will route else it will skip.

When you run this Composite with the Location field of the Payload set to US, then the first routing rule in the mediator will be executed resulting in the invocation of the USOnboarding BPEL Process.

You can download the sample application from here.

Please post your queries in the comments section.

Sunday, July 27, 2008

EAI Patters in Oracle SOA 11g

Bogi and me are planning to implement some of the EAI Patterns in Oracle SOA Suite 11g. We will be using Oracle Jdeveloper 11g Technology Preview 4 to develop the samples and the SOA configured integrated OC4J server to test the same.

We will be starting with the Message Routing patterns. Bogi has already started working on the Message Filter pattern and he would be writing a post very shortly. I am planning to work on the Content-Based router. Currently I am facing some problem setting up the integrated SOA server on my Leopard OS. Once I am through with that I will also write a post on how to make the SOA server work on a Mac for the Mac users out there. BFN!