Upload
doandieu
View
295
Download
1
Embed Size (px)
Citation preview
© 2010 IBM Corporation
http
JMS
CustomersWeb ShopPortal
BackendsPartners, Suppliers
InternetStandards
JDBC
soap/http
soap/http
Files
Application Complexity without an ESB
WebSphere MQ
2
© 2010 IBM Corporation
httpCustomersWeb ShopPortal
BackendsPartners, Suppliers
Enterprise Service Bus Registry/Repository
An ESB Simplifies Connectivity
3
© 2010 IBM Corporation
…and at the heart of an interconnected enterprise is an Enterprise Service Bus (ESB)
What is an ESB?An (ESB) is a flexible connectivity infrastructure for integrating applications, systems and services.
Shape = Transport protocol
Color = Data format
An ESB performs the following between requestor and service
CONVERTS between different transport protocols
MATCHES & ROUTES communications between services
TRANSFORMS between different data formats
IDENTIFIES & DISTRIBUTES business events
© 2010 IBM Corporation
What is WebSphere Message Broker?
Message Broker enables “universal connectivity” by integrating protocols, message formats and mediation patterns
– Emphasis on application re-use
Fits naturally with WebSphere MQ– Robust, scalable architecture– Optimized for high throughput– Flexible broker topologies
Three programming constructs are used: – Message Flows– Nodes– Message Models
© 2010 IBM Corporation
Application Connectivity
Protocols– e.g. MQ, TCP/IP, HTTP, File system, FTP, SMTP etc.
Message Formats– e.g. Binary (C/COBOL), XML, Industry (SWIFT, EDI, HL7), User-defined
Mediation Patterns– e.g. Route, Transform, Enrich, Filter, Monitor, Distribute, Decompose, Correlate, Fire
and Forget, Request/Reply, Publish/Subscribe, Aggregation, Fan-in, Complex Event Processing
© 2010 IBM Corporation
[Customer, Order, Quantity, Price, Date]
Mr. Smith, Graphics Card, 32, 100, 24/06/2010
MQ MQMQ MQ
<order> <name> <first>John</first> <last>Smith</last> </name> <item>Graphics Card</item> <quantity>32</quantity> <price>200</price> <date>06/24/2010</date></order>
[Customer, Order, Quantity, Price, Date]
WS
MQ MQ
Mediation Patterns – Routing and Transformation
© 2010 IBM Corporation
WS
MQ MQ
Application Connectivity with WMB
WMB can act as an intermediary Flexible topologies
© 2010 IBM Corporation
Input source
Output target (Failure)
Reusable Scalable Transactional
Output target
Output targetTransform
Message Flows
© 2010 IBM Corporation
Message Flow Example
© 2010 IBM Corporation11
What are Message Flows?
Message flows are transactional
Provides vital processing and data manipulationCompletes all or none of its processing successfully.
Message flows are multithreaded
Message passing through a series of nodes will execute on a single thread. Message flows can be defined with many additional threads assigned to them to increased message throughput.Peak workloads use additional threads, which are pooled during inactivity.
Message flow nesting and chaining allow construction of enhanced capabilities.
Sophisticated flows can be rapidly constructed by linking individual flows together as well as nesting flows within each other.
© 2010 IBM Corporation
Nodes
The building blocks of message flows
Each node type performs a different (input, output or processing) action
Many different node types
– Grouped into logical categories in the message flow editor
– Nearly 100 nodes available out-of-the-box(as of WMB V7)
© 2010 IBM Corporation
Lots of Nodes are Built in [1]
© 2010 IBM Corporation
Lots of Nodes are Built in [2]
Many other nodes available through product extensions and supportpacs– For example, WebSphere TX, Tibco RV, VSAM, QSAM
Write your own User-Defined Nodes in C or Java
© 2010 IBM Corporation
Actioninput
terminal
input connector
output connectors
node
input message
tree output terminals
error terminal
output message
trees
Node Terminology
© 2010 IBM Corporation
Message Flow Editor
© 2010 IBM Corporation
Message Broker Patterns
© 2010 IBM Corporation
…draCscihparG,htimSderF
Input Message Bit-stream
…n/<htimS.rM>eman<>redro<
Output Message Bit-stream
Parser converts bit-stream to logical structure
Model
Parser converts logical structure to bit-stream
Model
Parsers
© 2010 IBM Corporation
<order> <name> <first>John</first> <last>Smith</last> </name> <item>Graphics Card</item> <quantity>32</quantity> <price>200</price> <date>07/11/09</date></order>
John,Smith,Graphics Card,32,200,07/11/09
John Smith............Graphics Card.........3220020071109.........
Order
Name Item Qty Price Date
First LastString String
String Integer Integer Date
Physical Logical
Message Modeling
© 2010 IBM Corporation
public class jcn extends MbJavaComputeNode { public void evaluate(MbMessageAssembly assembly) throws MbException { ... String lastName = (String)assembly.getMessage().evaluateXPath(“/Body/Order/Name/Last”); ... }}
IF Body.Order.Date < ‘2008/01/01’ THEN INSERT INTO Database.OldOrders (LastName,Item,Quantity) VALUES (Body.Order.Name.Last, Body.Order.Item, Body.Order.Quantity);ENDIF;
Easily Address Message Elements
© 2010 IBM Corporation
Message Set
C Header
XMLSchema
COBOLCopybook
WSDL
DTD
File Import
EnterpriseInformation
System(SAP, Siebel, PeopleSoft)
Pre-built
SOAP, MIME, CSV, IDOC,
SWIFT, EDIFACT, X12,
FIX, HL7,etc
Defineyour own
using the Eclipse-based
Tooling
Parsers
Message Broker
Creating Message Models
© 2010 IBM Corporation22
WebSphere Message Broker Mediation Patterns - Concepts
Log/Monitor CorrelateDistributeRouteTransformProtocol transform
Enrich
Request / Response
Pub/Sub - Event Prop.
Canonical Adapter
+ + +
Transform – Log - Route
GatewayOne-way Dispersion / Aggregation
Interaction Patterns
Transformation & Routing Patterns
Composite Patterns
Examples
© 2010 IBM Corporation23
Mediation Patterns – Interaction Patterns
Request / Respons
e
Pub/Sub - Event Prop.
GatewayOne-way
Service Provider
Protocol transform
Service Requestor
Dispersion / Aggregation
Enterprise Service Bus
© 2010 IBM Corporation
Façade and Adapter Pattern
Web Service
Adapters are one of many ways to access external applications from WebSphere Message Broker – “Service enablement”
SocketsFiles ...Message Broker
Message Flow
JMS OutputMQ Input
Adapters
Messaging
© 2010 IBM Corporation25
Transformation Pattern - Transform
Service Provider
Enterprise Service Bus
Service Requestor
Transformation Patterns Routing Patterns
Log/Monitor CorrelateDistributeRoute
Transform Enrich
© 2010 IBM Corporation26
Transformation Pattern - Enrich or Augment
Service Provider
Enterprise Service Bus
Service Requestor
Transformation Patterns Routing Patterns
Database, File, or Static data
Database, File, or Static data
Log/Monitor CorrelateDistributeRoute
Transform Enrich
© 2010 IBM Corporation27
Transformation Pattern – Log or Monitor
Service Provider
Enterprise Service Bus
Service Requestor
Transformation Patterns Routing Patterns
Database, File, or Static data
Database, File, or Static data
Log/Monitor CorrelateDistributeRoute
Transform Enrich
© 2010 IBM Corporation28
Monitoring and Auditing
Generate Monitoring and Audit Events from Message Flow– Easily gain insight into application and service connectivity– Business Monitoring & Intelligence and audit scenarios
Administration and Development time Configuration– Every MB nodes includes a ‘Monitor’ tab to generate events
• Transaction: Start, End, Rollback issued from input nodes• Terminal: from any terminal on any node
– Configure payload data, content style, identity, correlation & sequencing data– Non-invasive nature allows monitoring profile to be applied to existing flows
Operational Control– Operationally enable, disable, change event production: mqsichangeflowmonitoring command– Events are published on well known topic over MQ transport for multiple concurrent consumers– ‘Lazy’ notification provides excellent performance characteristics
Integration with other products– WebSphere Business Monitor
• Monitor and analyze KPIs • Comprehensive sample built-in
Monitor
Analyze
© 2010 IBM Corporation29
Routing Pattern – Route and Distribute
Service Provider
Enterprise Service Bus
Service Requestor
Transformation Patterns Routing Patterns
Log/Monitor CorrelateDistributeRoute
Transform Enrich
© 2010 IBM Corporation30
Routing Pattern - Correlate
Log/Monitor CorrelateDistributeRoute
Transform Enrich
Enterprise Service Bus
Service Requestor
Transformation Patterns Routing Patterns
Service Provider
Service Provider
Service Providers
AggregationCollectorSequencer / Resequencer
© 2010 IBM Corporation31
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
Database, File, or Static data
© 2010 IBM Corporation
BrokerMessage
Broker Toolkit
Message Broker
Explorer
ExecutionGroup
ExecutionGroup
Architected for High Performance and Scalability
Message Broker Toolkit– Development and Test Environment– Built on Rational Application Developer
Message Broker Explorer– Advanced Administration Tool– Built on MQ Explorer
Broker– Standalone runtime environment that runs
message flows– Execution groups for isolation and scalability– Many different platforms– Builds on an MQ queue manager
© 2010 IBM Corporation
Runtime Components
Runs message flow processing logic
Made up of one or more ‘execution group’ processes that can run multiple message flows each– Provides isolation and scalability– Effective use of multi-core processors
Available on Windows, z/OS, AIX, HP, Solaris, Linux (Intel, zSeries, PPC)
Requires a local MQ Queue Manager
BrokerExe grp
Exe grpExe grp
Queue Manager
© 2010 IBM Corporation
WebSphere Message Broker
Universal Connectivity– Simplify application connectivity to provide a flexible and dynamic infrastructure
Routes and transforms messages FROM anywhere, TO anywhere– Supports a wide range of protocols
• MQ, JMS 1.1, HTTP(S), Web Services, File, EIS (SAP,SEBL…), TCP/IP, User Defined– Supports a broad range of data formats
• Binary (C/COBOL), XML, Industry (SWIFT, EDI, HIPAA…), User Defined– Interactions and Operations
• Route, Filter, Transform, Enrich, Monitor, Distribute, Decompose, Correlate, Detect…
Simple programming– Patterns based for top-down, parameterized connectivity of common use cases
• Web Service façades, message oriented processing, queue to file…– Construction based for bottom-up assembly of bespoke connectivity logic
• Message flows to describe application connectivity comprising…• Message nodes which encapsulate required integration logic which operate on…• Message tree which describes the data in a format independent manner
– Transformation options include graphical mapping, PHP, Java, ESQL, XSL and WTX
Operational Management and Performance– Extensive Administration and Systems Management facilities for developed solutions– Wide range of operating system and hardware platforms supported– Offers performance of traditional transaction processing environments