As per my day today activities I had discovered some best practices which can be implemented while developing a BPEL, ESB or SOA services. Below are some of the key points.
- Use of preference variables or deployment descriptors in-spite of hard coding while assigning values.
- Using ws-addressing schema in Dynamic Partner link while mapping values for header schema or while mapping the URL.
- Create and copy the commonly used xsl, xsd, wsdl, config xml and other files in a server folder which can be accessed using http call. i.e. create the transformation file and copy it under the location "$ORACLE_HOME/bpel/system/xsd" and access it using "http://<<host:port>>/orabpel/xsd/<<name of file>>"
- Designing Integration flow, as all the adapters and routings should come under ESB part and the Implementation logic under the BPEL, so that we can access the adapters and other routings as a web service and whenever an exception is encountered under ESB our BPEL logic would not be impacted. This will also help in system performance.
- For improving performance of our BPEL/ESB service:-
- Use assign along with "ora:processXSL" API in place of transform activity or go to source of BPEL code and delete the annotation part under transformation.
- Implementing conditions as "<xsl:value-of select="<<element node>>[condition]/<<element node>>"/>" rather than using if condition
- Rare use of for-each and use "for-each group" in place of "for-each", with "version=2.0"
Create and copy the commonly used xsl, xsd, wsdl, config xml and other files in a server folder which can be accessed using http call. i.e. create the transformation file and copy it under the location "$ORACLE_HOME/bpel/system/xsd" and access it using "http://<>/orabpel/xsd/<>"
ReplyDeletemay i know why???
Hi Brijendra,
ReplyDeleteIts for reusability of schema files and when ever you need to modify the schemas you do not need to modify your code and got it redeployed, it would be a kind of config change...
Hope it will clear your query...
Thanks,
Ankit
ReplyDeleteReally good information to show through this blog. I really appreciate you for all the valuable information that you are providing us through your blog.Oracle R12 Financials Training in Ameerpet