Alexis -<br><br>Funny you should ask now. I've just resumed working on an AMQP interface<br>after getting input from our team members and have been doing a lot of design<br>work. Our approach is to write our own code generator that writes code to<br>
do the serialization and de-serialization. The interface is specified as a Java<br>interface, and then we will be using Java introspection to get the methods and<br>parameters. The code generator will be able to make code for any language,<br>
but all I can see happening for the short term is Java and C++.<br><br>The transport is in XML. We use XML a lot and are comfortable with the technology.<br>Messages are self-describing and verifiable. We are leaning towards a slightly<br>
"heavier" transport that favors abstraction over speed. I think that if we have<br>situations where we need more speed, it will be situations like "we need to get<br>4 GB of medical images from here to there", in which case we'll either open<br>
up a "raw" AMQP channel that does no formatting, or, even faster, open up<br>a socket connection.<br><br>I had written an initial version of a library to interface to AMQP that I am mostly<br>discarding in favor of a re-write that makes implementing servers easier and provides<br>
more flexibility (for example: server classes that support messages where some must be replied<br>to and others that are not, direct messages, and fanout messages).<br><br>I've got chunks of code written but am still working on the lower level design. The<br>
architecture is pretty much done. Lots more coding to do.<br><br>I've thought about this (very fun) problem a lot, and have had a few "epiphanies". There<br>is a lot more details I'm not mentioning because there is so much. I would be happy<br>
to answer any questions or trade ideas.<br><br>PS: I don't always examine every rabbitmq-discuss message, so please feel free<br>contact me directly.<br><br>Thanks,<br><br>- Jim<br><br clear="all">Jim Irrer <a href="mailto:irrer@umich.edu">irrer@umich.edu</a> (734) 647-4409<br>
University of Michigan Hospital Radiation Oncology<br>519 W. William St. Ann Arbor, MI 48103<br>
<br><br><div class="gmail_quote">On Thu, Jan 7, 2010 at 12:24 PM, Alexis Richardson <span dir="ltr"><<a href="mailto:alexis@rabbitmq.com">alexis@rabbitmq.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Jim<br>
<br>
Please can I ask how you are getting on with this?<br>
<br>
I have a potential customer doing a mega project with Smartgrid who is<br>
facing the issues you describe below. They are based in Michigan and<br>
were keen to hear any success stories and meet people locally who<br>
could help them find RabbitMQ development skills.<br>
<br>
Best wishes<br>
<br>
alexis<br>
<br>
RabbitMQ<br>
<div><div></div><div class="h5"><br>
<br>
On Tue, Aug 18, 2009 at 1:57 PM, Jim Irrer <<a href="mailto:irrer@umich.edu">irrer@umich.edu</a>> wrote:<br>
> Hi -<br>
><br>
> We are replacing much of our SOAP infrastructure with AMQP, and<br>
> one problem we are looking at is how to wrap an AMQP call so that<br>
> it has a nice programming interface. Basically we want to serialize<br>
> an object on one side and de-serialize on the other side, and do it<br>
> in a language independent way (we use Java C#, and C++).<br>
><br>
> I am looking at REST (Representational State Transfer), XML-RPC,<br>
> and possibly JSON-RPC. Ideally we would like something that<br>
> automatically does the serialization/de-serialization or generates<br>
> code that does it.<br>
><br>
> Has anyone found a technology that they like?<br>
><br>
> Thanks,<br>
><br>
> - Jim<br>
><br>
> Jim Irrer <a href="mailto:irrer@umich.edu">irrer@umich.edu</a> (734) 647-4409<br>
> University of Michigan Hospital Radiation Oncology<br>
> 519 W. William St. Ann Arbor, MI 48103<br>
><br>
</div></div><div><div></div><div class="h5">> _______________________________________________<br>
> rabbitmq-discuss mailing list<br>
> <a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
> <a href="http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
><br>
><br>
</div></div></blockquote></div><br>