introduction to enterprise service bus and websphere ... · pdf fileintroduction to enterprise...
TRANSCRIPT
1
© 2007 IBM Corporation
®
Introduction toEnterprise Service BusandWebSphere Message Broker
IBM Software Group | WebSphere software
2
Agenda
Enterprise Service Bus ConceptMessage Broker– Message Flows– Message Nodes– The Logical Message Model
Message Broker Components
2
IBM Software Group | WebSphere software
3
Objectives
Have an overall understanding of the role of an Enterprise Service Bus (ESB)Become familiar with the WebSphere Message Broker’s (Advanced ESB) primary functionsUnderstand the overall steps used to build and deploy a WMB « flow »
IBM Software Group | WebSphere software
4
Messaging
3
IBM Software Group | WebSphere software
5
Data Formats
Protocols
Transports
Bridges
IBM Software Group | WebSphere software
6
[Customer, Order, Quantity, Price, Date]
Fred Smith, Graphics Card, 32, 1.50, 07/11/06
A B
<order><name>Mr. Smith</name><item>Graphics Card</item><quantity>32</quantity><price>1.05</price><date>11/07/06</date>
</order>
C
An Example
4
IBM Software Group | WebSphere software
7
A
B
CD
E
The Complexity of Application Integration
IBM Software Group | WebSphere software
8
DFK
Data Warehouse
GeneralLedger
AP
SalesCorrections
POReceiving
Return toVendor
WarehouseManagement
Credit App
EmployeeChange Notice
OTHER APPS - PC
ACCTS REC APPS - PCINVENTORY CONTROL APPS - PC INVENTORY CONTROL APPS - PC
Journal Entry Tool Kit
Scorecard
ResourceScheduling
P09 - P17Cyb.
Mill.
Millennuim 3.0
Banks - ACH and Pos toPay
Cobra
StockStatus
Polling
On-line NewHire Entry
CTS
Plan Administrators(401K, PCS, Life)
Post LoadBilling
HomeDeliveries
-Transfers
Planning
PurchaseOrder
SolutionSoftware
Inventory Info
Interface
Sales Posting
Price ManagementSystem
Cycle PhysicalInventory
SKUInformation
Customer RepairTracking I35 Early Warning
System
MerchandiseAnalysis
AutoReplenishment
CTO
Intercept
Counts
EmployeePurchase
Tex A
ACH
Stock Options
Customer PerceivedIn-Stock
Tx
SS
CapitalProjects
FixedAssets
ReconFile
Repair
EDICoordinator
Mesa DataNEW Soundscan
Resumix
Op.
Store BudgetReporting
Tally Sheet
Cash Receipts/Credit
HouseCharges
Ad Expense
-PromoAnalysis
PriceMarketingSupport
BMP - Busperformance Mngt
StoreScorecard
PriceTesting
Media
Bonus/HR
Hand ScanApps
Shows
POS
SalesTax
A04 - CustRefund Chks
Equifax
Credit
CellularRollover
SatelliteSystem
Scanning
VAN
SKU Rep
Host to AS400Communication
Layaways
Bus Systems
V04-SignSystem
Count CorrectionsN.
P01-EmployeeMasterfile
CustomerOrder
ABCCo
Universal AccountReconcilliation
DepositoryBanks
CellPhones
- ISPTracking
AAS
PO
Cash Over/Short
Coop SKU SelectionTool
SKUPerformance
SupplierCompliance
1
DRK
ABBX
Misc Accounting/Finance Apps - PC/NT
AIMSMngr Approval
Batch ForcastingAd Measurement
AIMSReportingAd
Launcher
MktReactions
SpecSource
website
RebateTransfer
SignSystem
WriterWorkspace
PowerSuite
StoreMonitor
Calendar
Stores & Mrkts
Due Dates
Smart Plus
InsertionsOrders
BudgetAnalysis Tool
Print CostingInvoice App
Reports
BroadcastFilter
Smart PlusLauncher
GeneralMaintenance
Printer PO
PrinterMaintenance
VendorMaintenance
Vendor Setup
Connect 3
Connect 3Reports
Connect 3PDF Transfe
Spec SourceSKU Tracking
S20-SalesPolling
Prodigy
PSP
In-HomeRepair
WarrantyBilling
System
Process Servers(Imaging)
A
B
C
D
E
The Complexity of Application Integration (x1000)
5
IBM Software Group | WebSphere software
9
What needs to be done?
The solution: SOA and the Enterprise Service Bus
Facilitateapplication reuse
Decoupleinterface logic from applications
Detangle point-to-point connections so that any application can talk to any other
Enable applications to communicate with each other regardless of
Programming languagesSystem platformsProgramming modelsConnection protocolsData formats
Application
Interface Logic
JavaApplication
Interface Logic
C++Application
Interface Logic
.NETApplication
Interface Logic
CICS
JMS Pointto
Point
HTTP WebService
MQI Pointto
Point
MQI Pub/Sub
Service Service Service Service
IBM Software Group | WebSphere software
10
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 transport protocols between requestor and service
MATCHES & ROUTES messages between services
TRANSFORMS message format between requestor and service
DISTRIBUTES business events from/to disparate sources.
6
IBM Software Group | WebSphere software
11
TravelReservation
Process
FlightAvailability
Service
Enterprise Service Bus
NEW CheckTravelerService
Book HotelService
HotelAvailability
ServiceBook CarService
NEW FlightAvailability
Service
OLD FlightAvailability
Service
Book Flight
Service
Check CreditService
Change applications with no impact to existing applications
Add new function faster
1. Improve business flexibility2. Reuse services for multiple purposes3. Provide scalability and security
Value of an ESB
IBM Software Group | WebSphere software
12
The ESB is not one thing; it is a distributed architecture
The Enterprise Service Bus
The ESB is typically not a single product – it is a specific “pattern of connectivity” -- multiple ESB configurations/topologies are possible.The topology you implement should be optimized to meet your unique business requirements.Your topology can change as your business requirements evolve.
……. …….
…….
ESB ESB
ESBESB
ESB
7
IBM Software Group | WebSphere software
13
Message Broker as an Advanced ESB
WebSphere Message Broker– creates services from applications.– provides service interactions for a
broad range of protocol endpoints, including MQ, JMS, HTTP(S) and several others.
– provides flexible and dynamic connectivity between service endpoints.
– combines with other brokers to form a scaleable ESB backbone.
1
24
3
Application Service
KEY:
Input & Output nodes
Message Flow
Protocol
IBM Software Group | WebSphere software
14
Output targetTransform
Input source Output target
Output target (Failure)
Reusable
Scalable
Transactional
Message Flows
8
IBM Software Group | WebSphere software
15
Action
Message Nodes
input terminal
input connector
output connectorsnode
input message
treeoutput
message trees
output terminals
IBM Software Group | WebSphere software
16
Node Types
Input
Output
Processing
Protocol-specific
Transformation
Logical construct
HTTP Input
JMS Output
Database Insert
MQ Get
XML Transform
Try Catch
Examples:
9
IBM Software Group | WebSphere software
17
Aggregate RequestJMS-IP OptimizedAggregate Reply
Built-in Nodes (1/2)
JMS-IP Input
Publication
Aggregate Control
MQReply
MQOutput
MQInput
MQGet
JMS Output
JMS Input
HTTP Request
HTTP Reply
HTTP Input
Timeout Control
Timeout Notify
IBM Software Group | WebSphere software
18
Mapping
Java Compute
Warehouse
DataUpdate
DataDelete
DataInsert
Built-In Nodes (2/2)
Database
Check/Validate
Extract
Reset Content Descriptor
XML Transformation
Compute
Trace
Throw
TryCatch
Filter
Flow Order
RouteToLabel
Label
User/Third Party
10
IBM Software Group | WebSphere software
19
Key SupportPacs and Offerings
CICS Request Node (z only)VSAM Nodes (z only)QSAM Nodes (z only)WebSphere Transformation Extender (WTX)
IBM Software Group | WebSphere software
20
<Person age=‘32’ height=‘172’><name><first>Fred</first><last>Smith</last>
</name></Person>
struct {int height;int age;char firstname[24];char lastname[24];
} Person;
PER + 172 + 32 + Fred Smith
The Logical Message Model – Message Sets
172 32 Fred Smith
Person
age heightinteger integer
string
first laststring
name
TYPE
11
IBM Software Group | WebSphere software
21
The Logical Message Model - Addressing
Update NAMESDB with the value of InputRoot.Body.CustomerOrderMessage.Person.Name.Last
Set the output message OutputRoot.Body.SupplySystemMessage.DespatchTo field to be the value of the input message InputRoot.Body.CustomerOrderMessage.Address
Properties MQMD
AddressItem
Age Name Height
First Last
OutputRoot
BodyProperties
SupplySystemMessage
MQMD
DespatchTo SupplierItem
ID Address
Other
Examples:
Person
CustomerOrderMessage
Body
InputRoot
InputRoot.Body.CustomerOrderMessage.Person.Age
IBM Software Group | WebSphere software
22
Message Processing Examples
IF Body.Person.Height > 183 THEN
INSERT INTO Database.TallPeople(Name,Height,Age)
VALUES (Body.Person.Name,Body.Person.Height,Body.Person.Age);
ENDIF;
DataInsert
IF (XML format required) THENOutputRoot.Properties.MessageFormat = 'XML';ELSE IF (custom format)OutputRoot.Properties.MessageFormat = 'CWF';ELSE IF (SWIFT format)OutputRoot.Properties.MessageFormat = 'TDS';ENDIF;
Compute
Java Compute
public class jcn extends MbJavaComputeNode {public void evaluate(MbMessageAssembly assembly)
throws MbException {…
String personName = (String)assembly.getMessage().evaluateXPath(“/Body/Person/Age”);
…}
12
IBM Software Group | WebSphere software
23
Message Processing Examples
Mapping
IBM Software Group | WebSphere software
24
Logical Message Model
Many message formats have been already defined– e.g. MQ, XML, SOAP, MIME, HTTP, SWIFT, ACORD, AL3, EDI-FACT, EDI-
X.12, FIX, HL7, HIPAA
…but you can always model your own from within the advanced Eclipse tooling– either from scratch or by importing C structures, XML schema, COBOL
copybooks etc.
Lazy and opaque parsing capability
13
IBM Software Group | WebSphere software
25
Support WS-Security and WS-Addressing “out of the box”
– Support for WS-Addressing Endpoint References and Message addressing properties
– Support for WS-Security authentication, encryption and signing
• Username password, X509 certificates for authentication
• Comprehensive encryption and signing algorithms (from JSSE/JCE)
• Configuration using Policy Sets
– Eclipse based Policy Set editor to create security profiles
Support provider and consumer scenarios
– Provider:
• SOAP input & SOAP reply
– Consumer:
• Synchronous SOAP request
• Asynchronous SOAP request and reply
– Can be combined to provide Web Service intermediary
– SOAP Extract and SOAP Envelope nodes
• Simplify processing of SOAP payload and headers
Support for Web Services
IBM Software Group | WebSphere software
26
14
IBM Software Group | WebSphere software
27
Components of the Message Broker
Configuration Manager
Broker
Broker
Broker
Message Brokers Toolkit
Configuration Manager Proxy Command
ConsoleBroker Explorer
User Name Server
DB Instance Manager
IBM Software Group | WebSphere software
28
Components – Message Brokers Toolkit
Development of broker artefacts– e.g. message flows and message sets– Stored in a local or team repository
Administration of broker domains– e.g. deployment and monitoring
Based on Rational Application Developer– Eclipse 3.0– Windows and Linux platforms– Included Java, XML development environment– Integrated debugging capability
Repository
15
IBM Software Group | WebSphere software
29
Components – Broker Runtime
Runs message flow processing logicMade up of one or more ‘execution group’ processes that can run multiple message flows each– Provides isolation and scalability
Available on Windows, z/OS, AIX, HP, Solaris, Linux (Intel, zSeries, PPC)Requires a database and a local MQ Queue Manager Can also act as a high-performance publish/subscribe provider
Broker
DB
Exe grpExe grp
Exe grp
IBM Software Group | WebSphere software
30
Components – Configuration Manager
Acts as the gateway between the Message Broker Toolkit runtime broker domain– Drives deployment to the runtime broker– Reduces the load on the runtime broker by
providing domain information to the Message Broker Toolkit
– Controls access to the broker domain for administration and deployment
Contains an internal repository of domain information and ACLsAvailable on Windows, z/OS, AIX, HP, Solaris, Linux (Intel, zSeries, PPC)Requires a local MQ queue manager
Configuration Manager
Broker
MB Toolkit