Presentation MOM

download Presentation MOM

of 32

Transcript of Presentation MOM

  • 7/23/2019 Presentation MOM

    1/32

    Types of Communication

    Persistent versus transient

    Synchronous versus asynchronous

    Discrete versus streaming

  • 7/23/2019 Presentation MOM

    2/32

    Persistent versus Transient

    Communication

    Persistent: messages are held by the middlewarecomm. service until they can be delivered (e.g. email!" Sender can terminate after e#ecuting send

    " $eceiver will get message ne#t time it runs

    Transient: messages e#ist only while the sender andreceiver are running" Communication errors or inactive receiver cause the message

    to be discarded

    " Transport%level communication is transient

  • 7/23/2019 Presentation MOM

    3/32

    &synchronous v Synchronous

    Communication

    Asynchronous: (non%bloc'ing! sender resumese#ecution as soon as the message is passed to the

    communicationmiddleware software

    Synchronous: sender is bloc'ed until"

    The )S or middleware notifies acceptance of the message or" The message has been delivered to the receiver or

    " The receiver processes it * returns a response

  • 7/23/2019 Presentation MOM

    4/32

    Discrete versus Streaming Communication

    Discrete: communicating parties e#change discretemessages

    Streaming: one%way communication+ a ,session-

    consists of multiple messages from the sender that are

    related either by send order (TCP streams! temporal

    pro#imity (multimedia streams! etc.

  • 7/23/2019 Presentation MOM

    5/32

    Persistence and Synchronicity in Communication

    a! Persistent asynchronous communicationb! Persistent synchronous communication

    %./

  • 7/23/2019 Presentation MOM

    6/32

    Persistence and Synchronicity in Communication

    c! Transient asynchronous communication

    d! $eceipt%based transient synchronous communication

    %.

  • 7/23/2019 Presentation MOM

    7/32

    Persistence and Synchronicity in Communication

    e! Delivery%based transient synchronous communication at message delivery

    f! $esponse%based transient synchronous communication

  • 7/23/2019 Presentation MOM

    8/32

    0essage Passing (0P! Systems

    1undamentally different approach.

    &ll communications primitives are defined in terms

    of passing ,messages-.

    2nitially 0P systems were ,transient- but these did

    not scale wellgeographically.

    $ecent emphasis has been on ,persistent- solutions.3

  • 7/23/2019 Presentation MOM

    9/32

    0essaging Channels

    Channels are used to transport messages between multiple distributedapplications and can be implemented using 4ueues

    & channel can be used concurrently by multiple applications

    0essaging channel patterns:

    "Point to point"Publish and subscribe

    "datatype

  • 7/23/2019 Presentation MOM

    10/32

    Point to Point Channel

    5nsures that only one consumer consumes anygiven message

    The channel can still have multiple consumers to

    consume multiple messages concurrently but only asingle receiver consumes any one message.

  • 7/23/2019 Presentation MOM

    11/32

    Publish and Subscribe Channel

    & single input channel that splits into multiple output channels6onefor each subscriber

    5ach output channel is configured on one%to%one topology to allowonly one consumer to consume a message.

    The event is considered consumed only when all of the consumershave been notified.

  • 7/23/2019 Presentation MOM

    12/32

    DataType Channel

    2n any messaging system there are several separate datatypechannelsfor each type of data.

    &ll of the messages on a given channel will contain the same type ofdata.

    7ased on data type the service provider sends the data to the channeland the consumer receives data from the appropriate datatypechannel.

  • 7/23/2019 Presentation MOM

    13/32

    Soc'et Communication

    8sing soc'ets clients and servers can set up a connection%oriented communication session.

    Servers e#ecute first four primitives (soc'et bind listenaccept! while clients e#ecute soc'et and connect primitives!

    Then the processing is clientwrite serverread serverwriteclientread all close connection.

  • 7/23/2019 Presentation MOM

    14/32

    0essage%)riented Transient Comms.

    2nitital efforts relied on the Soc'ets &P2.

    9owever DS developers reected Soc'ets:

    % ;rong level of abstraction (only ,send- and ,receive-!.

    % Too closely coupled to TCP2P networ's " not diverse enough.

    /