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 it can be used by any Platform which makes everything really easy. Mostly all the platforms today have capability to communicate over HTTP. Hermes 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. Read more about Hermes annoucement on Jesus Rodriguez blog post.
- Enhance the Administration Portal of Hermes.
- Provide more sample applications using Hermes.
- Enhance the REST API.
- 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.