Messaging Dieter Gawlick Architect

advertisement
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
Download