SOA on your terms with our expertise
IBM WebSphere Enterprise Service Bus
Hands-on Workshop
Featured Products …
IBM WebSphere
Enterprise Service Bus
(ESB)
WebSphere Integration
Objectives
After this session you should be able to:
Describe the role of an ESB in a Service Oriented Architecture (SOA)
Understand where it can be used in your organization
Use the WebSphere Integration Developer to develop a mediation
Agenda
1230 – 1300 Registration and Lunch (0:30)
1300 – 1315 Introductions (0:15)
1315 – 1345 SOA and ESB (0:30)
1345 – 1430 WebSphere Enterprise Service Bus Introduction (0:45)
1430 – 1445 Break (0:15)
1445 – 1530 Basic Mediation Lab – Parts 1 thru 4 (0:45)
1530 – 1600 SMOs & Primitives (0:30)
1600 – 1645 Basic Mediation Lab – Parts 5 thru 7 (0:45)
SOA on your terms with our expertise
SOA and ESB
Service Oriented Architecture and the
Enterprise Service Bus
A programming model complete with standards,
tools, methods and technologies such as Web
services
A model of the business and related key
performance indicators
Roles
Service Oriented Architecture
Different Things to Different People
An architectural style which requires a service
provider, requestor and a service description. It
addresses characteristics such as loose coupling,
reuse and simple and composite implementations.
Implementation
Architecture
Business
Operations
A set of agreements and contracts among service
requestors and service providers that specify the
quality of service.
IBM IT Service Management IT Process ManagementIT Process Management Products IT Service Management Platform Best Practices IT Operational Management Products
IBM IT Service Management IT Process ManagementIT Process Management Products IT Service Management Platform Best Practices IT Operational Management Products
Core Elements of a Service-based Design
SAP Adapter Oracle Adapter DB Access DB Access Portlets Query Community Manager
Service Components
–
A technology- and language-independent representation of a service
which can be composed
with other services
Service Data
–
A technology- and language-
independent representation of
a data entity that can be passed
between services
Service Bus
–
A technology- and protocol-
independent representation of
the interconnection between
services
The promised benefits of SOA
Business process vitality
New value through reuse of assets
Improved connectivity
Closer alignment of IT to business
Flexible Business requires Flexible IT
SOA – Loose Coupling of Business and IT
ESB
Service Component Architecture - IBM SOA Programming Model
Java
BPEL
BusinessRules Selector Human Task State Machine
Implementation Types
Java
WSDL
Port Type
Interface
Reference
Java
WSDL
Port Type
Interface MapsMediations
Separation of Concerns What HowSCA enables SOA flexibility
SOA is the architectural style that supports loosely coupled services to
enable business flexibility in an interoperable, technology-agnostic manner.
SOA consists of a composite set of business-aligned services that support
a flexible and dynamically re-configurable end-to-end business processes
realization using interface-based service descriptions.
A business contract to
be implemented by ____.
WSDLWhat is loose coupling?
Tighter coupling tends to cost more over time
–
Synchronizing multiple organizations on change
–
Hard to move, hard to scale, hard to distribute, hard to replace
–
Making changes is hard and expensive, or impossible:
•
Knowledge is distributed throughout the code
•
Same people are solving business and infrastructure problems
–
Different parts of the solution are difficult to manage separately
–
Adapting, redeploying updated components without affecting others
Looser coupling requires greater investment up front
–
More design work
Point of Sale Sales Tax Calculation Accounting Sales Tax Calculation Financial Reporting
Cashier
Sales Tax CalculationAccountant
Controller
Analyst
Infrastructure Applications Application functionality is tightly bound to a static notion of a process
Little flexibility to take into account new roles or processes
This creates redundant code and functions.
Inflexible, expensive and hard to maintain.
The Vertical Silo Problem
Management is focused on the health of the server, network and middleware
Applications are “black boxes”.
Services Applications Infrastructure Point of Sale Sales Tax Calculation Accounting Sales Tax Calculation Financial Reporting
Cashier
Sales Tax CalculationAccountant
Controller
Analyst
Sales Tax Calculation
X
X
X
X
X
X
X
X
Externalizing common functions as “services”, in a standards-based fashion, allows for code re-use, saving onHowever, this creates an important dependency; if the ‘service’ is not
working, the applications cannot function
This forces us to re-examine what we call “applications” and what we call
“infrastructure”!
Services Applications Infrastructure Point of Sale Sales Tax Calculation Accounting Sales Tax Calculation Financial Reporting
Cashier
Sales Tax CalculationAccountant
Controller
Analyst
Hosting the service on an ESB destination, we have policy enforcement, mediations and a centralized management point.
The New World: Composable Services + ESB
ESB
This ESB destination can be monitored by IBM Tivoli® products….applications are no longer black boxes.
Sales Tax Calculation
Choreograph components into business processes
Outsourced
Supplier
Shared
Services
Division(s)
Customer
Outsourced
Supplier
Shared
Services
Division(s)
Customer
Add a Flexible Integration Layer - ESB
Enterprise
Service Bus
Service Registry & Repository
Adapters Web Services
Gateway Mediations
SOA Management Data Power
SOA Reference Architecture – Enable SOA
Model of the Logical Architecture
Business Innovation & Optimization Services
Provide for better decision-making with real-time business information
De velopment Services Integrated environment for design and creation of solution assets Interaction Services Enables collaboration between people, processes & information
Process Services Orchestrate and automate business processes Information Services Manages diverse data and content in a
unified manner
ESB Enable interEnable inter--connectivity between servicesconnectivity between services
Partner Services
Connect with trading partners
Business App Services
Build on a robust, scaleable, and secure
services environment Apps
& In fo Assets Access Services Facilitate interactions with existing information
and application assets
IT Serv ice Manageme n t Manage and secure services, applications & resources Infrastructure Services Optimizes throughput, availability and performance
ESB is still an “Architectural Pattern”
“
We describe the enterprise service bus first and
foremost as
an architectural pattern
. In fact, it is
possible to construct service buses from a variety of
different underlying integration technologies.
The announcement of a WebSphere ESB has caused
some confusion as it would appear on the surface that
IBM has done an about-face to say that the ESB is
now a product. To be clear, IBM believes that
an
ESB is still an “Architectural Pattern”
WebSphere ESB is in fact, an
ESB-centric product
,
which facilitates the creation of specific instantiations
of that pattern.
The architecture pattern
remains valid and is a
guiding principle to enable the integration and
federation of multiple service bus instantiations.”
– Rob High, SOA Foundation Chief Architect in the
SOA Foundation Architecture Whitepaper
What is an Enterprise Service Bus (ESB)?
A flexible connectivity infrastructure
for integrating applications
as
services…
……which reduces the
number, size, and
complexity of interfaces.
An ESB:
Color = Data type Shape = Protocol
`
CONVERTS
between different
transport protocols used by the
participants
`
VIRTUALIZES
the location and
identity of participants
`
TRANSFORMS
message formats
between participants
`
APPLIES appropriate qualities of
service for the given interaction
`
DISTRIBUTES
business event
Lines of maintainable code
Message Queuing
Removes the connectivity logic from the
application
Application
Mediation & custom adaptation logic Connectivity logic Traditional Message Brokering Removes the connectivity + mediation logic from the applicationApplication
Custom adaptation logic Connectivity and mediation logic Application as a service Enterprise Service Bus Reduces application to its core business functions (i.e. a service) Connectivity, mediation & customadaptation logic Direct Connectivity (Without middleware) All connectivity, mediation and custom logic buried within the
application.
Application
Connectivity, mediation & custom adaptation logicReduced development and maintenance; increased flexibility and reuse
IBM SOA – the right way to do SOA!
The SOA Lifecycle
Gather
requirements
Model & Simulate
Design
Discover
Construct & Test
Compose
Integrate people
Integrate processes
Manage and integrate
information
Manage applications &
services
Manage identity &
compliance
Monitor business metrics
Financial transparency
Business/IT alignment
SOA Lifecycle - BPM
WebSphere Integration Developer WebSphere Process Server WebSphere Business Monitor WebSphere Business ModelerClean hand-off from IT with Business Models,
Metrics
Constructs for dynamic and adaptive business processes deployed to BPEL runtime Real time management of business processes Feedback for continuous improvement
SOA Lifecycle - Integration
WebSphere Integration Developer
WebSphere ESB Server
IBM Tivoli Composite Application Manager
(ITCAM) for SOA WebSphere Registry
and Repository
Service Governance, Life-Cycle and Policy
Constructs for dynamic and adaptive business
services based on an integration platform Real time management of ESB Feedback for continuous improvement Model and
Manage Service Lifecycles
Monitor Services Manage Infrastructure
Deploy Assemble
•
Business processes are integrated end-to-end
•
Across the company and with key partners, suppliers and customers,
•
Enabling it to respond with speed
•
To any customer demand, market opportunity or external threat.
Flexibility…
SOA on your terms with our expertise
Presentation Objectives
Introduce IBM WebSphere Enterprise Service Bus (WESB)
Explain SOA Infrastructure Challenges
Explain the WebSphere ESB Architecture
Service Requestor
Core Principles of the ESB Architectural Pattern
ESB inter-connects requestor and provider
–
Interactions are decoupled
–
Supports key SOA principle – separation of
concerns
ESB provides
Service Virtualization
of
–
Identity via routing
–
Protocol via conversion
–
Interface via transformation
ESB also enables
Aspect Oriented Connectivity
–
Security
–
Management
–
Logging
Service ProviderESB
Enterprise Service Bus Reference Architecture
Data Models
ACORD EDIFACT RosettaNet HL7 Cobol Copybook …
Message Flows (interaction patterns)
Mediation Primitives
XSLT Logging Endpoint Lookup
DB Lookup Split/Merge …
Routing
Communication Protocols
SOAP/HTTP SOAP/JMS XML/HTTP XML/JMS String/MQ FTP
Enterprise Service Bus
Custom Mediation Primitives
QoS Agents, service requestors,
Infrastructure (security, monitoring)
ESB Request Flow Decomposition
Service Provider
Enterprise Service Bus
Service Requestor
ESB Request Flow Decomposition
Service Provider
Enterprise Service Bus
Service Requestor
Request Flow
Protocol
Translation
to ESB Base
Data Format
ESB Request Flow Decomposition
Service Provider
Enterprise Service Bus
Service Requestor
Request Flow
Routing & Data
Transformation
Protocol
Translation
to ESB Base
Data Format
Flow/Group of
Mediations
ESB Request Flow Decomposition
Service Provider
Enterprise Service Bus
Service Requestor
Request Flow
Routing & Data
Transformation
Protocol
Translation
to ESB Base
Data Format
Flow/Group of
Mediations
Translation
from ESB Base
Data Format to
Protocol
ESB Response Flow Decomposition
Enterprise Service Bus
Service Requestor
Response Flow
Service ProviderProtocol
Translation
Routing & Data
Transformation
from ESB Base
Data Format
Flow/Group of
Mediations
to ESB Base
Data Format
Protocol
Translation
ESB Request-Response Flow Review
Service Provider
Enterprise Service Bus
Service Requestor
Enterprise Service Bus
Service Requestor
Request Flow
Response Flow
Service ProviderProtocol
Translation
Routing & Data
Transformation
ESB Base
Data Format
Flow/Group of
Mediations
ESB Base
Data Format
Protocol
Translation
Typical Enterprise Service Bus Patterns?
Typical Enterprise Service Bus Patterns?
Mediation Patterns - Examples
Log/Monitor Route Distribute Correlate
Transform Protocol transform Enrich Request / Response Pub/Sub - Event Prop. Canonical Adapter
+
+
+
Transform – Log - Route
Gateway One-way Dispersion / Aggregation
Interaction
Patterns
Transformation
& Routing
Patterns
Composite
Patterns
Examples
Basic connectivity supported via one or more transport protocols
–
Dependent on underlying communication fabric(s)
Conversion inherent with support for more than one transport
protocol
Enables
–
Virtualization of interaction protocol
–
Aspects of QoS (e.g., reliable delivery, transactions)
Typical requirements
–
HTTP (SOAP/HTTP, XML/HTTP)
–
MQ (SOAP/JMS/MQ, XML/MQ, text/MQ, …)
–
Adapters (legacy, EIS)
Standards important
ESB Interaction Patterns and Enhanced Routing
Fundamental interaction patterns based on underlying
communications fabric(s)
–
Point-to-point
• Request/reply (synchronous and asynchronous)
• One way
–
Pub/Sub
Enhanced (dynamic) routing of messages
–
Via mediation patterns
Enables
–
Virtualization of location and identity
–
Aspects of QoS (e.g., SLA, failover)
Typical routing requirements
–
Round robin
–
Content based
Mediation Patterns – Interaction Patterns
Request / Response Pub/Sub - Event Prop. Gateway One-way Service Provider Protocol transform Service Requestor Dispersion / AggregationWebSphere ESB – Interaction Patterns
Mediation
Flow
Component
Export
Imports
Provider 1
Provider 1
Provider 2
Provider 2
Requestor
Mediation Flow Component – an SCA implementation kind
May be defined using WSDL interfaces
Allow manipulation of messages during a message flow
–
Provided by a mediation framework enabling pattern construction
Enhance the basic interaction patterns, e.g.,
–
Message enrichment
–
Monitoring and logging
–
Registry, security and management
–
Distribution/aggregation
Enables
–
Aspects of QoS (security and management)
Typical requirements beyond routing and transformation
–
Retry
–
Recipient list
–
Custom
Transformation Pattern - Transform
Service Provider
Log/Monitor Route Distribute Correlate
Transform Enrich
Enterprise Service Bus
Service Requestor
Transformation Pattern - Enrich or Augment
Service Provider
Log/Monitor Route Distribute Correlate
Transform Enrich
Enterprise Service Bus
Service Requestor
Transformation Patterns
Routing Patterns
Database, File, or Static data
Transformation Pattern – Log or Monitor
Service Provider
Log/Monitor Route Distribute Correlate
Transform Enrich
Enterprise Service Bus
Service Requestor
Transformation Patterns
Routing Patterns
Database, File, or Static data
Routing Pattern - Route
Service Provider
Log/Monitor Route Distribute Correlate
Transform Enrich
Enterprise Service Bus
Service Requestor
Routing Pattern - Distribute
Log/Monitor Route Distribute Correlate
Transform Enrich
Enterprise Service Bus
Service Requestor
Transformation Patterns
Routing Patterns
Service Provider Service Provider Service Providers
Routing Pattern - Correlate
Log/Monitor Route Distribute Correlate
Transform Enrich
Enterprise Service Bus
Service Requestor
Transformation Patterns
Routing Patterns
Service Provider Service Provider Service Providers
Mediation Patterns – Common Composite Pattern Example
Service Provider
Enterprise Service Bus
Service Requestor
Canonical Adapter Protocol+Data Transform
+
+
+
Transform – Log - Route
Database, File, or Static data
WebSphere ESB Primitives
Service Provider
Enterprise Service Bus
Service Requestor
WebSphere Application Server, WESB, and Process Server
WebSphere
Application
Server
WebSphere
Application Server ND
WebSphere ESB
WebSphere Process Server
App Server
Clustering
Mediation
Choreography
WebSphere Process Server:
Process layer builds on WebSphere ESB and WebSphere Application Server
foundation to deliver robust business process management
WebSphere ESB and WebSphere Process Server
Use WebSphere Process Server when you need to automate business processes that
Built on a common foundation, so that WebSphere ESBcustomers can easily migrate upward and leverage: Support for all styles of integration, including human tasks, roles
based task assignments, and multilevel escalation.
Business rules, business state machines, and selectors to dynamically choose interface based on business scenarios
Change business processes on the fly with relatively minimal skills
WebSphere Application Server:
Transport layer foundation provides infrastructure via JMS 1.1, HTTP, IIOP
WebSphere ESB:
Mediation layer builds on WebSphere Application Server foundation to provide intelligent connectivity
WebSphere Process Server
WebSphere ESB
WebSphere Integration Family
SOA Core
Service
Component
Architecture (SCA)
Business
Objects
Common Event
Infrastructure
Human
Tasks
Human
Tasks
Business
State
Machines
Business
State
Machines
Business
Rules and
Selectors
Business
Rules and
Selectors
Business
Processes
Business
Processes
Service ComponentsInterface
Maps
Business
Object Maps
Relationships
Mediations
Mediations
Supporting Services
WebSphere Application Server
Network Deployment
WebSphere Application Server
Network Deployment
Choreography
Mediation
Clustering
AppServer
IBM leads with the most complete product family
WebSphere MQ WebSphere Application Server
WebSphere Message Broker
Increased
capabilities /
automation
A new version of our proven product that delivers an advanced Enterprise Service Bus. Provides universal connectivity and data transformation. Built on WebSphere MQ.
Business
Process
ESB
A world-class J2EE foundation providing industry-leading levels of availability, scalability, and performance.
Provides reliable integration messaging to connect applications and Web services across more than 80 supported platform configurations.
WebSphere Process Server
For customers who want a higher level solution to design, automate and manage composite applications and operational
business processes. Built on WebSphere ESB.
WebSphere ESB
A new product that delivers an Enterprise Service Bus. Provides Web Services connectivity and data transformation. Built on WebSphere Application Server.
WebSphere ESB, WebSphere MB and DataPower
WebSphere ESB
WebSphere Message Broker
Web Services
JMS
WebSphere MQ
HTTP
XML
WebSphere Adapters
JMS TIBCO Rendezvous® Web Services Weblogic JMS® WebSphere MQ TIBCO EMS JMS® HTTP SonicMQ JMS® Biztalk® MQe Tuxedo® Real-time IP FTP Multicast MQTT XML COBOL Copybook EDI-X.12 ACORD EDI-FACT ebXML AL3 HIPAA HL7SWIFT FIX Custom Formats
Word/Excel/PDF Plus the following:
WebSphere Adapters
Web Services connectivity
and data transformation
Universal connectivity and
data transformation
High Throughput Connectivity, data transformation & security
DataPower
Web ServicesWebSphere MQ HTTP WS-* Security FTP Crypto DataGlue SLM ODBC XML XSLT
WebSphere ESB V6 is part of the IBM SOA platform
J2EE/SOA standards
J2EE, JMS, HTTP, SOAP, UDDI,
XML, WSDL, BPEL, SCA
The ONLY offering in the industry combining all you
need for SOA in ONE integrated platform.
WebSphere
Process Server v6
•
Service-based
Process
Management
WebSphere
ESB v6
•
Service
Mediation
WebSphere
Application
Server v6
•
Service
Hosting
One Int
e
grated Platfor
m
The SOA Platform – WebSphere Message Broker
J2EE/SOA standards
J2EE, JMS, HTTP, SOAP, UDDI,
XML, WSDL, BPEL, SCA
WebSphere
Process Server v6.1
WebSphere
ESB v6.1
WebSphere
Application
Server v6.1
One Int
e
grated Platfor
m
WebSphere Message Broker V6.1
Non-WS/J2EE
technologies
(Tuxedo, IMS™, CICS
®,
etc.)
Non-Java OSs
(COBOL, RPG, C++,
Perl, etc.)
Non-XML formats
(EDI, SWIFT, HIPAA, ACORD,
Custom formats, etc.)
Non-WS/J2EE
transports
(MQI, SCADA, FTP,
TIBCO RV, MSMQ)
Plugs into the IBM SOA platform
providing high-speed data movement and universal mediation…
…enabling non-SOA applications to participate as services.
Applying DataPower to the SOA/ESB Design Pattern
Demilitarized Zone Partner
Zone Enterprise Secure Zone
Enterprise Service Bus Inter- Enterprise Zone Message Broker ESB Domain Fi re w a ll Protocol Fire w a ll Network Infrastructure XML Firewall and Web Services Gateway XS40
Summary
The ESB is a basic requirement of a Service Oriented Architecture
An ESB provides mediations which facilitate the connection of services
IBM offers a world-class ESB Portfolio
–
WESB, Message Broker, DataPower
WebSphere ESB is:
–
A standards-based ESB
–
An integral part of the WebSphere family
–
Executes the mediations of an ESB
–
Is built on the foundations of WebSphere Application Server and
WebSphere Integration Developer
Agenda for Day One
1230 – 1300 Registration and Lunch (0:30)
1300 – 1315 Introductions (0:15)
1315 – 1345 SOA and ESB (0:30)
1345 – 1430 WebSphere Enterprise Service Bus Introduction (0:45)
1430 – 1445 Break (0:15)
1445 – 1530 Basic Mediation Lab – Parts 1 thru 4 (0:45)
1530 – 1600 SMOs & Primitives (0:30)
1600 – 1645 Basic Mediation Lab – Parts 5 thru 7 (0:45)
SOA on your terms with our expertise
Basic Mediation Lab
Basic Mediation Lab
(Parts 1 thru 4)
What is this exercise about
– The objective of this lab is to provide you with an understanding of the IBM WebSphere® ESB product and its capabilities.
Lab Requirements
– List of system and software required for the student to complete the lab:
• WebSphere Integration Developer (WID) V6.1 installed
• WebSphere Enterprise Service Bus (WESB) V6.1 test environment installed
What you should be able to do
– Create a mediation module using the WebSphere Integration Developer Tooling.
SOA on your terms with our expertise
Purpose …
Protocol switching
–
SOAP, JMS, MQ, SCA, HTTP, Adapters
Content transformation
Functional Components …
Mediation Module
Imports
Mediation Flow
Exports
Java Components
Mapping Operations …
Specify source interface
Specify target interface
Operations need transformed …
Parameters between operation need transformed …
Transforming Content …
BO Mapper …
–
Visual transformation
mapping
Custom Mediation …
–
Invokes Java code to
perform transformation logic
XSL Transform …
–
Invokes an XSLT Style Sheet to
Service Message Object
ServiceMessageObject
headers context body
SMOHeader
JMSHeader
SOAPHeader correlation transient shared
Mediation primitives process messages as SMOs
The SMO is an extension of the Business Object (BO) structure
It contains: context, message headers, fault details, an array of
Service Message Object API
Accessible by API
(com.ibm.websphere.sibx.smo.*)ServiceMessageObject
headers context body
SMOHeader
JMSHeader
SOAPHeader correlation transient shared ServiceMessageObject
context
transient
ServiceMessageObject smo = (ServiceMessageObject)a_type;
DataObject context = smo.getContext()
Context
/context
com.ibm.websphere.sibx.smobo.ContextType
Correlation and Transient context represented by BOs set on the input node of flow
Service Message Object - Context
correlation User specified BO Set on request flow and persisted
across call out on response flow
transient User specified BO Set on individual flows and not
persisted
failInfo
com.ibm.websphere.sibx.smobo.FailInfoType Set on fail terminal invocation /context/correlation getCorrelation() /context/transient getTransient() /context/failInfo getFailInfo() shared User specified BO Set on request flow and persisted
in request flow /context/transient getShared()
Service Message Object
Provides common representation of
content exchanged between
services
Structured content includes body
content (Business Object) and
headers
Headers include transport-specific
data (e.g. JMS headers and
properties, SOAP headers, MQ
headers)
Logical structure accessible using
XPath and SDO APIs
SMO is implemented as a
Summary …
Mediations are designed to transform and route
data content
Primitives are the tools that make that possible
There are many provided primitives as well as the
ability to design your own custom primitives
The SMO API is the programming model for all
SOA on your terms with our expertise
Basic Mediation Lab
Basic Mediation Lab
(Parts 5 thru 7)
What is this exercise about
– The objective of this lab is to provide you with an understanding of the IBM WebSphere® ESB product and its capabilities.
Lab Requirements
– List of system and software required for the student to complete the lab:
– WebSphere Integration Developer (WID) V6.1 installed
– WebSphere Enterprise Service Bus (WESB) V6.1 test environment installed
What you should be able to do
– Create a mediation module using the WebSphere Integration Developer Tooling.