Comments regarding WSA glossary

Correlation:

The definition is two narrow since it defines the relationship between
messages but not the relationship between a message and a conversation or a
message and an activity (e.g. as used in WSCI and BPEL4WS).

I would suggest a more generic definition, something like:

"A causal, parallel or reciprocal relationship between a message and another
entity, e.g. a causal relationship between one message and another, a
parallel relationship between a message and a conversation, or a reciprocal
relationship between two activities performed as part of the same
conversation."


Interaction:

Could we define interaction as more generic and then define atomic
interactions (the act of doing an operation) and long-running interactions?
The definition of long-running interaction precludes interactions between
peer services. Is this intentional?

How about: "The process of two entities acting on each other as captured by
the exchange of messages, e.g. a service requestor and service provider
interacting by performing an operation, or multiple services interacting as
part of a long-running choreography."


Operation:

How about: "An atomic interaction between a service requestor and a service
provider. More complex interactions are built by composing multiple
operations."


Reliable messaging:

"The sender can decide whether or not a message has been received by its
intended receiver."

It is impossible to determine that it has not been received (aka
improbability of reaching concensus), but a decision is possible using
time-outs.

Formally, the sender and receiver(s) both reach a concensus decision about
delivery (=processing). If a decision cannot be reached (e.g. no ack
received) then the sender can conclude that a particular receiver is
inoperative (=faulty process) and reach its own decision (not received). The
formal definition is more interesting since it supports group communication,
e.g. multicast.

"The receiver processes a given message from the sender only if sent by that
sender."

This is typically fulfilled using digital signatures (see non-repudiation)
but is part of the formal definition of RM.


I am a strong believer that the WSA should look beyond the specific patterns
of communication involving two end-points and RPC style of communication,
even if those are most applicable use cases and well supported by the
current reference architecture.

Instead it describe the architecture in more generic terms, borrowing as
much as possible from formal models of distributed systems. It could propose
WSDL, SOAP, ebXML, REST etc as applicable solutions (observing the 80/20
rule), but not preclude future extensions that would allow for more
interesting service definitions (e.g. multicast, multi-party, replication).

For RM I would suggest a definition based on group communication with
point-to-point (such as HTTP or WS-RM) being a special case that satisfies
the requirements of RM. A formal definition is given by Chandra-Toueg in
Unreliable Failure Detectors for Reliable Distributed Systems (Proceedings
of the Tenth ACM Symposium on Principles of Distributed Computing, pages
325-340).

For interactions, I would suggest looking at formal models for distributed
concurrent systems based on communication, in particular various forms of
process algebra (most influential material listed here:
http://theory.stanford.edu/~rvg/process.html).

arkin



----------------------------------------------------------------------
Assaf Arkin                                          arkin@intalio.com
Intalio Inc.                                           www.intalio.com
The Business Process Management Company                 (650) 577 4700

This message is  intended  only for the  use of  the Addressee and may
contain information  that is PRIVILEGED  and CONFIDENTIAL.  If you are
not the  intended recipient,  dissemination of  this  communication is
prohibited.  If you have received this communication  in error, please
erase all copies  of the  message and  its  attachments  and notify us
immediately.

Received on Sunday, 23 February 2003 20:23:36 UTC