That is the environment we're in, integrating ruote with a variety of
external systems, and we just built our own thin integration layer into
our application which handles mapping messages coming in from the
outside and knowing when and how to talk to or signal ruote. The
ruote-amqp gem is designed for you to add your own message handlers that
do that kind of thing. Personally, I don't think it is necessarily
ruote's responsibility to map and interpret messages from the outside
world, although that might make a nice additional component library,
like ruote-kit, but for enabling more general purpose integration with
message transformation capabilities via a nice DSL, AMQP or other queue
listeners, and whatnot. In any case, the way I look at it, the systems
integration concerns and configuration aren't necessarily directly
related to the workflow definitions themselves, and should probably be
managed independently at a level above the ruote core itself. 

 

From: [email protected]
[mailto:[email protected]] On Behalf Of Mario Camou
Sent: Tuesday, January 25, 2011 10:13 AM
To: [email protected]
Subject: [ruote:2850] Integrating with external systems

 

Hi all,

 

We're working with ruote-kit and ruote-amqp. I've had a question for a
long while that our resident Ruote talents haven't been able to answer.
Since I am now in the position of taking over some of the Ruote duties,
I thought it would be a good idea to get this cleared up in my mind.

 

What is the accepted/recommended way of integrating Ruote with external
systems? For example, suppose you have an existing system which
integrates through AMQP messages. The system has its own (binary)
message formats that it receives and sends. We now want to integrate
this system into some Ruote workflows, so, for example, some messages
will start workflows (with parameters taken from parts of the message
payload), other messages will be received in the middle of a workflow
(i.e., the workflow will pause until the receipt of a message, and will
then have to correlate the incoming message with the existing
expressions to see to which one the message passes), and the workflow
should also be capable of generating AMQP messages in the formats
expected by the external system.

 

I've worked with other workflow systems (specifically, Sun/Oracle
JavaCAPS) in which the incoming/outgoing messages are completely
disassociated from the workitems. In those systems, the workflow itself
is responsible for getting the information out of the message payload
and into the workitem. However, I see that Ruote always works in terms
of workitems, so it's expecting to send/receive JSON workitems through
AMQP. I was wondering, in Ruote, where do you place the logic to convert
between workitems and external system formats, and the correlation logic
to correlate incoming messages with process instances/expressions?

 

Thanks!

-Mario

-- 
you received this message because you are subscribed to the "ruote
users" group.
to post : send email to [email protected]
to unsubscribe : send email to
[email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en

-- 
you received this message because you are subscribed to the "ruote users" group.
to post : send email to [email protected]
to unsubscribe : send email to [email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en

Reply via email to