You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@ws.apache.org by Yuhichi Nakamura <NA...@jp.ibm.com> on 2000/11/15 07:27:27 UTC

Messaging Pattern (RE: Requirements)

James,
I separeted Messaing (interaction) Pattern topic.
I have different 4 or 5 patterns in mind:
  a. Synchronous request/response
  b. Asynchronous request/response
  c. Synchronous one-way
  d. Asynchronous one-way
  (e. one-way without ack)
Note that c, d and e are distinguished how ack is returned to the
requester.
e is in a sense dangerous because you do not know whether it is delivered
or not.

As for your 1, actually there are three patters in my definition (c, d, e).
Your 2 can be implemented with one-way (c, d, e).  Why should we
distinguish notification from one-way messaging.
I excluded your 3 because it can be provided by performing multiple one-way
messaging.  I feel it should be developed on top of a basic platform.
Your  4 corresoponds to my a and/or b.  When discussing interaction
pattern, we should not introduce another-level concept RPC.
Even at the messaging, we have request/response.  Right?

Again, semantics of messaging affects the basis of the architectures.
Therefore we need a consensus on this.

p.s. In another mail, you mentioned that it is not difficult to combine
two one-way messaging into request/response.  I am not sure about
that.  If you come up with a design for this, please post it.

Best regards,

Yuhichi Nakamura
IBM Research, Tokyo Research Laboratory
Tel: +81-46-215-4668
FAX: +81-46-215-7413


From: "James Snell" <js...@lemoorenet.com> on 2000/11/15 13:34

Please respond to soap-dev@xml.apache.org

To:   <so...@xml.apache.org>
cc:
Subject:  RE: Requirements



2. Regarding supported interaction patterns.  There are four interaction
patterns (in no particular order):

   1. Messaging.  one-way messages sent from a service consumer to a
service
provider
   2. Notification. one-way messages sent from a service provider to a
service consumer
   3. Broadcast. one-way messages sent from either a single service
provider
to a group of service consumers or from a single service consumer to a
group
of service providers.
   4. RPC. request-response messages exchanged between a service consumer
and a service provider
      Subtype: RPC Broadcast.  request-response messages sent from either
one service consumer to multiple service providers or from a single service
provider to multiple service consumers.

   Practical examples of each interaction pattern:

   1. Messaging: Purchase Order submission into an enterprise system
   2. Notification: Notifying the service consumer that a long-running
async
process has completed
   3. Broadcast:
        Provider To Consumers: Notifying multiple service consumers that a
service is going offline/online
        Consumer to Providers: Notifying multiple service providers that a
consumer is going offline/online
   4. RPC:
        1 Consumer To 1 Provider: Standard application RPC
        1 Consumer To n Providers: Napster-style P2P applications.  For
example, one client that initiates
                                   a simultaneous search on multiple
service
providers.

   Out of these four, I think number 1 and number 4 are the most important,
but I would like to see all 4 addressed.