cancel
Showing results for 
Search instead for 
Did you mean: 

Difference between EO & EOIO

Former Member
0 Kudos

Hi All,

Can you tell me the difference between EO and EOIO? I am confused coz. if we use EOIO, we use a queue name and the messages goes to the queue and gets processed in FIFO order. But if we dont use EOIO ie use EO XI itself uses a queue and same thing happens.

Also pls tell me when exactly we need to use EO and when to go for EOIO.

Thanks in Advance.

Regards,

Jai Shankar.

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor

Jai,

EO and EOIO QOS are used for asynch processing of messages.

If you mention EOIO which is Exactly Once In Order, the messages will be processes one after the other in the queue as they are received. So, you can get sequential processing of messages.

When you have EO which is Exactly Once, messages are processed in any order inside the queue.

When you must have tried i guess not many messages must be stuck in the queue, but in real time, when many messages are hitting the Integration Engine ( says 1000's of IDOC's are recived at the same time ), you will be able to see the difference in this.

Use EOIO when you want sequential processing and to maintain the order of prosesing as per business requirements.

Regards,

Bhavesh

Answers (3)

Answers (3)

Shabarish_Nair
Active Contributor
0 Kudos

From Help doc;

EO (Exactly Once):

The message is sent asynchronously. The sender does not wait for a response. The Integration Engine and the Adapter Engine guarantee that the message is sent and processed exactly once.

EOIO (Exactly Once In Order):

Messages are delivered with the same queue names (supplied by the application) in the same sequence that they were sent from the sender system. Message processing is asynchronous in this case.

Shabarish_Nair
Active Contributor
0 Kudos

Also this thread is a nice read :

Former Member
0 Kudos

Hi All,

Thanks a lot.

Bhavesh,

<i>When you have EO which is Exactly Once, messages are processed in any order inside the queue.</i> --> I dint notice this differnce.

I thought, the messages inside the queue were processed in the exact order as the come inside the queue. But that is wrong it seems.

Thanks & Regards,

Jai Shankar.

bhavesh_kantilal
Active Contributor
0 Kudos

Jai,

What I meant was messages are processed in different Queues for EO and in a single queue for EOIO...

Now consider a case, when 1000 Idocs hit XI and you are using EO.. Messages will be rotued in different EO queues. Now, if one of the queue fails due to some SYSFAIL error , then all messages in only that queue will be stuck up , but the messsages in other queues will continue to be processed , so there is no way you can guaraantee sequential processing with EO.

But, when you use EOIO, all messages are processed in a single queue and this way sequential processing is guaranteed.

This subtle difference can be noticed when a number of messages are hitting XI at the same time.

Regards,

Bhavesh

Former Member
0 Kudos

Bhavesh,

<i>messages are processed in any order inside the queue.</i> --> Do you mean to say, the msgs will get stored in the queue in any order or it will get stored in the exact order as they come from the sender and the order of processing from inside the queue might differ ie not always FIFO.

Pls clearify this.

Thanks & Regards,

Jai Shankar.

bhavesh_kantilal
Active Contributor
0 Kudos

> <i>messages are processed in any order inside the

> e queue.</i> --> Do you mean to say, the msgs will

> get stored in the queue in any order or it will get

> stored in the exact order as they come from the

> sender and the order of processing from inside the

> queue might differ ie not always FIFO.

>

Jai,

Am not very sure on this.. What I has summarized in my previous reply was something I noted in one of our interface runs in XI. I am not sure if messages are processed in a random manner in a queue in EO or are stored in a random manner , but , if you want to guarantee sequential processing EOIO is the way to go.

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

Thanks a lot. So the conclusion is to use EOIO when we need to process large number of records that require sequential processing.

Thanks & Regards,

Jai Shankar.

bhavesh_kantilal
Active Contributor
0 Kudos

Jai,

From a developers perspective Yes.. when you need to maintain Sequential Processing of data.. ( say some Financial Transactions ) use EOIO.

Am trying to look if i can get hold of more info on how exactly Queues in XI work. Will update if i find anything.

Regards,

Bhavesh

Former Member
0 Kudos

Thanks a lot Bhavesh. Pls keep me updated on this.

Thanks & Regards,

Jai Shankar.

Former Member
0 Kudos

If there is any special link to understand about Ques?

Thanks.

Former Member
0 Kudos

Hi Mohini,

Try the weblog 2957 suggested by Bhavesh. Seems to be very interesting.

Thanks & Regards,

Jai Shankar.

bhavesh_kantilal
Active Contributor
0 Kudos

jai,

Another difference is when you say EOIO , all messages are processed in the same Queue ( you need to mention a Queue name in your adapter) but, when you say EO , messages are processed in random queues of XI.

Take a look at this blog to understand XI queues better,

/people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i

Regards,

Bhavesh

Former Member
0 Kudos