OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

soa-rm-ra message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [soa-rm-ra] Message and Action Distinction


When using two people as an analogy, it is a true
statement to say that an initiator conveys a message
in some form to get another person to perform some
action.

One analogy in computing is the EJB MessageDrivenBean
OnMessage Handler.  

onMessage(Message msg) {
  try {
     if (msg instanceof SomeMessage) {
         Perform Action;
     } else if (msg instanceof SomeOtherMessage) {
         Perform SomeOtherAction;
     } ...
  } catch (...) {
     ...
  }
}   

I've developed web services using this concept.  The
consumer had a proxy generated with a
sendMessage(Message msg) and the provider had an
onMessage(Message msg) that was also generated.  All
communication code in between the sendMessage and
onMessage was generated to abstract out
marshalling/unmarshalling of data and the
communication protocol.  The message name conveyed the
action.  Using this method, code could be generated
for any protocol between the services without
affecting consumer/provider code.

This is similar to the following in WSDL. 

<message name="getTermRequest">
   <part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
   <part name="value" type="xs:string"/>
</message>
<portType name="glossaryTerms">
  <operation name="getTerm">
      <input message="getTermRequest"/>
      <output message="getTermResponse"/>
  </operation>
</portType>

However, in this example of WSDL the message is the
parameter of the operation/action and something like
the following could be defined:

<operation name="DoGoodThings"
pattern="http://www.w3.org/2006/01/wsdl/robust-in-only";>
      <documentation>Invoke this operation no
input</documentation>
      <input element="#none"/>
</operation>

There is no message defined in this model, only an
operation/action.  Trying to explain the difference
here is similar to trying to explain a difference
between a service and an object.   

I'm ok with the message being the conveyer of an
action. The context of the message is what provides
the flexibility of multiple actions on one message and
vice-versa.  I think it is important that we are clear
about how we achieve the flexibility of separation of
action and message as defined by the Behavior Model
and Information Model.  As Frank described, if you
scratch your nose at an auction you place a bid.  If
you scratch your nose at the dinner table, people may
not want to sit next to you.

Danny

--- Francis McCabe <frankmccabe@mac.com> wrote:

> Here is an example of what I think of as the
> relationship between  
> messages and actions:
> 
> In an auction (a real one where people are sitting
> on chairs  
> listening to the auctioneer and making bids by
> scratching their  
> noses) people do not physically come over to the
> auctioneer and write  
> on his note pad when they want to make a bid: they
> communicate.
> 
>  From the point of view of a mind running in
> someone's brain, there  
> is not that much distinction between moving the
> muscles of the larynx  
> or moving the muscles of the leg: they are both
> physical actions. The  
> choice between them depends on a judgement of
> effectiveness -- in the  
> right context (the execution context?) by moving the
> larynx in the  
> appropriate way, the actions involved can achieve
> the goal of making  
> a bid.
> 
> So it is with acting on a service, in the context of
> the Internet,  
> the appropriate activity needed to achieve the
> action on the service  
> is the sending of the message. In that sense, the
> message (or, more  
> accurately, the activity of sending and receiving
> the message) counts  
> as performing the requisite action on the service.
> 
> Of course, with a service interaction, just as with
> a bid in the Art  
> auction, the right message must be exchanged. Almost
> certainly, one  
> which has separable parts like the operation code,
> any document  
> arguments and so on.
> 
> 
> On Jan 22, 2007, at 10:02 PM, Danny Thornton wrote:
> 
> > During the last conference call, we discussed the
> > relationship of the action to message.  This was
> for
> > the interacting with services section.  One of the
> > discussions focused on whether the message
> contains
> > the action or whether the message is like a
> parameter
> > to the action.
> >
> > One interpretation for message can be that the
> message
> > is data sent to the service, data the service will
> > unmarshall and act upon.  The action itself may or
> may
> > not require a message/data.
> >
> > Another interpretation for message is that the
> message
> > itself specifies the action.  An action is always
> > conveyed with a message.
> >
> > The first interpretation is a conceptual
> distinction
> > between action and message.  The second
> interpretation
> > is more literal in nature, to interact with a
> service
> > requires an electronic transfer.  Any form of
> > electronic transfer is a message.
> >
> > Hmmm... Other Thoughts?
> >
> > Danny
> >
> >
> >
> >
>
______________________________________________________________________
> 
> > ______________
> > Do you Yahoo!?
> > Everyone is raving about the all-new Yahoo! Mail
> beta.
> > http://new.mail.yahoo.com
> 
> 



 
____________________________________________________________________________________
Food fight? Enjoy some healthy debate 
in the Yahoo! Answers Food & Drink Q&A.
http://answers.yahoo.com/dir/?link=list&sid=396545367


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]