Messaging
Dieter Gawlick
Architect
dgawlick@us.oracle.com
Mon
Tue
Wed
Thur
Fri
9:00
Overview
TP mons
Log
Files &Buffers
B-tree
11:00
Faults
Lock Theory
ResMgr
COM+
Access Paths
1:30
Tolerance
Lock Techniq
CICS & Inet
Corba
Groupware
3:30
T Models
Msg & Qs
Adv TM
Replication
Benchmark
Party
Workflow
Cyberbrick
Party
7:00
08/03/99
1
Objectives
Understand
Importance of messaging
The basic functions of messaging systems
The implementation steps
Some advanced topics
Some products
08/03/99
2
Tightly Coupled Applications
Coordinated Design & Development
Application
Application System
Component
Data communication via
Replication, JDBC, OLE-DB,
Gateways, etc.
08/03/99
Program
Program
Service
Program communication via RPC, CORBA, or COM
3
Loosely Coupled Applications
Coordinated Design & Development
Application
Application System
Component
Program
Program
Service
Purchased or legacy
application or interenterprise
Program
Program
Cooperating applications may communicate through
messaging (e.g. FTP, MOM, E-mail, PGM, etc.)
08/03/99
4
Communication Methods
Tightly Coupled
Communication through API’s
Communication through data
Loosely Coupled
08/03/99
Communication through messages
5
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
08/03/99
6
Integration within an Enterprise
• To deploy best-of-breed packaged applications
Oracle
Baan
Internet
Private Network
WAN
SAP
08/03/99
People
Soft
7
Integration within an Enterprise
• To implement cross-departmental business processes
Marketing
Finance
Internet
Private Network
Intranet
Sales
08/03/99
8
B2B - Business to Business
• For efficient supply-chain management
• To integrate with partners, vendors and customers
• To expand delivery channels
Supplier
Internet
Private Network
WAN
Manufacturer
Customer
08/03/99
9
B2C - Business to Customers
• To improve customer responsiveness
Customer
Support
Internet
Web
Server
Sales Force
Automation
Marketing
Front Office
08/03/99
Accounting
Intranet
Manufacturing
Corporate
data
Human
Resources
Back Office
10
A Little Bit of History
Business Logic
Business Logic
Message Management
(Journalizing, Tracking …)
Message Management
(Journalizing, Tracking …)
Message Routing
and Transformation
Message Routing
and Transformation
Message Distribution
Message Oriented
Middleware
Networking API’s
Business Logic
Business Event
Management
Business Intelligence
Workflow
Tracking/Auditing
Routing – Publish/
Message Oriented
Subscribe
Middleware
Transformation
Distribution
The Network
08/03/99
11
What is Messaging?
A mechanism enabling autonomous
applications to communicate
Messages are units of information
composed of
Payload
Header
08/03/99
Destinations and Recipients
Priority and Ordering
Expiration and Time-to-Live
And more …
12
Messaging - How it Works?
One applications puts messages into a local
queue
The queuing system guarantees delivery of
messages to destination(s)
Another applications gets messages from the
same or another local queue
08/03/99
Network
Local
Queue
Application
Local
Queue
13
How to Manage Messages?
First the basic stuff
Get
Put
Header
Payload
Distribution/propagation
Operations
Will move on to selected advanced topics
08/03/99
14
Get/Put
Get consumes a message
Put produces a message
Typical Call structure
Call properties
Header properties
Payload
Message identifier – as feedback from put
Execution feedback
08/03/99
15
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
08/03/99
Transactional or non-transactional
16
Header
Describes envelop/processing of message
Destination
Priority
Window of execution –includes post dating
Security– system supported
… and much more
Property list, normally used for extensibility or
payload characterization
08/03/99
17
Payload
Payload defines the information that is
exchanged – This is the core of the
interface
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
08/03/99
18
Distribution/Propagation
Requires protocol engine(s)
One or several destinations
Homogeneous and heterogeneous
Transport protocol independent
Exactly once, but not transactional
08/03/99
Network
Local
Queue
Application
Local
Queue
19
Operations
Create/modify/delete
Queue containers
Queues
Activate/Deactivate
Queues
Get/put
Grant/Revoke access to/use of
Queues
Get/put
Manage distribution/propagation
08/03/99
20
Selected Advanced Topics
Payloads and transformation
Destinations
Publish/Subscribe
Composite events
Tracking and auditing
Business intelligence
Operational characteristics
08/03/99
21
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 interface
08/03/99
22
Transformation
Transformation products deal with
Definition of complex data structure frameworks
Constraints of structures and data
Physical layout - encoding/decoding
Projection
Transformation
08/03/99
Reduces complexity of programming
Increases autonomy between applications
23
Destinations
A message can be send to anything: e-mail, URL,
fax, pager, telephone, PDA, and any combination
thereof – using transformation to adapt content
There are ‘abstract’ destinations for increased
autonomy between applications: (dynamic)
distribution lists, business partners, customers,
employers with specified qualification
Business protocols (EDI/OBI) – behavior - may
needs to be suported
Increases autonomy between applications
08/03/99
24
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
08/03/99
25
Composite Events
Messages represent often business events
Business events require often multiple
events/messages as input – see workflow
Composite events combine multiple events to one
event
Composite events simplify the development of
business process management/workflow
significantly
Increases autonomy between applications
08/03/99
26
Tracking and Auditing
Messages should be retained for auditing – B2B
messages are business events/legal documents
08/03/99
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
27
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
08/03/99
28
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
08/03/99
E-commerce – end-to-end security, full auditing and
tracking, no trusted applications
29
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?
08/03/99
30
Standards
OMG – Event Notifications
JavaSoft – JMS (Java Messaging Services)
There is significant interest
Both
First release
No enough experience yet
08/03/99
31
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
08/03/99
Broadcasting
32
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
08/03/99
33
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:
08/03/99
Messaging is core of middleware technology
and is part of the existing infra-structure
(Operating System/Database System)
34
Questions
Comments
08/03/99
35