Title: Messaging
1Messaging
- Dieter Gawlick
- Architect
- dgawlick_at_us.oracle.com
Mon
Tue
Wed
Thur
Fri
900
Overview
TP mons
Log
Files Buffers
B-tree
1100
Faults
Lock Theory
ResMgr
COM
Access Paths
130
Tolerance
Lock Techniq
CICS Inet
Corba
Groupware
330
T Models
Msg Qs
Adv TM
Replication
Benchmark
700
Party
Workflow
Cyberbrick
Party
2Objectives
- Understand
- Importance of messaging
- The basic functions of messaging systems
- The implementation steps
- Some advanced topics
- Some products
3Tightly Coupled Applications
Coordinated Design Development
Application
Application System
4Loosely Coupled Applications
Coordinated Design Development
Purchased or legacy application or
inter-enterprise
Application
Application System
Cooperating applications may communicate through
messaging (e.g. FTP, MOM, E-mail, PGM, etc.)
5Communication Methods
- Tightly Coupled
- Communication through APIs
- Communication through data
- Loosely Coupled
- Communication through messages
6Why is Messaging so Important?
- Its all about EAI (Enterprise Application
Integration) - Inside companies
- B2B Business to Business
- B2C Business to Customers
- B2G Business to Government
7Integration within an Enterprise
- To deploy best-of-breed packaged applications
Oracle
Baan
Internet Private Network WAN
SAP
People Soft
8Integration within an Enterprise
- To implement cross-departmental business processes
Marketing
Finance
Internet Private Network Intranet
Sales
9B2B - Business to Business
- For efficient supply-chain management
- To integrate with partners, vendors and customers
- To expand delivery channels
Supplier
Manufacturer
Internet Private Network WAN
Customer
10B2C - Business to Customers
- To improve customer responsiveness
Customer Support
Accounting
Internet Web Server
Corporate data
Manufacturing
Sales Force Automation
Intranet
Human Resources
Marketing
Front Office
Back Office
11A Little Bit of History
Business Logic
Business Logic
Business Logic
Message Management (Journalizing, Tracking )
Message Management (Journalizing, Tracking )
Business Event Management Business
Intelligence Workflow
Tracking/Auditing
Routing Publish/ Subscribe
Transformation
Distribution
Message Routing and Transformation
Message Routing and Transformation
Message Distribution
Message Oriented Middleware
Message Oriented Middleware
Networking APIs
The Network
12What 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
13Messaging - 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
14How to Manage Messages?
- First the basic stuff
- Get
- Put
- Header
- Payload
- Distribution/propagation
- Operations
- Will move on to selected advanced topics
15Get/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
16Get/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
17Header
- 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
18Payload
- 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
19Distribution/Propagation
- Requires protocol engine(s)
- One or several destinations
- Homogeneous and heterogeneous
- Transport protocol independent
- Exactly once, but not transactional
20Operations
- Create/modify/delete
- Queue containers
- Queues
- Activate/Deactivate
- Queues
- Get/put
- Grant/Revoke access to/use of
- Queues
- Get/put
- Manage distribution/propagation
21Selected Advanced Topics
- Payloads and transformation
- Destinations
- Publish/Subscribe
- Composite events
- Tracking and auditing
- Business intelligence
- Operational characteristics
22Payloads
- 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
- Its a terrific step forward
- Again This is the core of the interface
23Transformation
- 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
24Destinations
- 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
25Publish/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
26Composite 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
27Tracking and Auditing
- Messages should be retained 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
28Business 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
29Operational Characteristics
- Scalability
- Stock exchanges 250K users, .5 second
notification, lt .1 second variation - Reliability
- Banks 724365 with disaster tolerant
acknowledgement and application migration
protection - Security
- E-commerce end-to-end security, full auditing
and tracking, no trusted applications
30A 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?
31Standards
- OMG Event Notifications
- JavaSoft JMS (Java Messaging Services)
- There is significant interest
- Both
- First release
- No enough experience yet
32Messaging Products
- IBM IMS TM
- OLTP - Scalability, Performance, Reliability
- IBM/Microsoft - MQSeries/MSMQ
- MOM (Message Oriented Middleware)
- Communication Infra-Structure (homogeneous/heterog
eneous platform) - TIBCO RendezVous
- Broadcasting
33More 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
34Packaging 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)
35