2002/ws/desc/wsdl20 wsdl20-meps.frag.xml,NONE,1.1

Update of /sources/public/2002/ws/desc/wsdl20
In directory hutz:/tmp/cvs-serv19780

Added Files:
	wsdl20-meps.frag.xml 
Log Message:
Created fragment from old part two for inclusion into combined "adjuncts" document

--- NEW FILE: wsdl20-meps.frag.xml ---
<div1 id="meps">
<head>Predefined Message Exchange Patterns</head>

<p diff="add">
A <em>node</em> is an agent <bibref ref="agent-def" /> that can transmit and/or receive message(s) 
described in WSDL description(s) and process them.
</p>
<note>
    <p diff="add">A node may be accessible via more than one physical address or transport.</p>
</note>

<p>
Web Services Description Language (WSDL) message exchange patterns (hereafter simply
'patterns') define the sequence and of abstract messages listed in 
an operation.  Message exchange patterns also define which other nodes send 
messages to, and receive messages from, the service implementing the operation.
WSDL message exchange patterns describe the interaction at the abstract 
(interface) level, which may be distinct from the pattern used by the 
underlying protocol binding (e.g. SOAP Message Exchange Patterns).
</p>

<p>
By design, WSDL message exchange patterns abstract out specific message types.
Patterns identify placeholders for messages, and placeholders are
associated with specific message types by the operation using the
pattern. 
</p>

<p>
Unless explicitly stated otherwise, WSDL message exchange patterns also
abstract out binding-specific information like timing between
messages, whether the pattern is synchronous or asynchronous, and
whether the message are sent over a single or multiple channels.
</p>

<p>
Like interfaces and operations, WSDL message exchange patterns do not
exhaustively describe the set of messages exchanged between a service
and other nodes; by some prior agreement, another node and/or the
service may send other messages (to each other or to other nodes) that
are not described by the pattern. For instance, even though a pattern
may define a single message sent from a service to one other node, the
Web Service may multicast that message to other nodes.
</p>

<p>
To maximize reuse, WSDL message exchange patterns identify a minimal contract
between other parties and Web Services, and contain only information
that is relevant to both the Web Service and another party.
</p>

<p>This specification defines several message exchange patterns for
use with <emph>WSDL Version 2.0 Part 1: Core Language</emph> <bibref
ref='WSDL-PART1' />.</p>

<div2 id="fault-rules">
<head>Fault Propagation Rules</head>

<p>WSDL patterns specify their fault propagation model using standard
rulesets to indicate where faults may occur.  The most common patterns
for fault propagation are defined here, and referenced by patterns later in
the document.</p>

<p>WSDL patterns specify propagation of faults, not their generation.  
Nodes which generate a fault MUST attempt to propagate the faults in 
accordance with the governing ruleset, but it is understood that any 
delivery of a network message is best effort, not guaranteed.  The 
rulesets establish the direction of the fault message and the fault 
recipient, they do not provide reliability or other delivery guarantees. 
When a fault is generated, the generating node MUST attempt to 
propagate the fault, and MUST do so in the direction and to to the 
recipient specified by the ruleset.</p> 

<p>Generation of a fault, regardless of ruleset, terminates the exchange.</p>

<p>Bindings, features, or extension specifications may override the 
semantics of a fault propagation ruleset, but this practice is strongly 
discouraged.</p> 

<div3 id="fault-replacement">
<head>Fault Replaces Message</head>

<p>Any message after the first in the pattern MAY be replaced with a fault
message, which MUST have identical direction.  The fault
message MUST be delivered to the same target node as the message it
replaces.  If there is no path to this node, the fault MUST be discarded.
</p>

</div3>

<div3 id="fault-trigger">
<head>Message Triggers Fault</head>

<p>Any message, including the first, MAY trigger a fault message in
response.  Each recipient MAY propagate a fault message, and MUST propagate no
more than one fault for each triggering message.  Each fault message has 
direction the reverse of its triggering message.  The fault message MUST 
be delivered to the originator of the message which triggered it.  If there 
is no path to this node, the fault MUST be discarded.
</p>

</div3>

<div3 id="no-fault">
<head>No Faults</head>
<p>No faults may be propagated.</p>

</div3>

</div2>

<div2 id="patterns">
<head>Message Exchange Patterns</head>

<p>WSDL patterns are described in terms of the WSDL component model,
specifically the Message Label and Fault Reference components. </p>

<div3 id="in-only">
<head>In-Only</head>
<p>
This pattern consists of exactly one message as follows:
</p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a Message Label component whose {message label} is 'In' and
{direction} is 'in'
        </p>
      </item>
      <item>
        <p>
received from some node N
        </p>
      </item>
    </ulist>
  </item>
</olist>

<p>This pattern uses the rule <specref ref='no-fault'/>.</p>
<p>
An operation using this message exchange pattern has a {pattern} property with
the value '&wsdl-mep-in-only;'.
</p>
</div3>

<div3 id="robust-in-only">
<head>Robust In-Only</head>
<p>This pattern consists of exactly one message as follows:</p>
<olist>
  <item><p>A message:</p>
    <ulist>
      <item><p>indicated by a Message Label component whose
{message label} is 'In' and {direction} is 'in'</p></item>
      <item><p>received from some node N</p></item>
    </ulist>
  </item>
</olist>
<p>This pattern uses the rule <specref ref='fault-trigger'/>.</p>
<p>An operation using this message exchange pattern has a {pattern} property with
the value '&wsdl-mep-robust-in-only;'.</p>
</div3>

<div3 id="in-out">
<head>In-Out</head>
<p>This pattern consists of exactly two messages, in order, as follows:</p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a Message Label component whose {message label} is 'In' and {direction}
is 'in'
        </p>
      </item>
      <item>
        <p>
received from some node N
        </p>
      </item>
    </ulist>
  </item>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a Message Label component whose {message label} is 'Out' and {direction}
is 'out'
        </p>
      </item>
      <item>
        <p>
sent to node N
        </p>
      </item>
    </ulist>
  </item>
</olist>
<p>This pattern uses the rule <specref ref='fault-replacement'/>.</p>
<p>
An operation using this message exchange pattern has a {pattern} property with
the value '&wsdl-mep-in-out;'.
</p>
</div3>

<div3 id="in-opt-out">
<head>In-Optional-Out</head>
<p>This pattern consists of one or two messages, in order, as
follows:</p>
<olist>
  <item><p>A message:</p>
    <ulist>
      <item><p>indicated by a Message Label component whose
{message label} is 'In' and {direction} is 'in'</p></item>
      <item><p>received from some node N</p></item>
    </ulist>
  </item>
  <item><p>An optional message:</p>
    <ulist>
      <item><p>indicated by a Message Label component whose
{message label} is 'Out' and {direction} is 'out'</p></item>
      <item><p>sent to node N</p></item>
    </ulist>
  </item>
</olist>
<p>This pattern uses the rule <specref ref='fault-trigger'/>.</p>
<p>An operation using this message exchange pattern has a {pattern} property
with the value '&wsdl-mep-in-opt-out;'.</p>
</div3>

<div3 id="out-only">
<head>Out-Only</head>
<p>This pattern consists of exactly one message as follows:</p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a Message Label component whose {message label} is 'Out' and {direction}
is 'out'
        </p>
      </item>
      <item>
        <p>
sent to some node N
        </p>
      </item>
    </ulist>
  </item>
</olist>
<p>This pattern uses the rule <specref ref='no-fault'/>.</p>
<p>
An operation using this message exchange pattern has a {pattern} property with
the value '&wsdl-mep-out-only;'.
</p>
</div3>

<div3 id="robust-out-only">
<head>Robust Out-Only</head>
<p>This pattern consists of exactly one message as follows:</p>
<olist>
  <item><p>message:</p>
    <ulist>
      <item><p>indicated by a Message Label component whose
{message label} is 'Out' and {direction} is 'out'</p></item>
      <item><p>sent to some node N</p></item>
    </ulist>
  </item>
</olist>
<p>This pattern uses the rule <specref ref='fault-trigger'/>.</p>
<p>An operation using this message exchange pattern has a {pattern} property with
the value '&wsdl-mep-robust-out-only;'.</p>
</div3>

<div3 id="out-in">
<head>Out-In</head>
<p>This pattern consists of exactly two messages, in order, as follows:</p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a Message Label component whose {message label} is 'Out' and {direction}
is 'out'
        </p>
      </item>
      <item>
        <p>
sent to some node N
        </p>
      </item>
    </ulist>
  </item>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a Message Label component whose {message label} is 'In' and {direction}
is 'in'
        </p>
      </item>
      <item>
        <p>
sent from node N
        </p>
      </item>
    </ulist>
  </item>
</olist>
<p>This pattern uses the rule <specref ref='fault-replacement'/>.</p>
<p>
An operation using this message exchange pattern has a {pattern} property with
the value '&wsdl-mep-out-in;'.
</p>
</div3>

<div3 id="out-opt-in">
<head>Out-Optional-In</head>
<p>This pattern consists of one or two messages, in order, as
follows:</p>
<olist>
  <item><p>A message:</p>
    <ulist>
      <item><p>indicated by a Message Label component whose
{message label}  is 'Out' and {direction}  is 'out'</p></item>
      <item><p>sent to some node N</p></item>
    </ulist>
  </item>
  <item><p>An optional message:</p>
    <ulist>
      <item><p>indicated by a MessageLabel component whose
{message label} is 'In' and {direction} is 'in'</p></item>
      <item><p>sent from node N</p></item>
    </ulist>
  </item>
</olist>
<p>This pattern uses the rule <specref ref='fault-trigger'/>.</p>
<p>An operation using this message exchange pattern has a {pattern} property with
the value '&wsdl-mep-out-opt-in;'.</p>
</div3>

</div2><!-- message exchange patterns -->

</div1><!-- section on meps -->

Received on Monday, 14 March 2005 18:58:21 UTC