[rabbitmq-discuss] Integration of SAP XI with RabbitMQ

Lynton Grice lynton.grice at ls-cs.com
Mon Jul 11 19:28:56 BST 2011


  Hi Rishi,

I am a SAP XI consultant in Johannesburg and also play around with 
RabbitMQ when I get a chance.

Your question is very interesting, and one that I have wondered about 
before. Obviously the long term approach would be to develop a sender / 
receiver Java adapter for SAP XI / PI to handle the AMQP communication, 
but the disadvantage here is that adapter development can be tricky and 
has a relatively steep learning curve. But if you have the skills I say 
go for it.

I have not been following the current "adapters" for RabbitMQ, but I 
would imagine that putting some sort of RESTful / HTTP interface using 
something like MochiWeb would be pretty simple to talk to from a SAP XI 
HTTP adapter. I know this is not perfect but an option nevertheless.

Sending messages from RabbitMQ to SAP XI would be very easy from a proof 
of concept point of view. As you already know you would simple build up 
the URL to post the XML message to using the correct channel, sender 
service, sender interface etc in the

http://<server>:<port>/XISOAPAdapter/MessageServlet?channel=:<service>:<sender_channle>&version=3.0&Sender.Service=<service>&Interface=<namespace><interface_name>

Writing an "adapter" for RabbitMQ that takes messages off a queue and 
sends them to a configurable URL like the one above should not be too hard.

A question for you: What format would the messages be in on the RabbitMQ 
queue? Already in "SAP XI XML" format?

The bottomline is their are many ways one could do this, if you had to 
ask me my choice I would choose between the following 2:

1. Create a custom Java adapter for both the sender AMQP and receiver 
AMQP adapter

2. On the next option I speak from experience in doing it and it works 
great:
         - Create an RFC Server in C / C++. This could be called from 
SAP XI and pass the messages to it, from there you would simple use some 
RabbitMQ API to send the messages to RabbitMQ
         - For sending messages to SAP I would just post the message 
straight to SAP XI using something like the URL above. You could easily 
write such a HTTP client in Erlang (or Python etc) and "plug it in as an 
adapter" to RabbitMQ.

Let me brainstorm it a little more, but feel free to email me and we can 
discuss this more to get the best answer.

Lynton


On 11/07/2011 18:05, Alexis Richardson wrote:
> Rishi
>
> I have bcc'd someone who may be able to advise you.
>
> alexis
>
>
> On Fri, Jul 8, 2011 at 9:21 PM, RishiDev<rishdev at gmail.com>  wrote:
>> To certain extent I believe the question should go to SAPXI community.
>> And we have already raised a ticket with them, but still I wanted to
>> quickly check if someone from our RabbitMQ community has some tips to
>> share.
>>
>> On Jul 8, 1:36 pm, RishiDev<rish... at gmail.com>  wrote:
>>> Hi,
>>>
>>> Our organization has SAP XI 7.0 systems which sends various messages
>>> to other systems across the enterprise.
>>> For better performance, reliability and message compression etc
>>> abilities we are trying to move from ActiveMQ to RabbitMQ. Having SAP
>>> XI talk to ActiveMQ was easy by using JMS type communication channel
>>> configured in XI. I want to learn from the group, what is best&
>>> recommended approach for SAPXI to Rabbit integration.
>>>
>>> I know that we can use QPID (I haven't tried yet though) and get a JMS
>>> kind of integration between SAPXI and Rabbit, but I would love it, if
>>> we can have a pure AMQP base communication and avoid JMS.
>>>
>>> I will appreciate any help for what approach and how (to follow) to
>>> integrate SAPXI with Rabbit.
>>>
>>> Thank you.
>>> Rishi
>>> _______________________________________________
>>> rabbitmq-discuss mailing list
>>> rabbitmq-disc... at lists.rabbitmq.comhttps://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>> _______________________________________________
>> rabbitmq-discuss mailing list
>> rabbitmq-discuss at lists.rabbitmq.com
>> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>>



More information about the rabbitmq-discuss mailing list