Sunday, July 28, 2013

How to use adapters in SOA cluster

File and FTP Adapters in BPEL Cluster
 
The following has to be done to enable inbound singleton adapters in BPEL Cluster environment:
  • Modify bpel.xml descriptor file of the BPEL process to include the following:
<activationAgent
...
<property name="clusterGroupId">adapterCluster</property>
</activationAgent>
  • Remember to use unique cluster names for adapters that you want to cluster.
    In other words, if you have 5 adapters in 5 processes or so then use 5 distinct names for clusterGroupId.

  • Use Metalink Doc ID 730515.1 for references

  • If you have a large BPEL process that is critical from performance perspective and therefore has to be run on more than one node, consider splitting it into two processes where the inbound adapter activation part would be in active-passive mode and would call the main process that would be run in active-active mode on all nodes.
 
File and FTP Adapters in ESB Cluster
[Not applicable as we are not using Adapters in ESB]
 
The following has to be done to enable inbound singleton adapters in BPEL Cluster Environment:
  • Modify .esbsvc file for the respective adapter to include the following:
<service name="myserviceX" ...>
  ...   <endpointProperties>
<property name="clusterGroupId" value="adapterCluster"/>
  </endpointProperties>
</service>
  • Remember to use unique cluster names

  • Use Metalink Doc ID 746108.1 for references
 
 
File Adapter share setting
[We are accessing everything from /gemdata/<<service folders>>. All the folders are mentioned in the excel sheet we sent]
The following has to be done to create File Adapter share setting:
  • Modify the following row in $ORACLE_HOME/bpel/system/services/config/pc.properties file on both servers:
oracle.tip.adapter.file.controldirpath=/you_share_mount
  • Copy modified file to the following directory:
$ORACLE_HOME/integration/esb/config/pc.properties
  • Use Metalink Doc ID 799706.1 for references
Use Distributed polling strategy for inbound DbAdapters
[Not applicable as we are not using Polling functionality of DBAdapter]
You have to set the option for dbadapters to work in a distributed environment by making the polling query to acquire locks.
  • To enable pessimistic locking, run through the wizard once to create an inbound polling query. In the Applications Navigator window, expand Application Sources, then TopLink, and click TopLink Mappings. In the Structure window, click the table name. In Diagram View, click the following tabs: TopLink Mappings, Queries, Named Queries, Options; then the Advanced… button, and then Pessimistic Locking and Acquire Locks.
  • Use Oracle® Application Server Adapters for Files, FTP, Databases, and Enterprise Messaging (B28994-02), section 4.5.6.10 for references
 
Custom Activation agents considerations
[Not applicable as we are not using Custom Activation Agents]
 
If you use custom BPEL activation agents similar to com.oracle.bpel.activation.SimpleActivationAgent defined in the bpel.xml descriptor as:
<activationAgent
className="com.oracle.bpel.activation.SimpleActivationAgent"
heartBeatInterval="3">
, you would have to consider using alternate ways of BPEL process activation.
These types of agents are not clusterable. Alternatively, you can use DbAdapters together with using of Oracle database functionality