Java Message Service - Helion
ISBN: 978-05-965-5050-9
stron: 240, Format: ebook
Data wydania: 2000-12-04
Księgarnia: Helion
Cena książki: 109,65 zł (poprzednio: 127,50 zł)
Oszczędzasz: 14% (-17,85 zł)
This book is a thorough introduction to Java Message Service (JMS), the standard Java application program interface (API) from Sun Microsystems that supports the formal communication known as "messaging" between computers in a network. JMS provides a common interface to standard messaging protocols and to special messaging services in support of Java programs. The messages exchange crucial data between computers, rather than between users--information such as event notification and service requests. Messaging is often used to coordinate programs in dissimilar systems or written in different programming languages.Using the JMS interface, a programmer can invoke the messaging services of IBM's MQSeries, Progress Software's SonicMQ, and other popular messaging product vendors. In addition, JMS supports messages that contain serialized Java objects and messages that contain Extensible Markup Language (XML) pages.Messaging is a powerful new paradigm that makes it easier to uncouple different parts of an enterprise application. Messaging clients work by sending messages to a message server, which is responsible for delivering the messages to their destination. Message delivery is asynchronous, meaning that the client can continue working without waiting for the message to be delivered. The contents of the message can be anything from a simple text string to a serialized Java object or an XML document.Java Message Service shows how to build applications using the point-to-point and publish-and-subscribe models; how to use features like transactions and durable subscriptions to make an application reliable; and how to use messaging within Enterprise JavaBeans. It also introduces a new EJB type, the MessageDrivenBean, that is part of EJB 2.0, and discusses integration of messaging into J2EE.
Osoby które kupowały "Java Message Service", wybierały także:
- Metoda dziel i zwyci 89,00 zł, (26,70 zł -70%)
- Język C. Kurs video. Praktyczne wprowadzenie do programowania 99,00 zł, (29,70 zł -70%)
- Wprowadzenie do Javy. Programowanie i struktury danych. Wydanie XII 193,23 zł, (59,90 zł -69%)
- Spring i Spring Boot. Kurs video. Testowanie aplikacji i bezpiecze 125,42 zł, (45,15 zł -64%)
- Maven. Kurs video. Automatyzacja tworzenia aplikacji w Javie 98,98 zł, (39,59 zł -60%)
Spis treści
Java Message Service eBook -- spis treści
- Java Message Service
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Dedication
- Preface
- What Is the Java Message Service?
- Who Should Read This Book?
- Organization
- Software and Versions
- Conventions
- Comments and Questions
- Acknowledgments
- 1. Understanding the Messaging Paradigm
- 1.1. Enterprise Messaging
- 1.1.1. Centralized Architectures
- 1.1.2. Decentralized Architectures
- 1.1.3. Hybrid Architectures
- 1.1.4. Centralized Architecture as a Model
- 1.2. The Java Message Service ( JMS)
- 1.2.1. JMS Messaging Models: Publish-and-Subscribe and Point-to-Point
- 1.2.1.1. Publish-and-subscribe
- 1.2.1.2. Point-to-point
- 1.2.1. JMS Messaging Models: Publish-and-Subscribe and Point-to-Point
- 1.3. Application Scenarios
- 1.3.1. Enterprise Application Integration
- 1.3.2. Business-to-Business
- 1.3.3. Geographic Dispersion
- 1.3.3.1. One-to-many, push-model applications
- 1.3.4. Building Dynamic Systems with Messaging and JMS
- 1.4. RPC Versus Asynchronous Messaging
- 1.4.1. Tightly Coupled RPC
- 1.4.2. Enterprise Messaging
- 1.1. Enterprise Messaging
- 2. Developing a Simple Example
- 2.1. The Chat Application
- 2.1.1. Getting Started with the Chat Example
- 2.1.2. Examining the Source Code
- 2.1.2.1. Bootstrapping the JMS client
- 2.1.2.2. Obtaining a JNDI connection
- 2.1.2.3. The TopicConnectionFactory
- 2.1.2.4. The TopicConnection
- 2.1.2.5. The TopicSession
- 2.1.2.6. The Topic
- 2.1.2.7. The TopicPublisher
- 2.1.2.8. The TopicSubscriber
- 2.1.2.9. The Message
- 2.1.3. Sessions and Threading
- 2.1. The Chat Application
- 3. Anatomy of a JMS Message
- 3.1. Headers
- 3.1.1. Automatically Assigned Headers
- 3.1.1.1. JMSDestination
- 3.1.1.2. JMSDeliveryMode
- 3.1.1.3. JMSMessageID
- 3.1.1.4. JMSTimestamp
- 3.1.1.5. JMSExpiration
- 3.1.1.6. JMSRedelivered
- 3.1.1.7. JMSPriority
- 3.1.2. Developer-Assigned Headers
- 3.1.2.1. JMSReplyTo
- 3.1.2.2. JMSCorrelationID
- 3.1.2.3. JMSType
- 3.1.1. Automatically Assigned Headers
- 3.2. Properties
- 3.2.1. Application-Specific Properties
- 3.2.2. JMS-Defined Properties
- 3.2.3. Provider-Specific Properties
- 3.3. Message Selectors
- 3.3.1. Message Selector Examples
- 3.4. Message Types
- 3.4.1. Message
- 3.4.2. TextMessage
- 3.4.3. ObjectMessage
- 3.4.4. BytesMessage
- 3.4.5. StreamMessage
- 3.4.6. MapMessage
- 3.4.7. Read-Only Messages
- 3.4.8. Client-Acknowledged Messages
- 3.4.9. Interoperability and Portability of Messages
- 3.1. Headers
- 4. Publish-and-Subscribe Messaging
- 4.1. Getting Started with the B2B Application
- 4.1.1. Running the B2B Application
- 4.1.2. The B2B Source Code
- 4.1.2.1. The Wholesaler class
- 4.1.2.2. The Retailer class
- 4.2. Temporary Topics
- 4.3. Durable Subscriptions
- 4.4. Publishing the Message Persistently
- 4.4.1. Persistent Messages and Temporary Topics
- 4.5. JMSCorrelationID
- 4.6. Request and Reply
- 4.6.1. TopicSubscriber.receive( )
- 4.6.2. TopicRequestor
- 4.7. Unsubscribing
- 4.1. Getting Started with the B2B Application
- 5. Point-to-Point Messaging
- 5.1. Point-to-Point and Publish-and-Subscribe
- 5.1.1. When to Use Point-to-Point Messaging
- 5.2. The QWholesaler and QRetailer
- 5.2.1. The QRetailer Class
- 5.2.2. The QWholesaler Class
- 5.3. Creating a Queue Dynamically
- 5.4. Load Balancing Using Multiple QueueSessions
- 5.5. Examining a Queue
- 5.5.1. The QWBrowser Source Code
- 5.1. Point-to-Point and Publish-and-Subscribe
- 6. Guaranteed Messaging, Transactions, Acknowledgments, and Failures
- 6.1. Guaranteed Messaging
- 6.1.1. Message Autonomy
- 6.1.2. Store-and-Forward Messaging
- 6.1.3. Message Acknowledgments and Failure Conditions
- 6.2. Message Acknowledgments
- 6.2.1. AUTO_ACKNOWLEDGE
- 6.2.1.1. The producers perspective
- 6.2.1.2. The server's perspective
- 6.2.1.3. The consumer's perspective
- 6.2.1.4. Message redelivery
- 6.2.1.5. Point-to-point queues
- 6.2.2. DUPS_OK_ACKNOWLEDGE
- 6.2.3. CLIENT_ACKNOWLEDGE
- 6.2.3.1. Grouping multiple messages
- 6.2.1. AUTO_ACKNOWLEDGE
- 6.3. Message Groups and Acknowledgment
- 6.3.1. Handling Redelivery of Messages in an Application
- 6.3.2. Message Groups in QRetailer
- 6.3.2.1. Compensating transactions
- 6.4. Transacted Messages
- 6.4.1. Creating and Using a JMS Transaction
- 6.4.2. The Transacted Retailer Example
- 6.4.3. Distributed Transactions
- 6.5. Lost Connections
- 6.5.1. The Wholesaler Becomes an ExceptionListener
- 6.6. Dead Message Queues
- 6.1. Guaranteed Messaging
- 7. Deployment Considerations
- 7.1. Performance, Scalability, and Reliability
- 7.1.1. Determining Message Throughput Requirements
- 7.1.2. Testing the Real-World Scenario
- 7.1.2.1. Testing with one client
- 7.1.2.2. Send rate versus receive rate
- 7.1.2.3. Determining hardware requirements
- 7.1.2.4. Finding or building a test bed
- 7.1.2.5. Long duration reliability
- 7.1.2.6. Memory leaks
- 7.2. To Multicast or Not to Multicast
- 7.2.1. TCP/IP
- 7.2.2. UDP
- 7.2.3. IP Multicast
- 7.2.4. Messaging Over IP Multicast
- 7.2.4.1. Duplication, ordering, and reliability of messages
- 7.2.4.2. Centralized and decentralized architectures
- 7.2.4.3. Network routers and firewalls
- 7.2.4.4. Some vendors support both centralized and decentralized architectures
- 7.2.5. The Bottom Line
- 7.3. Security
- 7.3.1. Authentication
- 7.3.2. Authorization
- 7.3.3. Secure Communication
- 7.3.4. Firewalls and HTTP Tunneling
- 7.4. Connecting to the Outside World
- 7.5. Bridging to Other Messaging Systems
- 7.1. Performance, Scalability, and Reliability
- 8. J2EE, EJB, and JMS
- 8.1. J2EE Overview
- 8.1.1. Enterprise JavaBeans
- 8.1.2. Servlets
- 8.1.3. JavaServer Pages
- 8.2. J2EE: A United Platform
- 8.3. The JMS Resource in J2EE
- 8.4. The New Message-Driven Bean in EJB 2.0
- 8.1. J2EE Overview
- 9. JMS Providers
- 9.1. IBM: MQSeries
- 9.1.1. Version 5.1
- 9.1.2. Next Version
- 9.2. Progress: SonicMQ
- 9.2.1. Version 3.0
- 9.2.2. Next Version
- 9.3. Fiorano: FioranoMQ
- 9.3.1. FioranoMQ Multicast 4.5
- 9.3.2. FioranoMQ Enterprise 4.5
- 9.3.3. Next Version
- 9.4. Softwired: iBus
- 9.4.1. iBus//MessageBus 3.1
- 9.4.2. iBus//MessageServer 4.1
- 9.4.3. iBus//Mobile 1.0
- 9.4.4. Next Versions
- 9.5. Sun Microsystems: Java Message Queue
- 9.5.1. Version 1.1
- 9.5.2. Next Version
- 9.6. BEA: WebLogic Server
- 9.6.1. Version 5.1
- 9.6.2. Next Version
- 9.7. ExoLab: OpenJMS
- 9.7.1. Beta Version 0.4
- 9.7.2. Version 1.0
- 9.1. IBM: MQSeries
- A. The Java Message Service API
- A.1. Common Facilities
- A.1.1. BytesMessage
- A.1.2. Connection
- A.1.3. ConnectionFactory
- A.1.4. ConnectionMetaData
- A.1.5. DeliveryMode
- A.1.6. Destination
- A.1.7. ExceptionListener
- A.1.8. JMSException
- A.1.9. MapMessage
- A.1.10. Message
- A.1.11. MessageConsumer
- A.1.12. MessageListener
- A.1.13. MessageProducer
- A.1.14. ObjectMessage
- A.1.15. Session
- A.1.16. StreamMessage
- A.1.17. TextMessage
- A.2. Point-to-Point API
- A.2.1. Queue
- A.2.2. QueueBrowser
- A.2.3. QueueConnection
- A.2.4. QueueConnectionFactory
- A.2.5. QueueReceiver
- A.2.6. QueueSender
- A.2.7. QueueSession
- A.2.8. TemporaryQueue
- A.3. Publish-and-Subscribe API
- A.3.1. TemporaryTopic
- A.3.2. Topic
- A.3.3. TopicConnection
- A.3.4. TopicConnectionFactory
- A.3.5. TopicPublisher
- A.3.6. TopicSession
- A.3.7. TopicSubscriber
- A.1. Common Facilities
- B. Message Headers
- JMSDestination
- JMSDeliveryMode
- JMSMessageID
- JMSTimestamp
- JMSExpiration
- JMSRedelivered
- JMSPriority
- JMSReplyTo
- JMSCorrelationID
- JMSType
- C. Message Properties
- C.1. Property Names
- C.2. Property Values
- C.3. Read-Only Properties
- C.4. Property Value Conversion
- C.5. Nonexistent Properties
- C.6. Property Iteration
- C.7. JMS-Defined Properties
- C.7.1. Optional JMS-Defined Properties
- C.7.2. Group JMS-Defined Properties
- C.8. Provider-Specific Properties
- D. Message Selectors
- D.1. Identifiers
- D.2. Literals
- D.3. Comparison Operators
- D.4. Arithmetic Operators
- D.5. Declaring a Message Selector
- D.6. Not Delivered Semantics
- About the Authors
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly