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

Friday, July 15, 2011

Transaction Management with external webservices

I hope many of us are aware about the transaction management for database adapters or with databases which we usually do via XA-Transactions. Along with that I have worked on transaction management for rolling back the transactions in file adapters mentioned in my post: -
http://oracle-fusion-helper.blogspot.com/2011/02/transaction-handling-in-fileadapter.html
There are some other ways to perform transaction management with JMS adapters, which we can do via a manual java program to roll back the transactions, and in a similar way we can write a Java application code in a Java embedded activity to perform transaction management with external webservices.

Tuesday, July 12, 2011

Basic Principles for Building SOA

There are some basic principles for building a service oriented architecture, which I have gone through while reading a book - 
" Service-Oriented Architecture: Concepts, Technology, and Design By Thomas Erl"

Below are some of the key points: -
  1. Loose coupling Services maintain a relationship that minimizes dependencies and only requires that they retain an awareness of each other.
  2. Service contract Services adhere to a communications agreement, as defined collectively by one or more service descriptions and related documents.
  3. Autonomy Services have control over the logic they encapsulate.
  4. Abstraction Beyond what is described in the service contract, services hide logic from the outside world.
  5. Reusability Logic is divided into services with the intention of promoting reuse.
  6. Composability Collections of services can be coordinated and assembled to form composite services.
  7. Statelessness Services minimize retaining information specific to an activity.
  8. Discoverability Services are designed to be outwardly descriptive so that they can be found and assessed via available discovery mechanisms.

Saturday, July 9, 2011

Validating OWSM Message logs from Database

I was doing some RCA for checking the Message Logs of internal and external gateway in OWSM for an older date suppose a week before. For this it was a bit difficult to search the logs for a particular date, so I have used the ORAWSM database schema for this.


The database tables used are: -
  1. MessageLogs table where we can filter on a particular ProcessID i.e. SID and a type of log level which we want to select like Request or Response.
  2. Logs_Object table, where we can use a join condition based on logid with messagelogs table.
The resultant would be of datatype BLOB i.e. we need to click it and view as a text.

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