Introduction to WebSphere Message Broker v6

decorumgroveInternet and Web Development

Aug 7, 2012 (5 years and 10 days ago)

718 views

IBM Software Offerings

Application and Data Access Services

Business Application and Data Services


Business Performance Management Services

Development Services

Enterprise Applications and Data

Partner Services

WebSphere BI Modeler

Connectivity Services


Enterprise Service Bus

WebSphere
Information Integrator

WebSphere
Process
Server

WBI Server Foundation


WebSphere

Portal Server



WBI
Connect


WebSphere

Application Server

WBI Adapters

WebSphere


II Classic

HATS

WBI Monitor

Process Services


Information Services

Interaction Services

Business
Application
Services

Web Services Gateway

Message Broker

MQ

IBM WebSphere Reference Architecture

Rational Application Developer

WebSphere Integration Developer

WebSphere ESB


IT Services Management

Controller

Administrative

Agent

"Root
"

Repor
t

"Body
"

"Root
"

Repor
t

"Body
"

"Root
"

Repor
t

"Body
"

"Root
"

Repor
t

"Body
"

"Root
"

Repo
rt

"Bod
y"

"Root
"

Repo
rt

"Bod
y"

Execution Groups

Message
Flows

Dictionaries


(Msg Sets)

Broker

App.

App.

App.

App.

Message

Brokers

Toolkit

Config.


Manager

User Name


Server

Application Development:

Message Flows and

Message Definitions

Broker
Administration

Repository

Broker


Domain

Main components interaction

Message Broker offers various kinds of processing nodes:


Receiving and routing messages


Transforming a message to an alternative representation


Selecting a message for further processing based upon the message’s
content


Interacting with an external repository to augment a message or store the
whole or part of a message


Responding to events and errors

AppA

App C


QM C

QM A




QM B

comma
separated

COBOL

XML

App B

Message Brokering

(MQ)
Input

Filter

(MQ)
Output

(MQ)
Output

Compute

Compute

xml

CWF

QM BRK1




Message Broker

Message
Flow

App PublisherA

Pub/Sub supports:



Topic
-

and/or content
-
based



Automatic or on
-
demand delivery

Register

App SubscriberB

App SubscriberC

Publish/Subscribe


QM B

SB Q


QM C

SC Q

data

(MQ)
Input

Publish

QM BRK1



Broker

Subscriber
List

Control Q

QM A



data

data

Message Flow

XmitQ

A_Module

B_Module

My_Mapping.msgmap

My.esql

C_Module

D_Module

Common.esql

Common_Project

"Root"

Report

"Body"

"Root"

Report

"Body"

"Root"

Report

"Body"

"Root"

Report

"Body"

My_SetProject

My_FlowProject

My_Msg.mxsd

Another_Msg.mxsd

My_Flow.msgflow

Process nodes and ESQL modules

Server Project

Message Flow Project

Message Set Project

Execution Group

compiled message flow (.cmf)

dictionary (.dictionary)

Broker Archive (.bar)

Configuration

Manager

Broker

Message Flow

Message Set

"Root"

Report

"Body"

"Root"

Report

"Body"

Broker

refers to

pack (zip)

Create BAR and include
contents

Configure queues,

DSNs for broker

environment

(Deployment

Descriptor)

Drag BAR into

execution group

(deploy)

unzip

Deploy Bar File



Transactional?

N

Y

MQMD.BackoutCount >


Queue BOTHRESH

N

Y

2. BackoutQ

3. DeadLetterQ

local

FAIL path

insert

rollback to inputQ

inputQ

Input node's

CATCH path

TryCatch node's CATCH path

Local error log

ExceptionList

Root & LocalEnvironment

reset

Get Msg (retry)

Message Flow Error Behavior
-

Summary

1

2

5

6

4

3

1.
Input node's


FAIL path


BackoutCount >


2

* BOTHRESH


Y

N

Physical message format

("wire format")

Logical message format

Parsed

Constructed

"Root"

MQMD

Format

Report

Version

"Body"

Order

Name

Supplier

Order #

Address

Item

Physical message format

("wire format")

Logical message format

Parsed

Constructed

"Root"

MQMD

Format

Report

Version

"Body"

Order

Name

Supplier

Order #

Address

Item

Logical message format

Parsed

Constructed

"Root"

MQMD

Format

Report

Version

"Body"

Order

Name

Supplier

Order #

Address

Item

MQMD

Order

Supplier

Item

Message
Repository Manager
(MRM)

NEON

Logical message model

self
-
defining


undefined


predefined

MQMD

Application Data

MQRFH2

WebSphere MQ Message

MQMD

...

Format

...

Persistence

Priority

...

XML

Complaint


Text

Department


...

Parse

MQRFH2

Version

...

mcd


msd


set


type


format

Root

Logical Message in Broker

Properties

MessageSet

MessageType

MessageFormat

...

...

XML XMLNS
XMLNSC

BLOB

NEONMSG

MRM

Message Domain (Parser)

JMSMap
JMSStream

Message parsing

IDOC

MIME

Root

Properties

MQMD

MRM

HomeAddress

Line

Zip

Country

WorkAddress

Line

Zip

Country

MessageType

AddressesMsg

My_Set

MessageSet

01 AddressesMsg.


10 HomeAddress.


20 Line PIC X(20) OCCURS 2 TIMES.


20 Country PIC X(2).


20 Zip PIC X(10).


10 WorkAddress.


20 Line PIC X(20) OCCURS 2 TIMES.


20 Country PIC X(2).


20 Zip PIC X(10).

AddressesMsg

t_AddressesMsg

HomeAddress

WorkAddress

t_Address

Line

Country

Zip

xsd:string

My_AddressesMsg.mxsd

My_Set_Project

messageSet.mset

My_Set

Specification, model, logical message tree

x'3c41......................................................................3d'

XML

TDS

CWF

parse

construct

Logical
Message

Model (MRM)

or

or

+

=

MessageSet

MessageType

Physical Formats

(
MessageFormat
)

Physical representation

MessageFormat
= Physical format layer ID

Msd
= 'MRM '
= 'BLOB'


Fmt
= Physical format layer ID

Root

Properties

MQMD

MQRFH2

XMLNSC

MessageSet
= MessageSet
-
ID

MessageType
= MessageID

ReplyToQ

Format ='MQHRF2 '

mcd

Set

= MessageSet
-
ID

Type
= MessageID

Message

Name

Version

Complaint

Type

MRM

BLOB

(Body)

Name

Version

Complaint

Type

Logical message tree
-

Root

JMS message tree



JMSMQTransform, MQJMSTransform Nodes convert between JMS
canonical and MQ specific formats


Transform JMS tree to MQRFH2 format and vice versa

Web Service

Gateway

JMS

EJB

SOAP over
JMS

SOAP over HTTP

Web Services
Request

Web Application
Server

Application
Connectivity
Services

Message Flow

SOAP

Client

Service
requestor

HTTP

SOAP
-
XML

Web Service

provider

Service
provider

Other Service

provider

Service
provider

Web services support

Failure

Processing


SOAP Service Requestor

HTTPInput

MQGETs msg

stores input MessageID in context

parses HTTP

transactional control

HTTPReply

generates HTTPReplyHeader

serializes to bitstream

MQPUTs reply using CorrelID

opt: waits for acknowledgment

MQPUT


acknowledgment

MQGET

reply (or error)

Failure:
ERROR msg for client

non
-
persistent

MQPUT

using CorrelID

Failure

WebServices Listener Process

listens on port

parses headers

accesses Qs via JNI

sends SOAP Fault msg to client after time
-
out

SYSTEM.BROKER.WS.INPUT

SYSTEM.BROKER.WS.REPLY

SYSTEM.BROKER.WS.ACK

WebServices Config File

updated by HTTPInput nodes

HTTPInput node
-

URL fragment
-

CorrelID

LocalEnvironment.Destination.HTTP.RequestIdentifier

Web Services Technical Implementation