Friday, March 09, 2012

One liner facts about Fusion Middleware

1. In SOA 11g cluster, if you want to know which node served your request, we can track it down by looking at the table (cube_instance) and column (create_cluster_node_id) in SOA INFRA schema.

2. Partitioning concept was introduced from SOA Suite 11.1.1.3.0 (PS2).

3. Validate incoming paylod in BPEL and Mediator
a. BPEL - Edit the partnerlink, go to properties tab, from the drop down select the validateXML and set it to true, this will set the validation only for this particular composite. To set it globally you need to go BPEL properties by doing right click on SOA Infra from EM Console, then check box for Payload Validation then apply.

b. Mediator - You can achieve payload validation by using XSD or using Schematron.
To use schematron make use the below link.
http://docs.oracle.com/cd/E15523_01/integration.1111/e10224/med_createrr.htm#BGBIHHEG
c. OSB - You can use Validator component to validate the incoming request against the XSD mentioned in validator component.
4. Where to keep the third party .jar files in SOA 10g and SOA 11g to make use inside SOA
In SOA 10g - $OC4J_HOME/j2ee/home/applib directory
In SOA 11g - FUSION_HOME/Oracle_SOA1/soa/modules/oracle.soa.ext_11.1.1/
5. "No Data Found" or "Too Many rows retured" are all valid cases of DBAdapter SOA11g) so the DBAdapter will not thrown any exception, so you have to handle it at Oracle level or at bpel level.
6. One of the best place to look out for XQuery functions with examples and informations is http://www.xqueryfunctions.com/
7. normalize-space() - To remove leading and trailing spaces from the specified string and replaces all number of white spaces with single white space and returns the result.
From Xpath use - fn:normalize-space(string)
Example: normalize-space(' The XML ') Result:'The XML'
functx:trim() - Removes only the leading and trailing spaces from the specified string.
From XQuery use - functx:trim
Example: functx:trim(' The XML ') Result:'The XML'

8. In cluster SOA, you may need to find which node have processed your composite with instance. You can find out by a select query to the cube_instance and the column name is create_cluster_node_id.
select create_cluster_node_id from cube_instance;
9.