You are previewing Enterprise Messaging Using JMS and IBM® WebSphere®.
O'Reilly logo
Enterprise Messaging Using JMS and IBM® WebSphere®

Book Description

The real-world guide to JMS messaging with IBM WebSphere technologies

This book offers start-to-finish guidance for building reliable, high-performance JMS-based messaging infrastructure with IBM WebSphere technologies.

IBM expert Kareem Yusuf systematically introduces the latest versions of JMS—both 1.1 and 1.02b. Once you've thoroughly mastered JMS development on any platform, Yusuf turns to the exceptional JMS support found in IBM's WebSphere products. Using extensive code examples, he walks you step-by-step through WebSphere JMS development, configuration, deployment, and administration in several real-world scenarios. Coverage includes:

  • Roles and goals of messaging infrastructure in the enterprise

  • Key JMS concepts: messaging domains, messages, and Application Server Facilities

  • Defining/structuring content, choosing message types, and manipulating messages

  • The JMS API, explained through detailed code examples

  • Using JMS with EJB, message-driven beans, servlets, and portlets

  • Working with IBM WebSphere JMS providers, administered objects, and tools

  • Hands-on tutorials: EJB message exchange, integration with non-JMS applications, and SSL security

  • Resource location and physical topologies for maximizing availability and efficiency

Whether you're developing enterprise messaging infrastructure, architecting it, or managing it, this book delivers indispensable guidance-straight from the frontlines.

On the Web

Download an extensive library of code samples for JMS 1.1 and 1.02b, including complete functional prototypes built for JMS 1.02b.

Table of Contents

  1. Copyright
    1. Dedication
  2. IBM Press Series—Information Management
    1. On Demand Computing Books
    2. DB2 Books
    3. More Books from IBM Press
  3. Preface
    1. Purpose of This Book
    2. Who Should Read This Book
    3. What's in This Book
      1. Part 1: Enterprise Messaging and JMS
      2. Part 2: Using JMS with IBM WebSphere
      3. Appendices
    4. How to Use this Book
    5. Software and Versions
  4. Acknowledgments
  5. 1. Enterprise Messaging and JMS
    1. 1. Enterprise Messaging
      1. Defining Messaging
      2. Messaging Architecture
        1. Message Distribution Paradigms
          1. Point-to-Point
          2. Publish-Subscribe
        2. Interaction Patterns
          1. Message Producer
          2. Message Consumer
          3. Request-Reply
        3. Connectivity Options
      3. Summary
    2. 2. Java Message Service
      1. Key Concepts
      2. Messaging Domains
        1. What's New in JMS 1.1
      3. JMS Messages
      4. Application Server Facilities
        1. Concurrent Processing of Incoming Messages
        2. Distributed or Global Transactions
      5. Summary
    3. 3. JMS Messages
      1. Message Definition
        1. XML
          1. Anatomy of an XML Document
          2. DTDs and Schemas
          3. Processing XML Documents
            1. SAX
            2. DOM
            3. JAXP
            4. JDOM
        2. Tagged/Delimited
          1. Variable-Length Delimited
          2. Tagged Delimited
            1. Processing Tagged/Delimited Formats
        3. Record-Oriented
      2. JMS Message Structure
        1. Message Header
          1. Overriding Message Header Fields
        2. Properties
          1. Application-Specific Properties
          2. Standard Properties
          3. Provider-Specific Properties
        3. Message Selectors
        4. Message Body
      3. Using the JMS Message Interface
        1. BytesMessage
        2. TextMessage
        3. StreamMessage
        4. MapMessage
        5. ObjectMessage
      4. Summary
    4. 4. Using the JMS API
      1. The JMS Client: Implementation Considerations
      2. Point-to-Point Interface
        1. Connecting to a Provider
          1. Creating an InitialContext
          2. Retrieving the QueueConnectionFactory
          3. Create a QueueConnection
          4. Create a QueueSession
        2. Sending Messages
        3. Receiving Messages
          1. Receiving Messages Using JMS MessageListener
        4. Additional Facilities
          1. Using QueueRequestor
          2. Browsing Messages
      3. Publish-Subscribe Interface
        1. Connecting to a Provider
        2. Publishing Messages
        3. Creating Subscribers
          1. Nondurable Subscribers
          2. Durable Subscriber
        4. Additional Facilities
      4. Handling JMS Exceptions
      5. Handling Local Transactions
      6. Unified Interface
      7. Summary
  6. 2. Using JMS with IBM WebSphere
    1. 5. IBM JMS Providers
      1. The WebSphere Software Platform
      2. WebSphere MQ
        1. System Components
          1. MQ Queue Manager
          2. MQ Message
          3. MQ Queue
        2. JMS Support
          1. Mapping the JMS API to the MQI
          2. Mapping JMS Messages to MQ Messages
            1. The <mcd> Folder
            2. The <jms> Folder
            3. The <usr> Folder
            4. The <psc> Folder
      3. WebSphere MQ Everyplace
        1. JMS Support
      4. WebSphere Business Integration Message Broker
        1. System Components
          1. Broker Runtime
          2. Definition Tools
        2. JMS Support
      5. WebSphere Application Server
        1. JMS Support
          1. Transaction Management and MDB Support
          2. WebSphere JMS Provider (Embedded JMS Server)
          3. JMS Administration Facilities
          4. Extended Messaging Service
      6. Summary
    2. 6. IBM JMS–Administered Objects
      1. Administered Objects Revisited
      2. WebSphere JMS Provider (Embedded JMS Server)
        1. WebSphere QueueConnectionFactory
        2. WebSphere TopicConnectionFactory
        3. WebSphere Queue
        4. WebSphere Topic
      3. WebSphere MQ JMS Provider
        1. MQQueueConnectionFactory
        2. MQTopicConnectionFactory
        3. MQXAQueueConnectionFactory and MQXATopicConnectionFactory
        4. JMSWrapXAQueueConnectionFactory and JMSWrapXATopicConnectionFactory
        5. WebSphere Application Server Runtime Properties
        6. MQQueue
        7. MQTopic
      4. Creating Administered Objects
        1. WebSphere Application Server Administration Console
        2. JMSAdmin
      5. Summary
    3. 7. JMS Implementation Scenarios
      1. Development Environment
      2. Scenario 1: Exchanging Messages Using EJBs
        1. Create the Sender Session Bean
          1. Create the Session Bean
          2. Implement the JMS Client
            1. Import Packages and Define Class Variables
            2. Modify ejbCreate and ejbRemove
            3. Implement the Submit Method
          3. Define Administered Objects
            1. Set Up a Unit Test Environment
            2. Create Administered Objects
            3. Update the JMS Server Configuration
          4. Deploy the Sender Enterprise Application
            1. Define Resource References
            2. Add the Enterprise Application to the Server
        2. Create the Message-Driven Bean
          1. Implement the MDB
          2. Define Administered Object and Listener Port
            1. Create the QueueConnectionFactory
            2. Define the Listener Port
          3. Deploy the Receiver Enterprise Application
        3. Test the Scenario Implementation
      3. Scenario 2: Implementing Publish-Subscribe
        1. Create the Publisher Session Bean
          1. Implement the Publisher Session Bean
            1. Modify ejbCreate and ejbRemove
            2. Implement the publish Method
          2. Define Administered Objects
          3. Deploy the Publisher Enterprise Application
            1. Define Resource References
            2. Add the Enterprise Application to the Server
        2. Create the Subscriber Message-Driven Beans
          1. Implement the Subscriber MDBs
          2. Define Administered Objects and Listener Ports
            1. Create the TopicConnectionFactory
            2. Define the Listener Ports
          3. Deploy the Subscribers Enterprise Application
        3. Test the Scenario Implementation
      4. Scenario 3: Communicating with Non-JMS Clients
        1. Using the WebSphere MQ JMS Provider
          1. Create Administered Objects
          2. Define WebSphere MQ Resources
          3. Modify and Deploy the Sender Enterprise Application
        2. Testing the Scenario Implementation
      5. Scenario 4: Securing JMS Communications
        1. SSL Concepts
          1. Eavesdropping
          2. Tampering
          3. Impersonation
          4. SSL Handshake
        2. Configuring WebSphere MQ SSL
          1. Obtaining Digital Certificates
            1. Generate the MQ Queue Manager's Certificate
            2. Generate the JMS Client's Certificate
            3. Exchange Public Certificates
          2. Configuring Resources
            1. Configure the Server Connection Channel
            2. Create JMS-Administered Objects
            3. Creating a Generic JMS Provider
            4. Set JVM Properties
            5. Modify the Sender Session Bean's Resource References
        3. Testing the Scenario Implementation
      6. Summary
    4. 8. Enterprise Deployment
      1. JMS Provider Location
      2. Clustering Topologies
        1. High-Availability Clusters
        2. Workload Management Clusters
        3. Message Broker Collectives and Clones
      3. JNDI Namespace Provider
      4. Summary
    5. A. JMS Specification Excerpts
      1. Message Selector Syntax
      2. JMS Standard Exceptions
    6. B. Implementing XA Global Transactions
      1. Development Environment
      2. Using XA Global Transactions
        1. Create the Entity Bean
          1. Create Employee Record Entity Bean
            1. Add an ejbCreate method
          2. Generate Table Script and Mapping
          3. Configure DB2 Resources
          4. Configure the Entity Bean
            1. Define an XA JDBC Data Source
            2. Update Deployment Descriptor and Generate Deploy Code
        2. Create the Session Bean
          1. Implement the Session Bean
            1. Modify ejbCreate
            2. Define the Update Method
          2. Configure the Session Bean
        3. Modify the MDB
        4. Test the Scenario Implementation
    7. C. Implementing Publish-Subscribe II
      1. Development Environment
      2. Using Message Broker
        1. Broker Configuration
          1. Create the Broker
            1. Default Broker Configuration
            2. Configure the Hosting MQ Queue Manager
          2. Define Publish Message Flow
            1. Create Message Flow
            2. Deploy Message Flow
        2. Update Application Configuration
          1. Create Administered Objects
          2. Update Listener Port Definitions
          3. Update Resource References and Re-deploy
        3. Test the Scenario Implementation
    8. D. Resources
      1. Java-Related Books
        1. Bibliography
      2. IBM Product Manuals
      3. IBM Redbooks
      4. IBM Supportpacs
      5. Reference Websites
      6. Technical Articles
        1. Bibliography