Showing posts with label esb. Show all posts
Showing posts with label esb. Show all posts

Thursday, August 4, 2011

Start up with Oracle SOA

I have received some queries from my friends and the BLOG followers to help them for starting up and initiating in learning Oracle SOA, so below are some of the practices which we can do for starting up in Oracle SOA.
  1. The first step should be to learn WSDL, XML, XSL, XSD and basic concepts or service oriented architecture. We can go through www.w3schools.com for that.
  2. After having a clear picture over the above steps, we should be able to understand Oracle BPEL and Oracle SOA. For this below documents would be helpful. 
Please suggest if there are some other useful documents also for starting up.

Greetings,
Ankit

Sunday, July 17, 2011

Key Steps for Designing an Integration Flow

During my analysis and study for designing an Integration flow for creating a BPEL or an ESB service.

Below are some of the key points to be kept in mind for designing a service.

  1. The Service should be re-usable, and is compatible with the business
  2. Performance of a service during its execution matters a lot, so performance should be kept in mind like if there is no complex logic implemented then if it is developed in ESB then it's much better
  3. Use of activities should be like it should achieve best practices.
  4. All the outage scenarios or the outage endpoint of a service should be kept in mind while designing a flow
  5. Use of external adapters or applications only if these are necessary like if we can handle name value pairs in DVM's then why to use an external database..
These are some of the points and are of my thought process only, and will be furnished as per my daily learning process.

Suggestions are welcome.... :)

Monday, February 7, 2011

Oracle SOA Suite Best Practices

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>>"
          Note: - Try avoiding copying the files under Apache location because it might hamper the server performance and in case the server crashes then the file might also get impacted.
  • 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"

Saturday, February 5, 2011

Datasource Creation using ant script


I worked on a POC for Automated Configurations in ant, and struggled in creating multiple datasource and connection pools at a single go. For that I created an XML file containing all configuration settings as attributes and used for multiple tags.
Below is the part of my XML file and ANT targets.
Configuration XML:-

DataSourceName=”TEST_DataSource” User=”user”
Password=”pass” jndiLocation=”jdbc/TEST_DataSource”
JNDIUrl=”jdbc:oracle:thin:@<>:<>:<>”/>


ANT Target: -

description=”Manage the data sources and database connection pools”>
userid=”${admin.user}”
password=”${admin.password}”
name=”${connPool}”
factoryclass=”oracle.jdbc.pool.OracleDataSource”
applicationname=”default”
dbuser=”${conn.user}”
dbpassword=”${conn.pass}”
url=”${conn.jndi}”/>
userid=”${Configuration-Property.Oracle-Config.Admin_User}”
password=”${Configuration-Property.Oracle-Config.Admin_Pass}”
datasourcename=”${dataSrc}”
applicationname=”default”
jndilocation=”${conn.jndi.location}”
connectionpoolname=”${connPool}”/>
path=”/Configuration-Property/CreateDataSource/DatabaseConnectionPool”

B2B Features with OIC

During last couple of months various new features are getting introduced in Oracle Integration Cloud, out of those there is a new feature f...