Chapter 2. Introduction

JBoss Messaging provides an open source and standards-based messaging platform that brings enterprise-class messaging to the mass market. JBoss Messaging implements a high performance, robust messaging core that is designed to support the largest and most heavily utilized SOAs, enterprise service busses (ESBs) and other integration needs ranging from the simplest to the highest demand networks. JBoss Messaging includes a JMS front-end to deliver messaging in a standards-based format. Additionally, JBoss Messaging is designed to support other messaging protocols.

JBoss Messaging is an integral component of the JBoss Enterprise Middleware Suite (JEMS) and is available as a stand alone product and for embedded use within the JBoss Application Server (JBoss AS). The large and vibrant JEMS developer community fosters its continued innovation and enterprise quality. JBoss Messaging enables much more agile applications in a wide range of scenarios – from simple messaging needs to an enterprise-wide messaging foundation. JBoss Messaging adds flexibility to any SOA initiative.

2.1. JBoss Messaging 1.0 Features

JBoss Messaging provides:

  • A fully compatible JMS 1.1 implementation, which will work standalone as well as with JBoss AS.

  • A strong focus on performance throughput and low latency.

  • A foundation for ESB requirements within SOA initiatives. JBoss ESB, due in late 2006, will use JBoss Messaging as its foundation.

JBoss Messaging consists of two major parts:

  • JBoss Messaging Core – a transactionally reliable, distributed messaging transport system.

    • Supports generalized messages (not just JMS).

    • Enables other messaging protocol facades to be added

    • Transactionally reliable – supports ACID semantics

    • Distributed – spans multiple address spaces

  • JMS Façade – the JMS “personality” of JBoss Messaging.

Other JBoss Messaging features include:

  • Publish-subscribe and point-to-point messaging models

  • Message queues used by one or shared by many receivers

  • Topics that feed multiple message queues

  • Persistent and non-persistent messages

  • Guaranteed message delivery that ensures that messages arrive once and only once

  • Transactionally reliable supporting ACID semantics

    • Atomicity – messages can be sent to the core in the context of a transaction and either all messages or none of them will be accepted

    • Isolation – messages can be sent to the core on multiple threads (in the same address space or in different address spaces)

    • Durability – “reliable” messages survive failures leveraging transactional persistent storage

  • Distributed messaging infrastructure which may span multiple address spaces

  • Customizable security framework

2.2. Compatibility with JBossMQ

JBossMQ is the JMS implementation currently embedded within JBossAS. Since JBoss Messaging is JMS 1.1 and JMS 1.0.2b compatible, the JMS code written against JBossMQ will run with JBoss Messaging without any changes. The backward compatibility will extend to deployment descriptors as well