Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise...

15
1 © 2007 IBM Corporation ® Introduction to Enterprise Service Bus and WebSphere Message Broker IBM Software Group | WebSphere software 2 Agenda Enterprise Service Bus Concept Message Broker Message Flows Message Nodes The Logical Message Model Message Broker Components

Transcript of Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise...

Page 1: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 2: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 3: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 4: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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)

Page 5: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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.

Page 6: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 7: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 8: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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:

Page 9: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 10: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 11: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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”);

…}

Page 12: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 13: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 14: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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

Page 15: Introduction to Enterprise Service Bus and WebSphere ... · PDF fileIntroduction to Enterprise Service Bus and ... Java Application Interface Logic C++ ... including MQ, JMS, HTTP(S)

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