You are previewing Mule 2: A Developer's Guide.
O'Reilly logo
Mule 2: A Developer's Guide

Book Description

Published with the developer in mind, firstPress technical briefs explore emerging technologies that have the potential to be critical for tomorrow's industry. Apress keeps developers one step ahead by presenting key information as early as possible in a PDF of 150 pages or less. Explore the future through Apress...

Mule 2: A Developer's Guide introduces the Mule 2.0 integration platform for developers of enterprise integration applications who wish to leverage the latest Mule as a lightweight messaging framework that contains a distributable object broker for managing communication between applications.

  • The book is based on insight, knowledge, and experience resulting from working with Mule.

  • The text provides support, consulting, and training to developers implementing Mule in a broad range of scenarios ranging from small projects through to large corporations developing major deployments.

  • The author(s) have also developed the official training materials for Mule.

Table of Contents

  1. Copyright
  2. about
  3. Mule 2: A Developer's Guide to ESB and Integration Platform
  4. Acknowledgements
  5. 1. Fundamental Mule
    1. 1.1. The Enterprise Service Bus
    2. 1.2. Mule Features
    3. 1.3. Enterprise vs. Community Edition
    4. 1.4. Anatomy of a Mule
      1. 1.4.1. Installing Mule as a Service (or Daemon)
      2. 1.4.2. The Design-Time Container
      3. 1.4.3. Mule 2 Configuration File Structure
      4. 1.4.4. Service Components
      5. 1.4.5. Configuring Service Components
      6. 1.4.6. Endpoints
      7. 1.4.7. Configuring Global Endpoints
      8. 1.4.8. Connectors
      9. 1.4.9. Routers
      10. 1.4.10. Transformers
      11. 1.4.11. Complete Mule 2.0 Configuration File
    5. 1.5. Summary
  6. 2. Routers and Routing
    1. 2.1. Routing Patterns
      1. 2.1.1. Inbound Routing
      2. 2.1.2. The Response Routing Pattern
      3. 2.1.3. Inbound vs. Outbound
      4. 2.1.4. Routing Options
    2. 2.2. Summary
  7. 3. Modeling Applications
    1. 3.1. Real-World Scenario
      1. 3.1.1. Checking In
      2. 3.1.2. Luggage Handling
      3. 3.1.3. Airport Interaction
      4. 3.1.4. Modeling the Solution
      5. 3.1.5. Modeling Points
      6. 3.1.6. Implementing a Modeled Application
    2. 3.2. Summary
  8. 4. Creating a Mule Application
    1. 4.1. Core Tools and Components
      1. 4.1.1. Installing Mule
      2. 4.1.2. The Mule IDE
    2. 4.2. Creating Your Mule Application
      1. 4.2.1. Service Components
      2. 4.2.2. The Mule Configuration File
      3. 4.2.3. Running Your Mule Application
      4. 4.2.4. Installing Mule as a Service (or Daemon)
    3. 4.3. Unit Tests
      1. 4.3.1. Testing Applications
      2. 4.3.2. Black Box Testing a Mule Server
      3. 4.3.3. Creating a Test Case
      4. 4.3.4. Messages in Mule
      5. 4.3.5. Communicating with the Mule Server
      6. 4.3.6. Asserting Output
      7. 4.3.7. Testing Mule Using JUnit
    4. 4.4. Summary
  9. 5. Mule Transports
    1. 5.1. Transport Architecture
      1. 5.1.1. Connectors and Endpoints
      2. 5.1.2. A Transport
      3. 5.1.3. The MessageReceiver Interface
      4. 5.1.4. The MessageDispatcher Interface
      5. 5.1.5. Transport Overrides
      6. 5.1.6. Service Descriptor File
    2. 5.2. Transports and Their Configuration
      1. 5.2.1. The Console Transport
      2. 5.2.2. The Virtual Machine (VM) Transport
      3. 5.2.3. Processing Queues
      4. 5.2.4. The File Transport
      5. 5.2.5. The HTTP Transport
      6. 5.2.6. The FTP Transport
      7. 5.2.7. The SMTP Transport
      8. 5.2.8. The JMS Transport
      9. 5.2.9. The JDBC Transport
    3. 5.3. Summary
  10. 6. Web Services in Mule
    1. 6.1. Overview
      1. 6.1.1. Simple Object Access Protocol
      2. 6.1.2. Mule and Web Services
    2. 6.2. The CXF Transport
      1. 6.2.1. From XFire to CXF
      2. 6.2.2. The CXF Connector
      3. 6.2.3. Attributes
      4. 6.2.4. Hosting a CXF Web Service
      5. 6.2.5. CXF Outbound Endpoint
    3. 6.3. The Axis Transport
      1. 6.3.1. Axis Connector Attributes
      2. 6.3.2. Hosting an Axis Web Service
      3. 6.3.3. Connecting to an Axis Web Service
      4. 6.3.4. Invoking Non-Axis Web Services
    4. 6.4. REST
    5. 6.5. Summary
  11. 7. Extending Mule
    1. 7.1. Building a Transformer
      1. 7.1.1. Transforms: ESB or Service?
      2. 7.1.2. Introducing AbstractTransformer
    2. 7.2. Building a Filter
      1. 7.2.1. Overview
      2. 7.2.2. Complex to Simple Filter
      3. 7.2.3. Creating a New Filter
    3. 7.3. Building a Router
      1. 7.3.1. Overview
      2. 7.3.2. MuleEvent Methods
      3. 7.3.3. Inbound Routers
      4. 7.3.4. Outbound Routers
      5. 7.3.5. Extending a Router
      6. 7.3.6. An Idempotent Router
    4. 7.4. Summary
  12. 8. Resilient Mule Applications
    1. 8.1. Error Handling and Recovery
      1. 8.1.1. Mule's Exception Strategy Classes
      2. 8.1.2. Configuring Exception Strategies
      3. 8.1.3. Flexible Exception Strategies
      4. 8.1.4. Exception Strategies—Create Your Own
      5. 8.1.5. Routing Patterns—Exception Router
    2. 8.2. Transactions in Mule
      1. 8.2.1. Single vs. XA Transactions
      2. 8.2.2. The Transaction Manager
      3. 8.2.3. Transactional Endpoints
      4. 8.2.4. Poison Messages
    3. 8.3. Connection Strategies
    4. 8.4. Summary