You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@esme.apache.org by "Hirsch, Richard" <ri...@siemens.com> on 2009/03/18 08:59:29 UTC

Ideas concerning RabbitMQ - ESME Integration

David introduced us to Alexis Richardson who runs the RabbitMQ project (http://www.rabbitmq.com/ <http://www.rabbitmq.com/> )  and we had a short  email exchange about integration posibilitites. RabbitMQ is an open-source implementation of AMQP <http://www.rabbitmq.com/faq.html#what-is-amqp> , the emerging standard for high performance enterprise messaging. I wanted to move the conversation to the esme-dev list to get some ideas and involve everyone.
 
We were discussing possible scenarios, especially regarding federated scenarios where multiple ESME servers wish to exchange messages. Lift already has RabbitMQ integration (http://scala-tools.org/mvnsites/liftweb/lift-amqp/scaladocs/index.html <http://scala-tools.org/mvnsites/liftweb/lift-amqp/scaladocs/index.html>  )  As an aside, I've got to say that I'm always surprised at what Lift already can do.  This functionality would probably work well with our planned pool functionality. The idea would be that there are some pools that are federated across several servers.  Until we have the pool functionality working, I like to suggest creating an action that sends a message via AMQP to another ESME server. Of course, we'd have to implement a AMQPAddListener to receive the messages sent via the action. This way we can learn more about messaging via AMQP. My suggestion would be that we create a second Stax instance that can act as a receiver to test out these enterprise messaging scenarios. I'm going to set up a Jira items to deal with the new action and AMQPAddListener implementations. 
 
It appears that there is an expiremental binding for HTTP (http://www.rabbitmq.com/download.html#experimental) - maybe that might be a first step. We could use the existing HTP action to create a HTTP Message for RabbitMQ. 
 
We need a RabbitMQ server to communicate via AMQP, so we can use a public hosted by LShift or deploy our own in Stax. Let's use the public one first.
 
By the way, laconica is also looking at using RabbitMQ, so that there is a good chance for some interoperability there. 
 
D. 

Re: Ideas concerning RabbitMQ - ESME Integration

Posted by Robert Burrell Donkin <ro...@gmail.com>.
On Thu, Mar 19, 2009 at 1:49 PM, David Pollak
<fe...@gmail.com> wrote:
> On Thu, Mar 19, 2009 at 1:59 AM, Alexis Richardson <
> alexis.richardson@gmail.com> wrote:
>
>> Great.  What sorts of scenarios would be most interesting for you guys?
>
>
> To my mind:
>
>   - A virtual ESME user is really the surfacing of a RabbitMQ queue (or
>   collection of them) so that systems that talk to Rabbit can also be systems
>   that talk to ESME
>   - A filter action that puts a message into a Rabbit queue so that I can
>   create a rule that filters a lot of disparate data streams into something
>   that can then be sent off to other systems that listen to Rabbit
>
> There are a couple of features that these imply:
>
>   - Multiple "users" per log in account.  If I'm going to channel a Rabbit
>   queue (or set of queues), I want a separate ESME user that people can
>   follow, but I don't want to have separate login credentials.
>   - The filter language needs to be a lot like spreadsheet formula
>   functions because those are what business people can best deal with... or
>   like HyperCard statements

filter languages are quite an interesting topic

sieve would be reasonable applicable (and it's probably worth looking
at even if another approach is picked int the end). it's syntax is a
little unintuitive but AIUI it's used by several BigCo SMTP servers
and some CMS so it can't be that bad. mostly, they wrap a AJAX web
application around it.

a proof-of-concept using apache jsieve and sieve as the filter
language should be quick and easy to do

- robert

AW: Ideas concerning RabbitMQ - ESME Integration

Posted by "Hirsch, Richard" <ri...@siemens.com>.
Two questions:

Does the Lshift Public Broker support the rabbitmq-http2 binding?

Has someone tried to setup a RabbitMQ installation on Stax? From what've seen, it won't work, because Stax is java / tomcat based. 

R. 

-----Ursprüngliche Nachricht-----
Von: Alexis Richardson [mailto:alexis.richardson@gmail.com] 
Gesendet: Donnerstag, 19. März 2009 09:59
An: Hirsch, Richard
Cc: esme-dev@incubator.apache.org
Betreff: Re: Ideas concerning RabbitMQ - ESME Integration

Great.  What sorts of scenarios would be most interesting for you guys?

alexis


On Thu, Mar 19, 2009 at 8:18 AM, Hirsch, Richard
<ri...@siemens.com> wrote:
> Lift supports AMQP already and once we support AMQP in ESME we can try out a variety of AMQP implementations.
>
> By the way, I created two JIRA items for AMQP: https://issues.apache.org/jira/browse/ESME-48
>
> D.
>
> ________________________________
>
> From: bdelacretaz@gmail.com on behalf of Bertrand Delacretaz
> Sent: Wed 18.03.2009 16:56
> To: Alexis Richardson
> Cc: esme-dev@incubator.apache.org
> Subject: Re: Ideas concerning RabbitMQ - ESME Integration
>
>
>
> Hi Alex,
>
> On Wed, Mar 18, 2009 at 1:32 PM, Alexis Richardson
> <al...@gmail.com> wrote:
>> Thanks for this....
>
> You're welcome!
>
>> On Wed, Mar 18, 2009 at 8:42 AM, Bertrand Delacretaz
>> <bd...@apache.org> wrote:
>>> ...Note that ActiveMQ (http://activemq.apache.org <http://activemq.apache.org/> ) also implements
>>> various messaging protocols,...
>
>> Indeed.  I would recommend looking at multiple options...
>
> I also forgot to mention Apache Qpid, which is another AMQP
> implementation (two actually: C++ and Java, plus clients) -
> http://qpid.apache.org/.
>
> -Bertrand
>
>
>

Re: Ideas concerning RabbitMQ - ESME Integration

Posted by David Pollak <fe...@gmail.com>.
On Thu, Mar 19, 2009 at 1:59 AM, Alexis Richardson <
alexis.richardson@gmail.com> wrote:

> Great.  What sorts of scenarios would be most interesting for you guys?


To my mind:

   - A virtual ESME user is really the surfacing of a RabbitMQ queue (or
   collection of them) so that systems that talk to Rabbit can also be systems
   that talk to ESME
   - A filter action that puts a message into a Rabbit queue so that I can
   create a rule that filters a lot of disparate data streams into something
   that can then be sent off to other systems that listen to Rabbit

There are a couple of features that these imply:

   - Multiple "users" per log in account.  If I'm going to channel a Rabbit
   queue (or set of queues), I want a separate ESME user that people can
   follow, but I don't want to have separate login credentials.
   - The filter language needs to be a lot like spreadsheet formula
   functions because those are what business people can best deal with... or
   like HyperCard statements

Thanks,

David


>
>
> alexis
>
>
> On Thu, Mar 19, 2009 at 8:18 AM, Hirsch, Richard
> <ri...@siemens.com> wrote:
> > Lift supports AMQP already and once we support AMQP in ESME we can try
> out a variety of AMQP implementations.
> >
> > By the way, I created two JIRA items for AMQP:
> https://issues.apache.org/jira/browse/ESME-48
> >
> > D.
> >
> > ________________________________
> >
> > From: bdelacretaz@gmail.com on behalf of Bertrand Delacretaz
> > Sent: Wed 18.03.2009 16:56
> > To: Alexis Richardson
> > Cc: esme-dev@incubator.apache.org
> > Subject: Re: Ideas concerning RabbitMQ - ESME Integration
> >
> >
> >
> > Hi Alex,
> >
> > On Wed, Mar 18, 2009 at 1:32 PM, Alexis Richardson
> > <al...@gmail.com> wrote:
> >> Thanks for this....
> >
> > You're welcome!
> >
> >> On Wed, Mar 18, 2009 at 8:42 AM, Bertrand Delacretaz
> >> <bd...@apache.org> wrote:
> >>> ...Note that ActiveMQ (http://activemq.apache.org <
> http://activemq.apache.org/> ) also implements
> >>> various messaging protocols,...
> >
> >> Indeed.  I would recommend looking at multiple options...
> >
> > I also forgot to mention Apache Qpid, which is another AMQP
> > implementation (two actually: C++ and Java, plus clients) -
> > http://qpid.apache.org/.
> >
> > -Bertrand
> >
> >
> >
>



-- 
Lift, the simply functional web framework http://liftweb.net
Beginning Scala http://www.apress.com/book/view/1430219890
Follow me: http://twitter.com/dpp
Git some: http://github.com/dpp

Re: Ideas concerning RabbitMQ - ESME Integration

Posted by Alexis Richardson <al...@gmail.com>.
Great.  What sorts of scenarios would be most interesting for you guys?

alexis


On Thu, Mar 19, 2009 at 8:18 AM, Hirsch, Richard
<ri...@siemens.com> wrote:
> Lift supports AMQP already and once we support AMQP in ESME we can try out a variety of AMQP implementations.
>
> By the way, I created two JIRA items for AMQP: https://issues.apache.org/jira/browse/ESME-48
>
> D.
>
> ________________________________
>
> From: bdelacretaz@gmail.com on behalf of Bertrand Delacretaz
> Sent: Wed 18.03.2009 16:56
> To: Alexis Richardson
> Cc: esme-dev@incubator.apache.org
> Subject: Re: Ideas concerning RabbitMQ - ESME Integration
>
>
>
> Hi Alex,
>
> On Wed, Mar 18, 2009 at 1:32 PM, Alexis Richardson
> <al...@gmail.com> wrote:
>> Thanks for this....
>
> You're welcome!
>
>> On Wed, Mar 18, 2009 at 8:42 AM, Bertrand Delacretaz
>> <bd...@apache.org> wrote:
>>> ...Note that ActiveMQ (http://activemq.apache.org <http://activemq.apache.org/> ) also implements
>>> various messaging protocols,...
>
>> Indeed.  I would recommend looking at multiple options...
>
> I also forgot to mention Apache Qpid, which is another AMQP
> implementation (two actually: C++ and Java, plus clients) -
> http://qpid.apache.org/.
>
> -Bertrand
>
>
>

RE: Ideas concerning RabbitMQ - ESME Integration

Posted by "Hirsch, Richard" <ri...@siemens.com>.
Lift supports AMQP already and once we support AMQP in ESME we can try out a variety of AMQP implementations. 
 
By the way, I created two JIRA items for AMQP: https://issues.apache.org/jira/browse/ESME-48
 
D. 

________________________________

From: bdelacretaz@gmail.com on behalf of Bertrand Delacretaz
Sent: Wed 18.03.2009 16:56
To: Alexis Richardson
Cc: esme-dev@incubator.apache.org
Subject: Re: Ideas concerning RabbitMQ - ESME Integration



Hi Alex,

On Wed, Mar 18, 2009 at 1:32 PM, Alexis Richardson
<al...@gmail.com> wrote:
> Thanks for this....

You're welcome!

> On Wed, Mar 18, 2009 at 8:42 AM, Bertrand Delacretaz
> <bd...@apache.org> wrote:
>> ...Note that ActiveMQ (http://activemq.apache.org <http://activemq.apache.org/> ) also implements
>> various messaging protocols,...

> Indeed.  I would recommend looking at multiple options...

I also forgot to mention Apache Qpid, which is another AMQP
implementation (two actually: C++ and Java, plus clients) -
http://qpid.apache.org/.

-Bertrand



Re: Ideas concerning RabbitMQ - ESME Integration

Posted by Bertrand Delacretaz <bd...@apache.org>.
Hi Alex,

On Wed, Mar 18, 2009 at 1:32 PM, Alexis Richardson
<al...@gmail.com> wrote:
> Thanks for this....

You're welcome!

> On Wed, Mar 18, 2009 at 8:42 AM, Bertrand Delacretaz
> <bd...@apache.org> wrote:
>> ...Note that ActiveMQ (http://activemq.apache.org) also implements
>> various messaging protocols,...

> Indeed.  I would recommend looking at multiple options...

I also forgot to mention Apache Qpid, which is another AMQP
implementation (two actually: C++ and Java, plus clients) -
http://qpid.apache.org/.

-Bertrand

Re: Ideas concerning RabbitMQ - ESME Integration

Posted by Alexis Richardson <al...@gmail.com>.
Bertrand,

Thanks for this.

And: hello everyone!

On Wed, Mar 18, 2009 at 8:42 AM, Bertrand Delacretaz
<bd...@apache.org> wrote:
> Hi,
>
> On Wed, Mar 18, 2009 at 8:59 AM, Hirsch, Richard
> <ri...@siemens.com> wrote:
>> David introduced us to Alexis Richardson who runs the RabbitMQ project (http://www.rabbitmq.com/ <http://www.rabbitmq.com/> )  and we had a short  email exchange about integration posibilitites. RabbitMQ is an open-source implementation of AMQP...
>
> Note that ActiveMQ (http://activemq.apache.org) also implements
> various messaging protocols, it might be interesting to consider it
> for integration as well, if work is done in this direction.

Indeed.  I would recommend looking at multiple options.  With RabbitMQ
we have found support for AMQP and XMPP in combination to be very
powerful for 'twitter style' apps and federated microblogging.  The
HTTP interface is a nice to have as well.

See for example:
http://anders.conbere.org/journal/rabbiter-open-federated-pubsub-server/

Cheers,

alexis

Re: Ideas concerning RabbitMQ - ESME Integration

Posted by Bertrand Delacretaz <bd...@apache.org>.
Hi,

On Wed, Mar 18, 2009 at 8:59 AM, Hirsch, Richard
<ri...@siemens.com> wrote:
> David introduced us to Alexis Richardson who runs the RabbitMQ project (http://www.rabbitmq.com/ <http://www.rabbitmq.com/> )  and we had a short  email exchange about integration posibilitites. RabbitMQ is an open-source implementation of AMQP...

Note that ActiveMQ (http://activemq.apache.org) also implements
various messaging protocols, it might be interesting to consider it
for integration as well, if work is done in this direction.

-Bertrand