Monday, March 30, 2015

Synchronous Service Operation - Generate 'Local-to-Local' - Transactional Check Box

Someone asked a question in the HEUG (Higher Education User Group):

"When generating/re-generating 'Local-to-Local' routing, there is a 'Transactional' check box that is made available. What does it do?"

And it made me realize that I have been noticing this setting in the past but had not paid much attention to it. I basically used to ignore this setting previously.

Curious, I tried to dig into PeopleBooks:

"By choosing the Transactional check box, the system routes the service operations using the OnRequest event on a single transaction". What does this mean? It is certainly not self-explanatory!

I ended up raising a SR with Oracle to ask them for clarification on what this setting does and found that it is a pretty neat feature hiding under the covers!

When we select the “Transactional” checkbox while generating the “Local-to-Local” routing, the system would automatically route the message (for the Local-to-Local transaction) to the OnRequest handler without having to go out through Integration Broker and then come back in again.

Basically, this bypasses unnecessary traffic through the IB gateway. This is a great feature for Local-to-Local synchronous services and I would certainly be using this setting in the future. There is a lot of performance value to be gained (where appropriate).

Note: Just because the messages get routed directly to the OnRequest handler does not mean that the transactions lose out on other IB functionality and features (e.g.: writing into log tables, etc.).

Hope you find this useful in demystifying this configuration!