23.07.2013 Views

O'Reilly - Java Message Service

O'Reilly - Java Message Service

O'Reilly - Java Message Service

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Java</strong> <strong>Message</strong> <strong>Service</strong><br />

IP multicast allows applications to join one or more IP multicast groups; each group uses<br />

an IP network address that will redistribute any messages it receives to all members in its<br />

group. In this way, applications can send messages to an IP multicast address and expect<br />

the network layer to redistribute the messages appropriately (see Figure 1.3). Unlike a<br />

centralized architecture, a distributed architecture doesn't require a server for the purposes<br />

of routing messages - the network handles routing automatically. However, other serverlike<br />

functionality is still required to be included with each client, such as message<br />

persistence and message delivery semantics like once-and-only-once delivery.<br />

1.1.3 Hybrid Architectures<br />

Figure 1.3. Decentralized IP multicast architecture<br />

A decentralized architecture usually implies that an IP multicast protocol is being used. A<br />

centralized architecture usually implies that the TCP/IP protocol is the basis for<br />

communication between the various components. A messaging vendor's architecture may<br />

also combine the two approaches. Clients may connect to a daemon process using TCP/IP,<br />

which in turn communicate with other daemon processes using IP multicast groups.<br />

1.1.4 Centralized Architecture as a Model<br />

Both ends of the decentralized and centralized architecture spectrum have their place in<br />

enterprise messaging. The advantages and disadvantages of distributed versus centralized<br />

architectures are discussed in more detail in Chapter 7. In the meantime we need a<br />

common model for discussing other aspects of enterprise messaging. In order to simplify<br />

discussions, this book uses a centralized architecture as a logical view of enterprise<br />

messaging. This is for convenience only and is not an endorsement of centralized over<br />

decentralized architectures. The term "message server" is frequently used in this book to<br />

refer to the underlying architecture that is responsible for routing and distributing<br />

messages. In centralized architectures, the message server is a middleware server or cluster<br />

of servers. In decentralized architectures, the server refers to the local server-like facilities<br />

of the client.<br />

1.2 The <strong>Java</strong> <strong>Message</strong> <strong>Service</strong> (JMS)<br />

The <strong>Java</strong> <strong>Message</strong> <strong>Service</strong> (JMS) is an API for enterprise messaging created by Sun<br />

Microsystems. JMS is not a messaging system itself; it's an abstraction of the interfaces<br />

and classes needed by messaging clients when communicating with messaging systems. In<br />

the same way that JDBC abstracts access to relational databases and JNDI abstracts access<br />

9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!