Table of Contents

Copyright

Brief Table of Contents

Table of Contents

Foreword

Foreword

Preface

Acknowledgments

About this Book

1. Understanding ESB functionality

Chapter 1. The world of open source ESBs

1.1. Why do you need an ESB?

1.1.1. Benefits of an ESB

1.1.2. Using an ESB from an application perspective

1.2. Explaining the core functionalities of an ESB

1.2.1. Location transparency

1.2.2. Transport protocol conversion

1.2.3. Message transformation

1.2.4. Message routing

1.2.5. Message enhancement

1.2.6. Security

1.2.7. Monitoring and management

1.2.8. Core functionality overview

1.3. Researching the open source ESB market

1.3.1. Demystifying the open source ESB

1.3.2. Overview of open source ESBs

1.4. Why did we choose Mule and ServiceMix?

1.4.1. Defining selection criteria

1.4.2. Assessing the open source ESBs

1.5. Hello world with Mule and ServiceMix

1.5.1. Taking a donkey ride with Mule

1.5.2. Taking a JBI dive with ServiceMix

1.6. Summary

Chapter 2. Architecture of Mule and ServiceMix

2.1. Mule architecture and components

2.1.1. Mule components overview

2.1.2. Mule endpoints

2.1.3. Transformers

2.1.4. Routers

2.1.5. Component

2.1.6. Mule deployment models

2.1.7. Mule wrap-up

2.2. JBI, the foundation for ServiceMix

2.2.1. Service engines and binding components

2.2.2. Services and endpoints

2.2.3. Normalized message router

2.2.4. Service description, invocation, and message exchanges

2.2.5. Service unit and service assembly

2.2.6. JBI wrap-up

2.3. ServiceMix architecture and components

2.3.1. ServiceMix overview

2.3.2. Routing and transformations in ServiceMix

2.3.3. ServiceMix deployment models

2.3.4. ServiceMix wrap-up

2.4. Summary

Chapter 3. Setting up the Mule and ServiceMix environments

3.1. Three technologies enhancing the ESB functionality

3.1.1. Using Spring as an object container

3.1.2. XML marshaling with JiBX

3.1.3. Using JMS with the ActiveMQ broker

3.2. Preparing the development environment

3.2.1. Setting up ESBs, tools, and required libraries

3.2.2. Running examples from Eclipse

3.3. Inaugurate the Mule environment

3.3.1. Writing and configuring the Mule components

3.3.2. Running the Mule example

3.4. Inaugurate the ServiceMix environment

3.4.1. Select the necessary JBI components

3.4.2. Configuring the ServiceMix example implementation

3.4.3. Running the ServiceMix example

3.5. Summary

Chapter 4. The foundation of an integration solution

4.1. Implementing integration logic with Mule

4.1.1. Creating a logging solution with Mule

4.1.2. Developing a custom transformer with Mule

4.1.3. Integrating Mule and Spring

4.2. Implementing integration logic with ServiceMix

4.2.1. Creating a logging service assembly for ServiceMix

4.2.2. Creating service units and a service assembly

4.2.3. Integrating ServiceMix and Spring

4.3. Constructing message flows with an ESB

4.3.1. What is a message flow?

4.3.2. A message flow case study

4.4. Implementing a message flow with Mule

4.4.1. Implementing the request flow with Mule

4.4.2. Implementing the response flow with Mule

4.5. Implementing a message flow with ServiceMix

4.5.1. Implementing the request flow with ServiceMix

4.5.2. Implementing the response flow with ServiceMix

4.6. Interlude: Spring Integration

4.6.1. A quick example with Spring Integration

4.7. Summary

2. Using ESB core functionalities

Chapter 5. Working with messages

5.1. Routing messages

5.1.1. Fixed router

5.1.2. Content-based router

5.2. Validating messages

5.2.1. Validating messages with Mule

5.2.2. Validating messages with ServiceMix

5.2.3. An alternative way to perform message validation using Synapse

5.3. Transforming messages

5.3.1. Implementing message transformation in Mule

5.3.2. Implementing message transformation in ServiceMix

5.4. Summary

Chapter 6. Connectivity options

6.1. File connectivity

6.1.1. Mule File transport

6.1.2. ServiceMix file transport

6.2. Connecting to JMS

6.2.1. Connecting Mule to JMS

6.2.2. Connecting ServiceMix to JMS

6.3. Connecting to a database using JDBC

6.3.1. Connecting Mule to JDBC

6.3.2. Connecting ServiceMix to JDBC

6.4. Connecting to mail servers

6.4.1. Connecting Mule to POP3 and SMTP

6.4.2. Connecting ServiceMix to POP3 and SMTP

6.5. FTP connectivity

6.5.1. FTP and Mule

6.5.2. FTP and ServiceMix

6.6. Connecting to EJB 3

6.6.1. Using EJB 3 from Mule

6.6.2. EJB 3 and ServiceMix

6.7. Summary

Chapter 7. Web services support

7.1. Top-down approach web service

7.1.1. Java implementation of the web service

7.1.2. Implementing a top-down web service using Mule

7.1.3. Implementing a top-down web service using ServiceMix

7.2. Bottom-up approach

7.2.1. Bottom-up approach using Mule

7.2.2. Bottom-up approach using ServiceMix

7.3. Consuming web services

7.3.1. Consuming web services with Mule

7.3.2. Consuming web services using ServiceMix

7.4. Web service standards

7.4.1. WS-Security

7.4.2. Using WS-Security with Mule

7.4.3. Using WS-Security with ServiceMix

7.4.4. WS-Addressing

7.4.5. Using WS-Addressing in Mule

7.4.6. Using WS-Addressing in ServiceMix

7.5. Summary

Chapter 8. Implementing enterprise-quality message flows

8.1. Handling errors in your message flow

8.1.1. Error handling with Mule

8.1.2. Error handling in ServiceMix

8.2. Securing the ESB environment

8.2.1. Authentication and authorization with Mule

8.2.2. Authentication and authorization with ServiceMix

8.3. Making your message flows transactional

8.3.1. Implementing transactional message flows in Mule

8.3.2. Implementing transactional message flows in ServiceMix

8.4. Summary

3. ESB case studies

Chapter 9. Implementing a case study using patterns

9.1. Introducing a design approach for integration projects

9.1.1. Introducing the Enterprise Integration patterns

9.1.2. Analyzing a pattern-based design approach

9.2. Introducing a restaurant table reservation case study

9.3. Designing the restaurant table reservation solution

9.3.1. Designing a publish-subscribe message flow

9.3.2. Designing a filtering and routing message flow

9.4. Implementing the case study with Mule and ServiceMix

9.4.1. The Spring and Hibernate building blocks

9.4.2. Implementing the Mule message flow

9.4.3. Implementing the ServiceMix message flow

9.5. Testing and deploying the integration solution

9.5.1. Using JUnit to test the Mule and ServiceMix flows

9.5.2. Deploying an integration solution to a production environment

9.6. Summary

Chapter 10. Managing and monitoring the ESB

10.1. System-management Enterprise Integration patterns

10.1.1. The Wire Tap pattern

10.1.2. The Message Store pattern

10.1.3. The Detour pattern

10.2. Monitoring using JMX

10.2.1. Using JMX to administer Mule

10.2.2. Monitoring Mule using MC4J

10.2.3. Mule Galaxy and Mule HQ

10.2.4. Using JMX to administer ServiceMix

10.2.5. Monitoring ServiceMix using MC4J

10.3. Summary

Chapter 11. Implementing a process engine in the ESB

11.1. Introducing the process engine

11.1.1. The execution environment for processes

11.1.2. Designing processes for a process engine

11.2. A process engine case study: booking a day of scuba diving

11.3. Diving into the messages and services

11.3.1. Designing the case study message definitions

11.3.2. Serializing the case study messages to XML with JiBX

11.3.3. Setting the stage for the case study implementation

11.4. Implementing a process engine with jBPM and jPDL

11.4.1. Orchestrating services with jPDL

11.4.2. Implementing the case study with jBPM and Mule

11.5. Implementing a process engine with Apache ODE and WS-BPEL

11.5.1. Orchestrating services with WS-BPEL

11.5.2. Implementing the case study with Apache ODE and ServiceMix

11.6. Summary

Appendix A. ServiceMix 4.0

The new architecture of ServiceMix 4

A new project structure with Servicemix 4

A little background in OSGi

Getting started with ServiceMix 4

Appendix B. Differences between Mule 1.4.x and Mule 2.0.x

XSD-based configuration

Transport-specific endpoints

API changes

Appendix C. Graphical tool support

Graphical tool support with Mule IDE 2.0

Graphical tool support with the Enterprise Integration Designer

Appendix D. Mule component overview

Mule core elements

Mule BPM elements

Mule EJB elements

Mule email elements

Mule file elements

Mule FTP elements

Mule HTTP elements

Mule IMAP elements

Mule JDBC elements

Mule JMS elements

Mule POP3 elements

Mule Quartz elements

Mule RMI elements

Mule SMTP elements

Mule VM elements

Appendix E. ServiceMix component overview

ServiceMix bean elements

ServiceMix cxf-bc elements

ServiceMix cxf-se elements

ServiceMix drools elements

ServiceMix EIP elements

ServiceMix file elements

ServiceMix FTP elements

ServiceMix HTTP elements

ServiceMix JMS elements

ServiceMix JSR 181 elements

ServiceMix Quartz elements

ServiceMix Saxon elements

ServiceMix script elements

ServiceMix TrueZIP elements

ServiceMix WSN-2005 elements

ServiceMix XMPP elements

Appendix F. The Swing test client

Starting the Swing test client

Using the Swing test client

Appendix G. Overview of tools and libraries

Tools

Libraries

Index

List of Figures

List of Tables

List of Listings

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.221.232.187