Java Message Service, 2/Ed(English, Paperback, Richards Mark)
Quick Overview
Product Price Comparison
Java Message Service, Second Edition, is a thorough introduction to the standard API that supports "messaging" -- the software-to-software exchange of crucial data among network computers. You'll learn how JMS can help you solve many architectural challenges, such as integrating dissimilar systems and applications, increasing scalability, eliminating system bottlenecks, supporting concurrent processing, and promoting flexibility and agility. Updated for JMS 1.1, this second edition also explains how this vendor-agnostic specification will help you write messaging-based applications using IBM's MQ, Progress Software's SonicMQ, ActiveMQ, and many other proprietary messaging services. With Java Message Service, you will: Build applications using point-to-point and publish-and-subscribe messaging models Use features such as transactions and durable subscriptions to make an application reliable Implement messaging within Enterprise JavaBeans (EJB) using message-driven beans Use JMS with RESTful applications and with the Spring application framework Messaging is a powerful paradigm that makes it easier to uncouple different parts of an enterprise application. Java Message Service, Second Edition, will quickly teach you how to use the key technology that lies behind it. About the Author Mark Richards is a Director and Sr. Technical Architect at Collaborative Consulting, LLC., where he is involved in the architecture and design of Service Oriented Architectures in J2EE and other technologies, primarily in the financial services industry. He has been involved in the software industry since 1984, and has significant experience and expertise in J2EE architecture and development, Object-oriented design and development, and systems integration. Richard Monson-Haefel, an independent software developer, coauthored all five editions of Enterprise JavaBeans and Java Message Service (all O'Reilly). He's a software architect specializing in multi-touch interfaces and a leading expert on enterprise computing. More detail on his work and writings can be found at Monson-Haefel. David Chappell is vice president and chief technologist for SOA at Oracle Corporation. Chappell has over 20 years of experience in the software industry covering a broad range of roles including Architecture, code-slinging, sales, support and marketing. He is well known worldwide for his writings and public lectures on the subjects of Service Oriented Architecture (SOA), the enterprise service bus (ESB), message oriented middleware (MOM), enterprise integration, and is a co-author of many advanced Web Services standards. As author of the O’Reilly Enterprise Service Bus book, Dave has had tremendous impact on redefining the shape and definition of SOA infrastructure. He has extensive experience in distributed computing infrastructure, including ESB, SOA Governance, EJB and Web application server infrastructure, JMS and MOM, EAI, CORBA, and COM. Chappell's experience also includes development of client/server infrastructure, graphical user interfaces and language interpreters. Table of Contents Chapter 1 Messaging Basics The Advantages of Messaging Enterprise Messaging Messaging Models JMS API Real-World Scenarios RPC Versus Asynchronous Messaging Chapter 2 Developing a Simple Example The Chat Application Chapter 3 Anatomy of a JMS Message Headers Properties Message Types Chapter 4 Point-to-Point Messaging Point-to-Point Overview The QBorrower and QLender Application Message Correlation Dynamic Versus Administered Queues Load Balancing Using Multiple Receivers Examining a Queue Chapter 5 Publish-and-Subscribe Messaging Publish-and-Subscribe Overview The TBorrower and TLender Application Durable Versus Nondurable Subscribers Dynamic Versus Administered Subscribers Unsubscribing Dynamic Durable Subscribers Temporary Topics Chapter 6 Message Filtering Message Selectors Declaring a Message Selector Message Selector Examples Not Delivered Semantics Design Considerations Chapter 7 Guaranteed Messaging and Transactions Guaranteed Messaging Message Acknowledgments Message Groups and Acknowledgment Transacted Messages Lost Connections Dead Message Queues Chapter 8 Java EE and Message-Driven Beans Java EE Overview Enterprise JavaBeans 3.0 (EJB3) Overview JMS Resources in Java EE Message-Driven Beans Message-Driven Bean Use Cases Chapter 9 Spring and JMS Spring Messaging Architecture JmsTemplate Overview Connection Factories and JMS Destinations Sending Messages Receiving Messages Synchronously Message-Driven POJOs The Spring JMS Namespace Chapter 10 Deployment Considerations Performance, Scalability, and Reliability To Multicast or Not to Multicast Security Connecting to the Outside World Bridging to Other Messaging Systems Chapter 11 Messaging Design Considerations Internal Versus External Destination Request/Reply Messaging Design Messaging Design Anti-Patterns Appendix The Java Message Service API Message Interfaces Common Facilities Common API Point-to-Point API Publish-and-Subscribe API Appendix Message Headers Appendix Message Properties Property Names Property Values Immutable Properties Property Value Conversion Nonexistent Properties Property Iteration JMS-Defined Properties Provider-Specific Properties Appendix Installing and Configuring ActiveMQ Installing ActiveMQ Configuring ActiveMQ for JNDI Configuration For Chat Examples Configuration for P2P Examples Configuration for Pub/Sub Examples Configuration for Spring JMS Examples Colophon