Monday, May 11, 2009

ODI BPEL Integration

ODI exposes scenarios as webservices, which can be consumed in BPEL.


1.Configure AXIS2 follow the steps in documentation $ORACLE_HOME/doc/webhelp/en/setup/install_snpsws.htm


Make sure you use the Axis2 1.2 version and the administrator username is admin, with a password of axis2.


The test URL is:http://yoursever:port/axis2/axis2-web/HappyAxis.jsp


2.In you BPEL process create a Partner Link to point to http://yourserver:port/axis2/services/OdiInvoke?wsdl


3.Create an Invoke node and select the partner link created in above step.


4.Select the operation to be invokeScenario and create the input and output variables for the invoke.


5.Assign the values to the input variables defined above, to reflect the connection to the repository you have defined your scenario in:


oracle.jdbc.driver.OracleDriver to RepositoryConnection->JdbcDriver

jdbc:oracle:thin:@yourhost:1521:SID to RepositoryConnection->JdbcUrl

Odi to RepositoryConnection->JdbcUser

Odi to RepositoryConnection->JdbcPassword

SUPERVISOR to RepositoryConnection->OdiUser

SUNOPSIS to RepositoryConnection->OdiPassword

DEVELOPMENT to RepositoryConnection->WorkRepository


6.Assign the values to the input variables defined above, to reflect the command to execute:




SCENARIONAME to Command->ScenName

001 to Command ->ScenVersion

GLOBAL to Command ->Context

5 – defaults to 5 if not set to Command ->LogLevel

1 – defaults to 1 if not set to Command ->SyncMode

AsynchronousBPEL Process to Command->SessionName

Not Required to Command->Keywords

Name value pairs, if variables is in use to Command->Variables


7.Assign the values to the input variables defined above, to reflect the agent to execute the command on:


Yourhost to Agent->Host

20910 to Agent ->Port


8.After the invocation of the ODI partner link, the output variable will contain the status in CommandResultType structure: Ok (boolean), the created SessionNumber and the ErrorMessage (if any).


9.If the SyncMode was specified as asynchronous, the status of the process can be queried using the invokeSession operation on the partner link. The status returned is the same as in 8 above.

No comments:

Post a Comment