Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Keep JMS simple with Spring and MantaRay

Create a simple, distributed application framework

  • Print
  • Feedback

Almost from its inception, Java Platform, Enterprise Edition (Java EE is Sun's new name for J2EE) has been criticized for being too complex. One of the main problems is that developers must face 100 percent of Java EE's complexity even if they only need 20 percent of the services. In addition, some elements like Enterprise JavaBeans are so complex by themselves that they make the development process—especially deployment and configuration—a living hell.

To address these issues, several simpler frameworks, all intended to help developers, were created. One of the most promising and best known to date is Spring—a simple-to-use application framework that provides programmers with the same Java EE functionality they need, but with a fraction of the complexity and cumbersomeness.

As part of the core package, Spring provides a Java Message Service abstraction framework that simplifies the use of the JMS API and shields the user from differences between the JMS 1.0.2 and 1.1 APIs. A natural extension to Spring's messaging framework is MantaRay, open source, distributed messaging middleware designed for high-traffic, distributed environments.

Developed and maintained by Coridan, MantaRay supports both JMS APIs (1.1 and 1.02). Compared to traditional messaging systems, such as busses or brokers, MantaRay provides robustness, scalability, and better performance by eliminating the need for a centralized broker. MantaRay eliminates the single point of failure and the congestion of traditional models by using a peer-to-peer, server-less architecture, and optimized network transport implementations.

MantaRay's distributed architecture is lightweight, embeddable, and operating-system-agnostic, and plays a key role in enabling its OCC (occasionally connected computing) capability. Simply put, MantaRay can abstract applications from network failures by automatically switching to an offline mode, where messages are stored locally on the machine. When the sending machine reconnects to the network, these persisted messages are automatically sent to their original destination without any user involvement.

Here at the MantaRay project, we have been talking about the complexity of the Java EE framework for the last three years and have been striving to make our JMS implementation as simple as possible. Most of the credit belongs to our community members; they have provided invaluable advice on how to make MantaRay simple, with features such as automatic discovery and advanced configuration mechanisms, which include a working default configuration, and automatic IP and port selection.

We believe that the time is now right to take the next step and combine these two simple frameworks so that developers using the Spring Framework will be able to use MantaRay and JMS to get a simple, yet powerful, application framework.

Why integrate MantaRay with Spring?

One of Spring's strongest features is that developers do not need to install any piece of software to start using it. Most of Spring's functionality works without installing and configuring an application server (one of the horrors of Java EE mentioned above). Instead, developers are only required to import a Spring JAR with its dependencies, and they are good to go.

  • Print
  • Feedback

Resources