Enterprise Service Bus integration for Java developers
Binildas C. A.
PACKT PUBLISHING
1 Why Enterprise Service Bus
Line of Businesses (LOB) Enterprise Service Bus (ESB) Enterprise Application Integration (EAI) Java Business Integration (JBI)
Boundary-Less Organization
Multiple Systems
No Canonical Data Format
Autonomous, but Federated
Intranet versus Internet
Trading Partners
Integration
Enterprise Application Integration
"The unrestricted sharing of data and business processes among any connected applications and data sources in the enterprise"
Integration Architectures
*Point-to-Point solution
In point-to-point, we define an integration solution for a pair of applications. We can build protocol and/or format adapters, or transformers at one or either end. We normally use technology-specific APIs like FTP, IIOP, remoting or batch interfaces, to realize integration. The advantage is that between these two points, we have tight coupling, since both ends have knowledge about their peers.
*Hub-and-Spoke solution
Hub-and-spoke architecture is also called the message broker. Each application connects with the central hub through lightweight connectors. Message transformation and routing takes place within the hub. If the hub fails, the entire integration topology fails.
* Enterprise Message Bus Integration
While the hub-and-spoke architecture makes use of lightweight connectors for applications to integrate together through a central hub, many a times the integrating applications need to interact in a decoupled fashion, so that they can be easily added or removed without affecting the others. An enterprise message bus provides a common communication infrastructure, which acts as a platform-neutral and language-neutral adapter between applications.
*Enterprise Service Bus Integration
Different applications will not communication directly with each other for integration; instead they communication through this middleware Service Oriented Architecture (SOA) backbone.
ESB is a collection of middleware services which provides integration capabilities.
EBS is neither a product nor a separate technology; instead, ESB is a platform-level concept, a set of tools, and a design philosophy.
Major features and functionalities supported by ESB: * Addressing and routing * Synchronous and asynchronous style * Multiple transport and protocol bindings * Content transformation and translation * Business process orchestration * Event processing * Adapters to multiple platforms * Integration of design, implementation, and deployment tools * QOS features like transactions, security, and persistence * Auditing, logging, and metering * Management and monitoring
Enterprise Service Bus versus Message Bus
The main difference between enterprise message bus and enterprise service bus architecture is in the manner in which the consumer or the client applicatioin interact with the messaging middleware.
Making the Business Case for ESB
How many Channels
Volatile Interfaces
New Systems Introducing Data Redundacy
Straight-Through Processing (STP)
Service Reuse
Enterprise Integration Patterns (EIP)
System Management and Monitoring
Service Level Agreement (SLA)
Enterprise Service Bus
Service in ESB
Services are exposed functionalities which are clearly defined, self contained, and which will not depend on the state and context of peer service.
Abstraction beyond interface
Service Aggregation
Business Process Management (BPM) tools can be integrated over ESB to leverage service aggregation and service collaboration. This facilitate reuse of basic or core (or fine grained) services at the business process-level. So, granularity of services is important which will also decide the level of reusability.
Coarse Grained or Composite Services consume Fine Grained Services.
Service Enablement
Aspect Oriented Programming (AOP)
Service Consolidation
Service consolidation is an important step to eliminate redundant information and data.
Service Sharing
Linked Services
Virtualization of Services
Services Fabric
Summary