VMware's SpringSource Adds Lightweight Messaging for the Cloud
VMware's SpringSource division announced today that it will be adding a newly acquired lightweight messaging system to its implementation of the Java-based open source Spring Framework. RabbitMQ is an open messaging system owned by U.K.-based Rabbit Technologies, which VMware acquired last week.
SpringSource has two missions these days, said Rod Johnson, the SpringSource division's general manager (and founder): to continue to grow its middleware business and to contribute to VMware's cloud strategy. The Rabbit acquisition fulfills both, he said.
"We believe that messaging is a fundamental part of the fabric of cloud computing," Johnson said. "As applications move into the cloud, you end up with a greater requirement for apps to be able to talk to each other and to data stores and services. RabbitMQ is virtually a defacto standard for cloud messaging, and it's been getting a significant amount of attention and adoption from some of our enterprise customers at SpringSource. It fits very well with a dual enterprise/cloud strategy."
RabbitMQ is an open-source, multi-platform messaging service used by cloud computing providers to create a messaging server. It's based on the RabbitMQ Advanced Message Queuing Protocol (AMQP) message queue, a multi-protocol messaging system. Johnson said that AMQP will be the focus of the integration.
"The idea is if we have really good integrations of AMQP, Spring developers will have an easy time building applications that use RabbitMQ," he said. He added that the Rabbit messaging technology will be integrated with other products VMware is aiming at the cloud.
AMQP is an open standard for messaging middleware. The project Website declares its aim to make AMQP the defacto open standard for messaging middleware: "By complying with the AMQP standard, middleware products written for different platforms and in different languages can send messages to one another. AMQP addresses the problem of transporting value-bearing messages across and between organizations in a timely manner."
The AMQP spec defines a set of messaging capabilities called the "AMQP Model," which consists of components for routing and storing messages within a broker service, and a simple set of rules for wiring these components together. The specification includes network wire-level format designed to allow client applications to talk to a broker and interact with the AMQP model it implements. Both a networking protocol and the semantics of broker services are also specified in the AMQP.
The RabbitMQ has been implemented on a wide range of platforms other than Java, including .NET, PHP, Ruby and others. SpringSource will be making the Java Spring integration particularly easy as a way of interacting with RabbitMQ, Johnson said. And the group is also looking to include RabbitMQ in SpringSource's enterprise integration project.
"We will certainly be making Rabbit particularly easy for SpringSource developers to use," Johnson added. "But we also respect the fact that it's used by a broad range of platforms, not all of which are Java."
The AMQP specs can be downloaded from the project's "Contributing" page.