Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Service Oriented Java Business Integration
Credits
About the Author
Acknowledgement
About the Reviewers
Preface
What This Book Covers
What You Need for This Book
Who is This Book for
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Questions
1. Why Enterprise Service Bus
Boundary-Less Organization
Multiple Systems
No Canonical Data Format
Autonomous, but Federated
Intranet versus Internet
Trading Partners
Integration
Enterprise Application Integration
Integration Architectures
Point-to-Point Solution
Hub-and-Spoke Solution
Enterprise Message Bus Integration
Enterprise Service Bus Integration
Enterprise Service Bus versus Message Bus
Similarities and Differences
Maturity and Industry Adoption
Making the Business Case for ESB
How many Channels
Volatile Interfaces
New Systems Introducing Data Redundancy
Service Reuse
System Management and Monitoring
Enterprise Service Bus
Service in ESB
Abstraction beyond Interface
Service Aggregation
Service Enablement
Service Consolidation
Service Sharing
Linked Services
Virtualization of Services
Services Fabric
Summary
2. Java Business Integration
SOA—The Motto
Why We Need SOA
What is SOA
SOA and Web Services
WSDL
SOAP
Service Oriented Integration (SOI)
JBI in J2EE—How they Relate
Servlets, Portlets, EJB, JCA, and so on
JBI and JCA—Competing or Complementing
JBI—a New Standard
JBI in Detail
JSR 208
JBI Nomenclature
Provider—Consumer Contract
Detached Message Exchange
Provider—Consumer Role
Message Exchange
Service Invocation
Message Exchange Patterns (MEP)
In-Only MEP
Robust In-Only MEP
In-Out MEP
In-Optional-Out MEP
ESB—Will it Solve all Our Pain Points
Summary
3. JBI Container—ServiceMix
ServiceMix—Under the Hood
Salient Features
ServiceMix Architecture
Architecture Diagram
Normalized Message Router Flows
Other ESBs
Mule
Celtix
Iona Artix
PEtALS
ChainBuilder
Installing ServiceMix
Hardware Requirements
OS Requirements
Run-time Environment
Installing ServiceMix in Windows
Installing ServiceMix in Unix
Configuring ServiceMix
Starting ServiceMix
Stopping ServiceMix
Resolving classpath Issues
ServiceMix Components—a Synopsis
Standard JBI Components
Lightweight JBI Components
Your First JBI Sample—Binding an External HTTP Service
Servlet-based HTTP Service
Configure the HTTP Service in ServiceMix
Run ServiceMix Basic JBI Container
Run a Client against ServiceMix
What Just Happened in ServiceMix
Spring XML Configuration for ServiceMix
Summary
4. Binding— The Conventional Way
Binding—What it Means
Binding
Endpoints
Apache SOAP Binding
A Word about Apache SOAP
Apache SOAP Format and Transports
RPC and Message Oriented
Binding Services
Sample Bind a Stateless EJB Service to Apache SOAP
Sample Scenario
Code Listing
Running the Sample
Deploying the EJB
Bind EJB to SOAP
Run the Client
What Just Happened
How the Sample Relates to ServiceMix
Summary
5. Some XFire Binding Tools
Binding in XFire
XFire Transports
JSR181 and XFire
Web Service Using XFireConfigurableServlet
Sample Scenario
Code Listing
Running the Sample
Web Service using XFire Spring XFireExporter
Sample Scenario
Code Listing
Running the Sample
Web Service Using XFire Spring Jsr181 Handler
Sample Scenario
Code Listing
Running the Sample
XFire Export and Bind EJB
Sample Scenario
Code Listing
Running the Sample
XFire for Lightweight Integration
Summary
6. JBI Packaging and Deployment
Packaging in ServiceMix
Installation Packaging
Service Assembly Packaging
Service Unit Packaging
Deployment in ServiceMix
Standard and JBI compliant
Lightweight
Packaging and Deployment Sample
Phase One—Component Development
Phase Two—Component Packaging
Running the Packaging and Deployment Sample
Summary
7. Developing JBI Components
Need for Custom JBI Components
ServiceMix Component Helper Classes
MessageExchangeListener
TransformComponentSupport
Create, Deploy, and Run JBI Component
Code HttpInterceptor Component
Configure HttpInterceptor Component
Package HttpInterceptor Component
Deploy HttpInterceptor Component
Build and Run the Sample
Summary
8. Binding EJB in a JBI Container
Component versus Services
Coexisting EJB Components with Services
Indiscrimination at Consumer Perspective
Binding EJB Sample
Step One—Define and Deploy the EJB Service
Step Two—Bind EJB to ServiceMix
Step Three—Deploy and Invoke EJB Binding in ServiceMix
Step Four—Access WSDL and Generate Axis-based Stubs to Access EJB Outside Firewall
Reconciling EJB Resources
Summary
9. POJO Binding Using JSR181
POJO
What are POJOs
Comparing POJO with other Components
ServiceMix servicemix-jsr181
JSR 181
servicemix-jsr181
servicemix-jsr181 Deployment
servicemix-jsr181 Endpoint
POJO Binding Sample
Sample Use Case
POJO Code Listing
XBean-based POJO Binding
Deployment Configuration
Deploying and Running the Sample
Access WSDL and Generate Axis-based Stubs to Access POJO Remotely
Accessing JBI Bus Sample
Sample Use Case for Accessing JBI Bus
Sample Code Listing
Build, Deploy, and Run the Sample
Summary
10. Bind Web Services in ESB—Web Services Gateway
Web Services
Binding Web Services
Why Another Indirection?
HTTP
ServiceMix's servicemix-http
servicemix-http in Detail
Consumer and Provider Roles
servicemix-http XBean Configuration
servicemix-http Lightweight Configuration
Web Service Binding Sample
Sample Use Case
Deploy the Web Service
XBean-based servicemix-http Binding
Deploying and Running the Sample
Access WSDL and Generate Axis Stubs to Access the Web Service Remotely
Summary
11. Access Web Services Using the JMS Channel
JMS
Web Service and JMS
Specifications for Web Service Reliable Messaging
SOAP over HTTP versus SOAP over JMS
JMS in ServiceMix
Servicemix-jms
Consumer and Provider Roles
servicemix-jms XBean Configuration
servicemix-jms Lightweight Configuration
Protocol Bridge
Web Service in the JMS Channel Binding Sample
ServiceMix Component Architecture for the JMS Web Service
Deploy the Web Service
XBean-based servicemix-jms Binding
XBean-based servicemix-eip Pipeline Bridge
XBean-based servicemix-http Provider Destination
Deploying the Sample and Starting ServiceMix
Test Web Service Using JMS Channel
Summary
12. Java XML Binding using XStream
Java XML Binding
JAXB
XStream
ServiceMix and XStream
XStream in a Normalized Message Router Sample
Sample Use Case
Code HTTPClient
Unmarshalling to Transfer Objects
HttpInterceptor Component
XStreamInspector Component
Configure Interceptor and Inspector Components
Package Interceptor and Inspector Components
Deploy Interceptor and Inspector Components
Build and Run the Sample
Summary
13. JBI Proxy
Proxy—A Primer
Proxy Design Pattern
JDK Proxy Class
Sample JDK Proxy Class
ServiceMix JBI Proxy
JBI Proxy Sample Implementing Compatible Interface
Proxy Code Listing
XBean-based JBI Proxy Binding
Deployment Configuration
Deploying and Running the Sample
JBI Proxy Sample implementing In-Compatible interface
Proxy Code Listing
XBean-based JBI Proxy Binding
Deployment Configuration
Deploying and Running the Sample
Invoke External Web Service from the ServiceMix Sample
Web Service Code Listing
Axis Generated Client Stubs
XBean-based JBI Proxy Binding
Deployment Configuration
Deploying and Running the Sample
Proxy and WSDL Generation
Summary
14. Web Service Versioning
Service Versioning—A Means to SOA
Services are Autonomous
Change is the Only Constant Thing
All Purpose Interfaces
SOA Versioning—Don't Touch the Anti-Pattern
Types can Inherit—Why not My Schemas
If Not Versions, Then What
Strategy to Version Web Service
Which Level to Version
Version Control in a Schema
targetNamespace for WSDL
Version Parameter
Web Service Versioning Approaches
Covenant
Multiple Endpoint Addresses
Web Service Versioning Sample using ESB
Sample Use Case
Configure Components in ESB
Deploy and Run the Sample
Web Service Versioning Operational Perspective
Summary
15. Enterprise Integration Patterns in ESB
Enterprise Integration Patterns
What are EAI Patterns?
EAI Patterns Book and Site
ServiceMix EAI Patterns
Why ServiceMix for EAI Patterns?
ServiceMix EAI Patterns Configuration
EAI Patterns—Code and Run Samples in ESB
Content-based Router
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Content Enricher
Notation
Explanation
Illustrative Design
Sample Use Case
Sample code and configuration
Deploy and Run the Sample
XPath Splitter
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Static Recipient List
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Wiretap
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Message Filter
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Split Aggregator
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Pipeline
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Static Routing Slip
Notation
Explanation
Illustrative Design
Sample Use Case
Sample Code and Configuration
Deploy and Run the Sample
Summary
16. Sample Service Aggregation
Provision Service Order—Business Integration Sample
Solution Architecture
JBI-based ESB Component Architecture
Understanding the Message Exchange
Deploying and Running the Sample
Summary
17. Transactions, Security, Clustering, and JMX
Cross Cutting Concerns—Support Inside ServiceMix
Transactions
Security
Clustering
JMX
Sample Demonstrating Transaction
Sample Use Case
Configure Transaction in ServiceMix
Deploy and Run the Sample
Sample demonstrating Security
Sample Use Case
Configure Basic Authorization in servicemix-http
Deploy and Run the Sample
Sample Demonstrating Clustering
Sample Use Case
Configure ServiceMix Cluster
Deploy and run the sample
Sample demonstrating JMX
Enable JMX in ServiceMix Application
Initialize JMX Console—MC4J
Retrieve WSDL through JMX
Summary
← Prev
Back
Next →
← Prev
Back
Next →