08 message and_queues_dieter_gawlick

35
08/03/99 1 Messaging Dieter Gawlick Architect [email protected] 9:00 11:00 1:30 3:30 7:00 Overview Faults Tolerance T Models Party TP mons Lock Theory Lock Techniq Msg & Qs Workflow Log ResMgr CICS & Inet Adv TM Cyberbrick Files &Buffers COM+ Corba Replication Party B-tree Access Paths Groupware Benchmark Mon Tue Wed Thur Fri

Transcript of 08 message and_queues_dieter_gawlick

Page 1: 08 message and_queues_dieter_gawlick

08/03/99 1

MessagingDieter Gawlick

Architect

[email protected]

9:00

11:00

1:30

3:30

7:00

Overview

Faults

Tolerance

T Models

Party

TP mons

Lock Theory

Lock Techniq

Msg & Qs

Workflow

Log

ResMgr

CICS & Inet

Adv TM

Cyberbrick

Files &Buffers

COM+

Corba

Replication

Party

B-tree

Access Paths

Groupware

Benchmark

Mon Tue Wed Thur Fri

Page 2: 08 message and_queues_dieter_gawlick

08/03/99 2

Objectives

Understand Importance of messaging The basic functions of messaging systems The implementation steps Some advanced topics Some products

Page 3: 08 message and_queues_dieter_gawlick

08/03/99 3

Tightly Coupled Applications

Component Program

Application SystemProgram

Service

Application

Program communication via RPC, CORBA, or COM

Coordinated Design & Development

Data communication via Replication, JDBC, OLE-DB, Gateways, etc.

Page 4: 08 message and_queues_dieter_gawlick

08/03/99 4

Loosely Coupled Applications

Component Program Program

Program

Application System

Purchased or legacy application or inter-inter-

enterpriseenterprise

Coordinated Design & Development

Program

Service

Application

Cooperating applications may communicate through messaging (e.g. FTP, MOM, E-mail, PGM, etc.)

Page 5: 08 message and_queues_dieter_gawlick

08/03/99 5

Communication Methods

Tightly Coupled Communication through API’s Communication through data

Loosely Coupled Communication through messages

Page 6: 08 message and_queues_dieter_gawlick

08/03/99 6

Why is Messaging so Important?

It’s all about EAI (Enterprise Application Integration) Inside companies B2B – Business to Business B2C – Business to Customers B2G – Business to Government

Page 7: 08 message and_queues_dieter_gawlick

08/03/99 7

Integration within an Enterprise

PeopleSoft

BaanOracle

SAP

InternetPrivate Network

WAN

• To deploy best-of-breed packaged applications

Page 8: 08 message and_queues_dieter_gawlick

08/03/99 8

Integration within an Enterprise

• To implement cross-departmental business processes

Finance

Sales

Marketing

InternetPrivate Network

Intranet

Page 9: 08 message and_queues_dieter_gawlick

08/03/99 9

B2B - Business to Business

Manufacturer

Customer

Supplier

InternetPrivate Network

WAN

• For efficient supply-chain management • To integrate with partners, vendors and customers• To expand delivery channels

Page 10: 08 message and_queues_dieter_gawlick

08/03/99 10

B2C - Business to Customers

Corporate data

Back OfficeFront Office

Accounting

Manufacturing

Human Resources

Customer Support

Sales ForceAutomation

Marketing

InternetWebServer

Intranet

• To improve customer responsiveness

Page 11: 08 message and_queues_dieter_gawlick

08/03/99 11

A Little Bit of History

Message Management(Journalizing, Tracking …)

Message Routing and Transformation

Business Logic

Message Oriented Middleware

The Network

Message Oriented Middleware

Business Logic

Business EventManagement

Business Intelligence Workflow Tracking/Auditing Routing – Publish/

Subscribe Transformation DistributionNetworking API’s

Message Distribution

Message Routing and Transformation

Business Logic

Message Management(Journalizing, Tracking …)

Page 12: 08 message and_queues_dieter_gawlick

08/03/99 12

What is Messaging?

A mechanism enabling autonomous applications to communicate Messages are units of information composed of Payload Header

Destinations and Recipients Priority and Ordering Expiration and Time-to-Live And more …

Page 13: 08 message and_queues_dieter_gawlick

08/03/99 13

Messaging - How it Works?

One applications putsputs messages into a local queuequeue

The queuing system guarantees delivery of messages to destination(s)

Another applications getsgets messages from the same or another local queuequeue

Application

Applicat ionLocal

QueueLocal Queue

Network

Page 14: 08 message and_queues_dieter_gawlick

08/03/99 14

How to Manage Messages?

First the basic stuff Get Put Header Payload Distribution/propagation Operations

Will move on to selected advanced topics

Page 15: 08 message and_queues_dieter_gawlick

08/03/99 15

Get/Put

GetGet consumes a message PutPut produces a messageTypical Call structure Call properties Header properties Payload Message identifier – as feedback from put Execution feedback

Page 16: 08 message and_queues_dieter_gawlick

08/03/99 16

Get/Put Properties

Get only Blocked – maximum wait? Callback – what to activate

Provides Push for higher scalability

Mode - browse or consumption Selection – based on a query language

Get/put Transactional or non-transactional

Page 17: 08 message and_queues_dieter_gawlick

08/03/99 17

Header

Describes envelop/processing of message Destination Priority Window of execution –includes post dating SecuritySecurity– system supported … and much more Property list, normally used for extensibility or

payload characterization

Page 18: 08 message and_queues_dieter_gawlick

08/03/99 18

Payload

Payload defines the information that is exchanged – This is the core of the This is the core of the interfaceinterface Define carefully structure of payload Use dictionaries to externalize structures Use standards whenever possible

Standards tend to be domain specific

Payloads tend to be dynamic and complex

Page 19: 08 message and_queues_dieter_gawlick

08/03/99 19

Distribution/Propagation

Requires protocol engine(s)

One or several destinations

Homogeneous and heterogeneous

Transport protocol independent

Exactly once, but not transactional

Application

Applicat ionLocal

QueueLocal Queue

Network

Page 20: 08 message and_queues_dieter_gawlick

08/03/99 20

Operations

Create/modify/delete Queue containers Queues

Activate/Deactivate Queues Get/put

Grant/Revoke access to/use of Queues Get/put

Manage distribution/propagation

Page 21: 08 message and_queues_dieter_gawlick

08/03/99 21

Selected Advanced Topics

Payloads and transformation

Destinations

Publish/Subscribe

Composite events

Tracking and auditing

Business intelligence

Operational characteristics

Page 22: 08 message and_queues_dieter_gawlick

08/03/99 22

Payloads

Existing standards are hard to use and not well supported EDI, SWIFT, HL7

XML – Does it everything? Requires domain specific standards Needs additional technology to bound flexibility Needs extensions for complex data, e.g., CAD/CAM It’s a terrific step forward

Again: This is the core of the interfaceThis is the core of the interface

Page 23: 08 message and_queues_dieter_gawlick

08/03/99 23

Transformation

Transformation products deal with Definition of complex data structure frameworks Constraints of structures and data Physical layout - encoding/decoding Projection

Transformation Reduces complexity of programming Increases autonomy between applications

Page 24: 08 message and_queues_dieter_gawlick

08/03/99 24

Destinations

A message can be send to anything: e-mail, URL, fax, pager, telephone, PDA, and any combination thereof – using transformation to adapt contentThere are ‘abstract’ destinations for increased autonomy between applications: (dynamic) distribution lists, business partners, customers, employers with specified qualificationBusiness protocols (EDI/OBI) – behavior - may needs to be suportedIncreases autonomy between applications

Page 25: 08 message and_queues_dieter_gawlick

08/03/99 25

Publish/Subscribe

Subject based subscription Sends all messages of a queue/topic to subscriber

Content based subscription Sends only messages which consumer likes to see Uses same query language as Get Presents P/S as a query on ‘future’ data Works with any destination Provides ‘auto-publishing’ from data bases

Increases autonomy between applications

Page 26: 08 message and_queues_dieter_gawlick

08/03/99 26

Composite Events

Messages represent often business eventsBusiness events require often multiple events/messages as input – see workflowComposite events combine multiple events to one eventComposite events simplify the development of business process management/workflow significantlyIncreases autonomy between applications

Page 27: 08 message and_queues_dieter_gawlick

08/03/99 27

Tracking and Auditing

Messages should be retainedretained for auditing – B2B messages are business events/legal documents Makes auditing information consistent Shows sagas/business processes –prevents islands of

business operations Reduces programming significantly Reduces programming verification significantly Requires message system to provide database

functionality with the type support sufficient for messages

Page 28: 08 message and_queues_dieter_gawlick

08/03/99 28

Business Intelligence

Allows analysis of active and processed messages What is may current cash position? How did I respond to specific customer groups?

Provides permanent source for fact data Can be refreshed based on evolving business

needs

Especially meaningful with retention

Page 29: 08 message and_queues_dieter_gawlick

08/03/99 29

Operational Characteristics

Scalability Stock exchanges – 250K users, .5 second notification, <

.1 second variation

Reliability Banks – 7*24*365 with disaster tolerant

acknowledgement and application migration protection

Security E-commerce – end-to-end security, full auditing and

tracking, no trusted applications

Page 30: 08 message and_queues_dieter_gawlick

08/03/99 30

A Few Questions?

What is the most successful messaging technology?

How much programming is typically consumed by tracking and auditing?

Is a message an event with a payload or a payload with an event?

Page 31: 08 message and_queues_dieter_gawlick

08/03/99 31

Standards

OMG – Event Notifications

JavaSoft – JMS (Java Messaging Services) There is significant interest

Both First release No enough experience yet

Page 32: 08 message and_queues_dieter_gawlick

08/03/99 32

Messaging Products

IBM – IMS TM OLTP - Scalability, Performance, Reliability

IBM/Microsoft - MQSeries/MSMQ MOM (Message Oriented Middleware) Communication Infra-Structure

(homogeneous/heterogeneous platform)

TIBCO – RendezVous Broadcasting

Page 33: 08 message and_queues_dieter_gawlick

08/03/99 33

More About Products

NEONSoft – IBM MQSeries™ Integrator Transformation Content based publish/subscribe

Oracle - Oracle8i (AQ/AQ Lite) Message Management – Retention as core

technology Content based publish/subscribe

Page 34: 08 message and_queues_dieter_gawlick

08/03/99 34

Packaging of Software

IBM and almost everyone else: Messaging is core of middleware technology

and is separate software This is also the view of almost all consultants

Microsoft/Oracle: Messaging is core of middleware technology

and is part of the existing infra-structure (Operating System/Database System)

Page 35: 08 message and_queues_dieter_gawlick

08/03/99 35

Questions

Comments