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

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-caf message

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


Subject: [no subject]


=20

------_=_NextPart_001_01C4633B.F41A9105
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<TITLE>Message</TITLE>

<META content=3D"MSHTML 6.00.2800.1400" name=3DGENERATOR></HEAD>
<BODY>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>In =
yesterday's=20
discussion, it seemed that there may be different views about what is =
meant by=20
"referencing specification", and since, I think, I first put the term =
into=20
ws-caf circles (issue 64), and I use the term very frequently in =
discussions on=20
this list,&nbsp;I thought I'd expand on what I understand by it.&nbsp; I =
believe=20
the term is used in 0.3 in the same sense, though I haven't checked=20
explicitly.</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>One =
can=20
distinguish&nbsp;various sources of definition for the behaviour of a =
particular=20
web service and its client&nbsp;using ws-context:</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>a) =
general=20
web-service specification - soap, xml, mime-types =
etc</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>b) the =
particular=20
application protocol - whose data is carried in the soap=20
body</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>c) the =
ws-context=20
specification itself</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>d) =
other=20
specification building on ws-context that defines the meaning and =
implication of=20
the context header</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>e) =
specification of=20
other soap headers</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>f) =
implementation=20
choices</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>One =
could chop=20
things differently, and certainly name things differently, but the key=20
characteristics are:</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>a-e =
all have to be=20
understood by both parties; f) is defined as being of concern only to =
one side.=20
If a-e offer a choice to one implementation on what is sent, then a-e =
must also=20
demand that the other side can accept and handle anything arising from =
that=20
choice. (if a-e do not do this, they are broken as interoperable=20
specifications)</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>The =
use of the term=20
"specification" is not intended to imply any special level of =
formalisation -=20
other than the critical feature that both sides must understand and =
implement=20
the same (or corresponding) thing. </SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>a) is =
the substrate=20
on which we are working, so can be left out of further discussion =
(though=20
obviously affects reality)</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>the =
distinction=20
between b) and (c+d+e) is inherent in the soap body + headers pattern. =
In one=20
sense, the totality of the message is part of the application protocol. =
However,=20
the concept of a header implies a piece of specified protocol (messages =
and=20
behaviour) that has been factored out of the application (usually on the =
basis=20
that it is common to many application protocols).</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>c+d =
together define=20
the semantics of a particular SOAP header that uses ws-context. The=20
specification d) may or may not add extension elements to the base =
ws-context=20
&lt;context&gt; element. It may or may not imply the existence of other =
web=20
services (like a coordinator). d) may itself be compound or layered (as =
with the=20
input versions of &nbsp;ws-cf + ws-txm lra, say).</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT size=3D+0><SPAN =
class=3D665422708-06072004></SPAN></FONT><FONT face=3DArial=20
size=3D2><SPAN class=3D665422708-06072004>From the perspective of the =
ws-context=20
document, "referencing specification" was meant to refer to d) - i.e. =
that which=20
must be mutually understood by both parties concerning the ws-context =
header as=20
a whole but which is distinct from the particular application protocol. =
The same=20
thing is also sometimes called a "higher =
specification"</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>It is =
also this "d)"=20
that is identified by the context type URI, in my=20
understanding.</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>Since, =
in a sense,=20
the whole SOAP envelope is an&nbsp;application protocol message (e.g. an =
update=20
request with a ws-txm acid context is not seeking the same behaviour as =
an=20
update request with no transactionish context), it can be argued that =
the d) :=20
b) boundary is ill-defined. A WSDL definition is the normal way of =
stating the=20
application protocol's interface, but if the WSDL&nbsp;binding demands =
that=20
particular headers carry particular values, then the header:body =
distinction=20
becomes perhaps insignificant. However, insofar as it made sense to =
factor out=20
the header in the first place,&nbsp;a distinction can usefully be=20
made.&nbsp;Using a header, rather than carrying the field in the =
application's=20
"own" protocol presumably picks up some semantics that consequently =
don't need=20
to be spelled out in the application protocol's specification (which may =
be no=20
more than some human-language text explaining the methods and =
parameters, or=20
they may even be assumed to be "obvious" from their names - though that =
would be=20
rather under-specified)</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>The =
"referencing=20
specification" is thus a&nbsp;placeholder term for everything that has =
to be=20
known to both sides,&nbsp;isn't in the ws-context document and is=20
intended/implied by the use of the context header in a particular=20
case.</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>I =
think it would be=20
appropriate to have an explanation of a "specification model" of this =
nature in=20
the text. This would be essentially editorial (it explains the text, =
without=20
changing the requirements on implemenations) but we need to be sure of=20
consensus</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN class=3D665422708-06072004>So, if =
the above is=20
contrary to your perception, please correct or =
refute.</SPAN></FONT></DIV>
<DIV><FONT face=3DArial size=3D2><SPAN=20
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><SPAN =
class=3D665422708-06072004></SPAN></FONT><FONT=20
face=3DArial size=3D2><SPAN =
class=3D665422708-06072004></SPAN></FONT>&nbsp;</DIV>
<DIV align=3Dleft><FONT face=3DArial size=3D2>Peter</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV align=3Dleft><FONT face=3DArial=20
size=3D2>------------------------------------------<BR>Peter =
Furniss<BR>Chief=20
Scientist, Choreology Ltd<BR>web: <A=20
href=3D"http://www.choreology.com/";>http://www.choreology.com</A><BR>emai=
l: <A=20
href=3D"mailto:peter.furniss@choreology.com";>peter.furniss@choreology.com=
</A><BR>phone:=20
+44 870 739 0066<BR>mobile: +44 7951 536168<BR></FONT></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>

------_=_NextPart_001_01C4633B.F41A9105--


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