1 / 35

Messaging

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.

emiko
Download Presentation

Messaging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 7:00 Party Workflow Cyberbrick Party

  2. Objectives • Understand • Importance of messaging • The basic functions of messaging systems • The implementation steps • Some advanced topics • Some products

  3. Program Component Program Service Data communication via Replication, JDBC, OLE-DB, Gateways, etc. Program communication via RPC, CORBA, or COM Tightly Coupled Applications Coordinated Design & Development Application Application System

  4. Program Program Component Program Service Program Loosely 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.)

  5. Communication Methods • Tightly Coupled • Communication through API’s • Communication through data • Loosely Coupled • Communication through messages

  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

  7. Integration within an Enterprise • To deploy best-of-breed packaged applications Oracle Baan Internet Private Network WAN SAP People Soft

  8. Integration within an Enterprise • To implement cross-departmental business processes Marketing Finance Internet Private Network Intranet Sales

  9. B2B - 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

  10. B2C - 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

  11. A 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 API’s The Network

  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 …

  13. Application Application Local Queue Network Local Queue 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

  14. How to Manage Messages? • First the basic stuff • Get • Put • Header • Payload • Distribution/propagation • Operations • Will move on to selected advanced topics

  15. 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

  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

  17. 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

  18. 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

  19. Application Application Local Queue Network Local Queue Distribution/Propagation • Requires protocol engine(s) • One or several destinations • Homogeneous and heterogeneous • Transport protocol independent • Exactly once, but not transactional

  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

  21. Selected Advanced Topics • Payloads and transformation • Destinations • Publish/Subscribe • Composite events • Tracking and auditing • Business intelligence • Operational characteristics

  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 interface

  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

  24. 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

  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

  26. 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

  27. Tracking 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

  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

  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

  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?

  31. Standards • OMG – Event Notifications • JavaSoft – JMS (Java Messaging Services) • There is significant interest • Both • First release • No enough experience yet

  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

  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

  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)

  35. Questions Comments

More Related