Today we are glad to announce HERMES, an Open Source
Infrastructure for publish
subscribe messaging model based on MongoDB
and RESTful Services.
This is 8th release of an open source project from TellagoDevLabs on Codeplex. Hermes is months of hard
work by us, including Silvio
Massari, Jose Romaniello
and Gustavo Machado.
Hermes is not BizTalk Server.
BizTalk Server has pub-sub mechanism in its infrastructure but in very
traditional way and it hasn’t provided a foundation that can be seamlessly used
by any .NET application. BizTalk pushes the message to its subscribers. If the
subscribers are down, BizTalk retries it with the retry configurations. Even
after all the retries, it suspends the message. In Hermes model, it not only
pushes the message to the subscriber but also the Subscriber can come and poll
for the message. Though, Hermes
is not a message broker. Hermes
does not care about what message it has been sent to what subscriber. Also, all
the transformation are taken care by the subscriber and this removes that
responsibility of the messaging engine of Hermes. Solely, Pub/Sub.
Hermes
is over HTTP so can be used by any Platform and makes everything really easy.
Mostly all platforms today have capability to communicate over HTTP. It is very
light weight and it can run easily on premise. Check, how
to setup Hermes on your machine. Also we are looking forward to test Hermes
on “The Cloud”.
Hermes
uses MongoDB to store its messages. MongoDB, which itself is ridiculously fast
and hence, Hermes is very very fast. Using MongoDB, it made it extremely easy
to store, partition and index high volumes of messages for a large number of
topics and subscriptions. Hermes
also has an Admin Portal where you can administer Topics, Groups, Publishers,
Subscribers and some statistics. You can even push messages through this
portal. We are currently working on enhancing this portal.
We also provide a Client Library for C#. Using this library,
it becomes fairly simple to create Groups, Topics, Subscriptions etc. You can
find a sample
on how to use this library with the source code.
Licensing: Hermes is using BSD license. Completely
Open Source.
You can check the Hermes documentation here.
What’s Next:
· Enhance
the Administration Portal of Hermes.
· Provide
more sample applications using Hermes.
· Enhance
the REST API.
· Build
a JavaScript Client Library
· Hermes
deployment on the “Cloud”. (AmazonEC2 and Windows Azure)
· Explore
new Messaging patterns.
Give it a try with Hermes and we are looking
forward to hear feedback from you.