Showing posts with label bpel best practices. Show all posts
Showing posts with label bpel best practices. Show all posts

Thursday, January 26, 2012

Points to get down before start up of Technical Design

Hi Friends,
This post is for the guys who use to work on TD's and sometimes due to stringent time lines miss some points for TD start-up.
Below are some of the points we need to keep in mind for TD start-up.

  • Complete Understanding of Functionality of the Use Case
  • Security Requirements
  • Type of Parameters used for input and output
  • Little or basic understanding of the end legacy systems
  • Technologies to be used and the decision over that based on its best practices
  • Schema files and web services used.
  • End System Requirements
Please guide me to add some more points, if I have missed anything.

Thanks,
Ankit Chhabra

Sunday, July 31, 2011

Valuable Suggestion from my friend George Evanios on Performance of BPEL Process

For my previous post "Best Practices to Improve Performance of BPEL Process", I got some valuable comments from my friend "George Evanios".

We can also increase the performance of a BPEL Process and effeciency by creating Test Suites and BPEL Test Cases. By this we do not have to deploy and check and we can go through all happy cases as well as error cases to see if the flow breaks or not. Initially it becomes tedious to have sample xml's but later on it is very easy when you have change something and want to test it.

Please refer to the below link for creating BPEL Test Suites and Test Cases.

Thanks to all my friends and readers of the blog for their comments and suggestions, please continue to provide me your suggestions or comments inline in the posts.

Greetings,
Ankit Chhabra

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"

Sunday, August 9, 2009

Building Test Suites in a BPEL Process

Test Suites and Test Cases are used for Automated Unit Testing of a BPEL Process whenever there is any modification in the process or the Work flow activity. They operate on the invoke activities falling in between a flow of a test case (The transition or flow which we are testing).
Below are some steps for creating Manual and Automated Test Suites/Cases using JDeveloper as an IDE for BPEL Process


Steps for Creating Test Suite: -

  1. Got to BPEL Process in JDeveloper.
  2. Right Click on Test Suites, and Click "Create Test Suite"
  3. Enter Name and Click OK

Steps for Creating Test Case: -

Automated Test Case: -

  1. Right click on the above created Test Suite and the Create BPEL Test Case
  2. Go To BPEL Console, and then to the instance of the tested BPEL Process
  3. Click "Test", and then get the Tested XML. Save it as baseline XML in "include" folder of Created Test Suite folder in Physical Location
  4. Now, go to created BPEL Test Case and Click on the icon for import baseline XML
  5. Now, Add the above saved xml (step-3)
  6. Right Click on the last Invoke/Reply activity and Add Assertion to the Invoke activity, so as to get the status of success and failure of the activity.
  7. Save the Test Case and Deploy it to the Server.
Manual Test Cases: -

  1. Right click on the above created Test Suite and the Create BPEL Test Case
  2. Go To BPEL Console, and then to the instance of the tested BPEL Process
  3. Get the Output of all the invoke activities occurring in the flow and save it as ".xml" to the message folder of physical location of BPEL Test Case.
  4. Repeat Step#3 for the Receive activity of the tested instance of BPEL Process (Save input message of Recieve activity)
  5. Now, go to created BPEL Test Case and right click on the recieve activity to enter the message manually and select the saved message.
  6. Now, Repeat Step-5 for all the invoke activities occurring in the flow
  7. Right Click on the last Invoke/Reply activity and Add Assertion to the Invoke activity, so as to get the status of success and failure of the activity.
  8. Save the Test Case and Deploy it to the Server
The above steps will create the test cases, and we can execute these by going to the BPEL Process in BPEL Console and the clicking on Test Suite.

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...