Thursday, September 27, 2007

New to SOA?? : Useful Links

Some of the interesting links on SOA which is taken from Marc Kelderman blog are mentioned below. These links will be helpful for those who are planning to start and for those also who are still learning.
To start with Oracle SOA here are some of useful links:

Webservice standards :-
BPEL
WS-Addressing
WSDL
SOAP
XPath
XQuery
XSLT
XPath
WSIF

Oracle SOA Suite software :-
The Oracle SOA Suite
Oracle JDeveloper

Oracle SOA Suite general :-
Oracle Fusion Middleware (functional)
Oracle Fusion Middleware (technical)
Oracle SOA Suite
BPEL
ESB
Business Rules
Business Activity Monitor
Business Process Analysis

Installation :-
Installation Guide
ESB Performance patch
SOA/BPEL patches
General (Metalink -> Patches -> Advanced -> Product (SOA)BPEL)

Documentation :-
The Administration Guide
The BPEL Developers Guide
The ESB Developers Guide
The Adapters Guide
The Workflow Guide
Business Rules User Guide
Business Rules Reference
General oracle documentation
BPEL Correlation

Tutorials :-
SOA Quick start guide
SOA Tutorial (ESB/BPEL/Rules/Workflow)

Performance :-
BPEL Tuning
Tuning in a nutshell
SOA Monitor performance

API :-
BPEL Process Manager
Worflow API
Business Rules

Oracle Forum :-
Oracle SOA
Oracle BPEL

Oracle Blogs :-
My Own blog
Matt Wright'Blog
Antony Reynolds Blog
http://clemensblog.blogspot.com/
AMIS SOA blog
IT-Eye SOA

Oracle General :-
Oracle Technical Network (OTN)
Oracle Metalink (Support)

BPEL : ORABPEL-05002

Question: Error ORABPEL-05002 in domain log??

Failed to handle dispatch message ... exception ORABPEL-05002Message handle error.An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage";the exception is: Transaction was rolled back: timed out;nested exception is: java.rmi.RemoteException:No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is: java.lang.Exception: No Exception - originate from:

Answer: The root cause of this problem is poor performance of the dehydration store database. If you are using Oracle Lite as dehydration store, switch to use Oracle 9i or 10g.( Better use 10g above version 10.2.0.1)

Following set ups you need to perform for overcoming such problem:

1. Increase the maxConnection number of the BPELServerDataSource. OC4J has too few available connections to the dehydration database.
Location: /j2ee/home/config/data-sources.xml

2. Size of message is too big. Two ways to deal with this problem:

a. Increase the transaction timeout
Location :/j2ee/home/config/server.xml

b. Decrease the auditLevel from BPELConsole. It will reduce the amount of data saved to the dehydration store.
Location: BPEL Console -> Manage BPEL Domain -> Configurations tab.

BPEL : How to read a file in middle of a process?

Question: How to read a file in middle of a BPEL process?

Answer: Following are the ways to read a file in mid of a BPEL process:

1. Using File Adapter: Avoid using the file adapter to read a file. The read file adapter is used to trigger the BPEL process in most cases. So in this scenario, the file adapter is not a good choice. Also it needs to use correlation sets to read files in the middle of a process.

2. Using Embedded Java code: It can solve the problem but it is not recommended and also it is hard to maintain.

3. Using built-in XPath function: The good way to read a file in the middle of a BPEL process is to use the built-in XPath function --> ora:readfile.

Example:

1. Drag an Assign activity in the swim lane at proper place

2. Create an Assign rule using the ora:readfile("file location", "xml schema path") XPath function

3. Assign the result to a variable.