on 04-16-2007 8:36 PM
Hello everyone,
IN my business scenario, ther are 5 different types of input data from single sender in single queue
Is it possible to implement this type of interface without BPM?
I dont want to add them or merge them, They would be treated as a seperate single data in interface and send to single receiver.
I have created one mapping incorporating five messages as a sender and one receiver. In interface mapping i have used five message interface and used the single mapping... but I am getting error while testing the interface mapping.
I believe I am making mistake at some point.
Is enhanced receiver determination could help in this situation. Was trying to read documents but it looks that enh rec deter would be used when we need to decide receiver dynamically and not for source...
Thanks
Pranav
Message was edited by:
pranav .
Hi,
I am assuming you are saying the following: you have documents that will be sent from 5 different systems to a single receiver. The documents are identical. You do not need to merge any of the documents; each document will be treated as a single document to the receiver.
If the above is correct, then you will only need 1 Message Interface with 1 Interface Mapping in the IR. In the ID, you will need 5 Receiver Determinations, each with a different sender business system, and all use the same Message Interface. With the 5 Receiver Determinations, you will need 5 Sender Agreements, each referencing a different sending system. There will only be 1 Receiver Agreement.
Regards,
Bill
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks William for your response.
I have same business system sending the data, the difference is only in structure of input data.
e.g <b>sender A </b> sending any one of these structure type at a given time.
Input_datastructure1
Input_datastructure2
Input_datastructure3
Input_datastructure4
Input_datastructure5
<sender drops input data of any of five type into common shared<b>queue Q</b>>
<So irrespective of structure, data comes into same queue from where XI picks the message>
<b>
Receiver B</b>
Having common structure, which handles any of data type listed above.
How XI would determine which structure comes via the common queue shared by multiple input data types from same business system?
Thanks,
Pranav
Message was edited by:
pranav .
Hi,
In this case, in IR, you will have 5 Message Interfaces with 5 Interface Mappings.
In the ID, you will still have 5 Receiver Determinations, because you have 5 Mesage Interfaces, even though they are from the same sender business system. This will also result in 5 Interface Determinations.
You will also have 5 Sender Agreements with the adapter comm chan configured to EOIO with a queue name. All 5 comm chan's will have to use the same queue name to insure they all go to the same queue.
Regards,
Bill
Thanks William for your valuable information.
I am little bit confused in :
How Xi would know that where to divert the message, i mean to which data type, when data enters in XI from same queue.
Do i really have to create seperate CC for each each data type coming from same queue , same sender but different structure.
Would enhanced receiver deter and enhanced interface determination play any role in here??
Hi,
Sorry, there is a confusion in the use of "queue". For me, the queue means what is used by XI during message processing. For you, I suppose it could be a JMS queue or content in a file directory. So, in your case I will refer it to as a sender comm chan.
You can use just 1 sender comm chan. In the Sender Agreement, which contains the business system and Interface Name and Namespace (these info are also used in the Receiver Determination to differentiate all the different types of messages).
Also, in Sender Agreement, a sender comm chan is also specified. There is no interface name attached to it, e.g. just read a file from this directory, or read the content of a JMS queue.
The Receiver Determination determines how the message will be processed, which interface definition to use and which mapping to use and where to send the message.
Regards,
Bill
Sorry William, Actually i dint mention JMS anywhere in my question.
Basically i was referring the JMS queue, wherever i said "Queue".
So i believe, if I am understood correctly whatever you explained to me , then,
I have to create
<b>2 inbound message interface and one outbound message interface.
2 Message mapping and 2 interface mappings</b>
<u>In directory.</u>
<b>2 CC one for sender and one for receiver .</b>
and
<b>2 receiver deter, 2 interface deter, 1 sender agree and 1 receiver agree.</b>
M I going right?
Message was edited by:
pranav .
Hi,
I must correct myself.
With just 1 sender for all your interfaces, you will need to have a condition to determine which interface the message belongs. The condition is an XPath expression testing a value in the payload to determine which interface should be used.
In your case, since there is only 1 receiver, you must have this condition in the Interface Determination, where you will have 5 different mappings.
In order for this to work, the source interface must be similar, at least enough so that the XPath condition can be used.
So, you will 1 Receiver Determination, with 1 Sender Agreement, and 1 sender comm chan, but you will have 5 Interface Determinations.
If the source documents are nothing alike, then you will have to have 5 different JMS queus. And, set up the whole process as 5 completely different interfaces.
I hope I am no confusing you even more.
Regards,
Bill
User | Count |
---|---|
80 | |
24 | |
11 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.