Wednesday, March 30, 2011

BAM data objects import/export

BAM comes with iCommand for admin purpose. iCommand is in $MW_HOME/ORACLE_SOA/bam/bin folder.

Follow these steps to export:
1) edit config/BAMICommandConfig.xml file. change ADCServerName and port number, where BAM server is running
2) create export.xml

<?xml version="1.0" encoding="utf-8"?>
<OracleBAMCommands continueonerror="1">
<!-- to export data-object "myDO" -->
<Export name="/operations/myProject/myDO" file="myDataObject.xml" contents="0" />
<!-- to export data-object "myDO_1" -->
<Export name="/operations/myProject/myDO_1" file="myDataObject1.xml" contents="0" />
<!-- export all reports -->
<Export type="report" all="1" file="AllReports.xml" />
<!-- export specific report -->
<Export type="report" name="/public/shared/myReport" file="myReport.xml" />
</OracleBAMCommands>

3) execute iCommand as follow

> icommand -cmdfile export.xml

Follow these steps for import
1) edit config/BAMICommandConfig.xml file. change ADCServerName and port number, where BAM server on which configuration needs to be imported.
2) execute following commands to import previously created xml files:
>icommand -cmd import -mode update -file myDataObject.xml
>icommand -cmd import -mode update -file myDataObject_1.xml
>icommand -cmd import -mode overwrite -file myReport.xml

Applies to: Oracle BAM 11.1.1.4.0
Reference: http://download.oracle.com/docs/cd/E12839_01/integration.1111/e10224/bam_app_icommand.htm

Monday, March 28, 2011

Java embedding in BPEL 2.0

According to BPEL 2.0 specifications, java embedding is not available as standard activity. Though BPEL 2.0 allows to define and use non-standard activity using <extensionActivity> element. So you will find following syntax changes from BPEL 1.1.

In Oracle SOA suite, <bpelx:exec> element appears inside <extensionactivity> element.

Also, the java import has different syntax as below:
<import importtype="http://schemas.oracle.com/bpel/extension/java" location="class/package name"></import>

Here is an example:
<process name="myTest" targetNamespace="http://test.oracle.com/bpel2.0/myTest">
. . .
. . .
<import location="java.util.Date"
importType="http://schemas.oracle.com/bpel/extension/java"/>
. . .
<sequence>
. . .
<extensionActivity>
<bpelx:exec language="java">
System.out.println("Current time is: "+ new Date());
</bpelx:exec>
</extensionActivity>