[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