Messaging Dieter Gawlick Architect dgawlickus oracle com Mon

  • Slides: 35
Download presentation
Messaging Dieter Gawlick Architect dgawlick@us. oracle. com Mon Tue Wed Thur Fri 9: 00

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 Res. Mgr 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 n The basic functions of messaging systems n The

Objectives Understand Importance of messaging n The basic functions of messaging systems n The implementation steps n Some advanced topics n Some products n 08/03/99 2

Tightly Coupled Applications Coordinated Design & Development Application System Component Data communication via Replication,

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

Loosely Coupled Applications Coordinated Design & Development Application System Component Program Application Program Service

Loosely Coupled Applications Coordinated Design & Development Application System Component Program Application Program Service Purchased or legacy application or interenterprise Program Cooperating applications may communicate through messaging (e. g. FTP, MOM, E-mail, PGM, etc. ) 08/03/99 4

Communication Methods Tightly Coupled n n Communication through API’s Communication through data Loosely Coupled

Communication Methods Tightly Coupled n n Communication through API’s Communication through data Loosely Coupled n 08/03/99 Communication through messages 5

Why is Messaging so Important? It’s all about EAI (Enterprise Application Integration) Inside companies

Why is Messaging so Important? It’s all about EAI (Enterprise Application Integration) Inside companies n B 2 B – Business to Business n B 2 C – Business to Customers n B 2 G – Business to Government n 08/03/99 6

Integration within an Enterprise • To deploy best-of-breed packaged applications Oracle Baan Internet Private

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

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

B 2 B - Business to Business • For efficient supply-chain management • To

B 2 B - 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

B 2 C - Business to Customers • To improve customer responsiveness Customer Support

B 2 C - 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 Message Management (Journalizing, Tracking …) Message Routing

A Little Bit of History Business Logic Message Management (Journalizing, Tracking …) 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

What is Messaging? A mechanism enabling autonomous applications to communicate Messages are units of information composed of n n Payload Header n n 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

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 Network Local Queue Application 08/03/99 Local Queue 13

How to Manage Messages? First the basic stuff Get n Put n Header n

How to Manage Messages? First the basic stuff Get n Put n Header n Payload n Distribution/propagation n Operations n 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

Get/Put Get consumes a message Put produces a message Typical Call structure Call properties n Header properties n Payload n Message identifier – as feedback from put n Execution feedback n 08/03/99 15

Get/Put Properties Get only Blocked – maximum wait? n Callback – what to activate

Get/Put Properties Get only Blocked – maximum wait? n Callback – what to activate n n Provides Push for higher scalability Mode - browse or consumption n Selection – based on a query language n Get/put n 08/03/99 Transactional or non-transactional 16

Header Describes envelop/processing of message Destination n Priority n Window of execution –includes post

Header Describes envelop/processing of message Destination n Priority n Window of execution –includes post dating n Security– Security system supported n … and much more n Property list, normally used for extensibility or payload characterization n 08/03/99 17

Payload defines the information that is exchanged – This is the core of the

Payload defines the information that is exchanged – This is the core of the interface Define carefully structure of payload n Use dictionaries to externalize structures n Use standards whenever possible n n 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

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

Operations Create/modify/delete n n Queue containers Queues Activate/Deactivate n n Queues Get/put Grant/Revoke access

Operations Create/modify/delete n n Queue containers Queues Activate/Deactivate n n Queues Get/put Grant/Revoke access to/use of n n 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

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 n EDI, SWIFT,

Payloads Existing standards are hard to use and not well supported n EDI, SWIFT, HL 7 XML – Does it everything? n n 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 products deal with n n Definition of complex data structure frameworks Constraints of

Transformation products deal with n n Definition of complex data structure frameworks Constraints of structures and data Physical layout - encoding/decoding Projection Transformation n n 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,

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 n Sends all messages of a queue/topic to subscriber Content

Publish/Subscribe Subject based subscription n Sends all messages of a queue/topic to subscriber Content based subscription n n 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

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 – B 2 B messages

Tracking and Auditing Messages should be retained for auditing – B 2 B messages are business events/legal documents n n n 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

Business Intelligence Allows analysis of active and processed messages What is may current cash position? n How did I respond to specific customer groups? n Provides permanent source for fact data n Can be refreshed based on evolving business needs Especially meaningful with retention 08/03/99 28

Operational Characteristics Scalability n Stock exchanges – 250 K users, . 5 second notification,

Operational Characteristics Scalability n Stock exchanges – 250 K users, . 5 second notification, <. 1 second variation Reliability n Banks – 7*24*365 with disaster tolerant acknowledgement and application migration protection Security n 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

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 Java. Soft – JMS (Java Messaging Services) n There

Standards OMG – Event Notifications Java. Soft – JMS (Java Messaging Services) n There is significant interest Both First release n No enough experience yet n 08/03/99 31

Messaging Products IBM – IMS TM n OLTP - Scalability, Performance, Reliability IBM/Microsoft -

Messaging Products IBM – IMS TM n OLTP - Scalability, Performance, Reliability IBM/Microsoft - MQSeries/MSMQ MOM (Message Oriented Middleware) n Communication Infra-Structure (homogeneous/heterogeneous platform) n TIBCO – Rendez. Vous n 08/03/99 Broadcasting 32

More About Products NEONSoft – IBM MQSeries™ Integrator Transformation n Content based publish/subscribe n

More About Products NEONSoft – IBM MQSeries™ Integrator Transformation n Content based publish/subscribe n Oracle - Oracle 8 i (AQ/AQ Lite) Message Management – Retention as core technology n Content based publish/subscribe n 08/03/99 33

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

Packaging of Software IBM and almost everyone else: Messaging is core of middleware technology and is separate software n This is also the view of almost all consultants n Microsoft/Oracle: n 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

Questions Comments 08/03/99 35