Fw: [w3c sml] [4637] Construction of EPR Reference Scheme

resending this to the public list


Thank you,
Valentina Popescu
IBM Toronto Labs
Phone:  (905)413-2412         (tie-line  969)
Fax: (905) 413-4850

----- Forwarded by Valentina Popescu/Toronto/IBM on 09/10/2007 04:53 PM 
-----

Valentina Popescu/Toronto/IBM
09/10/2007 04:53 PM

To
"Wilson, Kirk D" <Kirk.Wilson@ca.com>
cc

Subject
RE: [w3c sml] [4637] Construction of EPR Reference Scheme





I'm all for making an attempt to clarify the issue; no surprise here I 
guess:) 
I do want to support these scenarios in the context of an SML model and I 
find frustrating that all I know after spending that much time on this 
subject is what not to do..

Thank you,
Valentina Popescu
IBM Toronto Labs
Phone:  (905)413-2412         (tie-line  969)
Fax: (905) 413-4850




"Wilson, Kirk D" <Kirk.Wilson@ca.com> 
09/08/2007 11:27 AM

To
Valentina Popescu/Toronto/IBM@IBMCA, "Smith, Virginia (HP Software)" 
<virginia.smith@hp.com>
cc
<public-sml@w3.org>, <public-sml-request@w3.org>
Subject
RE: [w3c sml] [4637] Construction of EPR Reference Scheme






Valentina,
 
Boy, you put a lot of thought and work into your response.  And like most 
good, well-thought out comments, your discussion, IMHO, changes the 
overall picture and brings about some refinement even in the ?opposing 
position? (i.e., my position).  The use case helped greatly.  Here are my 
thoughts (which evolved while I was writing them J).
 
Whether support for an EPR scheme is ?required? in SML falls into two 
questions: (1) Is there a use-case that requires an EPR-based reference 
scheme to be defined, and (2) must we address this need in the SML 
specification.  Let?s consider (1) first.  I fully agree that WS-RP does 
not provide a model on which to base an EPR reference scheme. (But specs 
like WS-RP are, in my mind, the paradigm case in which use of EPR is 
required to address a service, and the fact that the SML case was clearly 
out-of-scope for WS-RP was precisely why I asked for a use case for the 
EPR scheme.)
 
You have provided a use case with the COSMOS SML Data Center repository, 
and I think I understand what you are driving for there.  But is an 
EPR-based reference scheme the best way to address this issue case?  I 
think there are still several issues with the use of EPRs as you have 
presented the argument:
 
1.      Your proposed scheme would seem to invite the issue that 
wsa:ReferenceParameters are supposed to be opaque from the client?s 
perspective.
2.      Your proposal goes down a linguistic rat-hole.  When you say that 
you are using wsa:ReferenceParameters ?to tell the web service what 
exactly is looking for?, that sounds a great deal like you?re talking 
about Identity.  And that?s the issue: using ReferenceParameters to 
specify the identity of what you are referencing.  To be sure, RFC 3986 
already started down this rat-hole when it called XML fragments 
?secondary? resources?but they are resources nonetheless.  IMHO, your 
proposed use of ReferenceParameters still ?identify? secondary resources 
(in the RF 3986 sense)?but resources nonetheless.  ?Resource? here is the 
slippery term, but if it means something that can be identified, then I 
think that specifying ?exactly? what you?re looking for constitutes 
specifying a resource, and thus your proposal doesn?t answer the original 
issue.
 
Indeed, I tend to look at your example as less of an example of a 
reference scheme and more as an example of transporting the sml:uri 
scheme.  Even your use case, IMHO, would seem to indicate that what you 
are really defining here is a means of transporting a sml:uri reference to 
a service.  You are wrapping the scheme in an EPR to transport it.  Is the 
EPR the best way to wrap a sml:uri reference?  For the reasons given 
above, I don?t think so.  I would suggest that a better approach would be 
to specify a separate SOAP Header element that would wrap the sml:uri 
scheme.  Using a separate SOAP Header element would even provide the 
ability to specify that element with a mustUnderstand attribute.  (Putting 
this kind of thing is a SOAP Header element has been used in the 
WS-Management spec and recently defended in blog by Vambenepe: 
http://stage.vambenepe.com/archives/118.)
 
What I would see as addressing your use case is a general approach to 
defining Data Center Service (DCS) reference schemes (let?s not call it an 
EPR-scheme), that define a transport for reference scheme to be used with 
services that make ?general purpose XML documents? (to quote the 
out-of-scope statement from WS-RP) available for query and update.  DCS 
schemes, in general, consist of two elements: (a) the address of the 
service (URL), which for COSMOS gets mapped to a <wsa:address> in an EPR 
because that Data Center Service likes to be addressed with EPRs (but 
should we allow that such services that are not addressed by EPRs - ?), 
and (b) another SML reference scheme, e.g., the sml:uri reference, that 
gets mapped to (wrapped into) the special SOAP Header element.  However, 
generalizing (b) is impossible since there is no type definition for a 
reference scheme.  A DCS reference scheme would have to define permissible 
reference schemes that it will understand.  For example the DCS for COSMOS 
would specify the sml:uri scheme.
 
So, the second question from above becomes (in my view), Should the SML 
specification define DCS schemes or even a DCS scheme?  If my proposed 
approach could be generalized, I would say, yes, the spec should define 
it.  But I think the best the spec could do is to describe the approach 
for transporting reference schemes to services that access to XML 
documents and perhaps define the address element to be used (for (a)) and 
the SOAP Header wrapper element for transporting sml:uri references in 
order to insure interoperability across DCS schemes that use the SML 
defined scheme. 
 
I see going down this route as a decision the group must make.  I?d be 
willing to write up a formal proposal on this approach if the group wishes 
to pursue it.  Obviously, the group can refine any proposal from that 
point. 
 
But I would stronger resist calling this approach an ?EPR? scheme.
 
Kirk Wilson, Ph.D.
Research Staff Member
CA Labs
603 823-7146
 

From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On 
Behalf Of Valentina Popescu
Sent: Friday, September 07, 2007 5:15 PM
To: Smith, Virginia (HP Software)
Cc: public-sml@w3.org; public-sml-request@w3.org
Subject: RE: [w3c sml] [4637] Construction of EPR Reference Scheme
 

Kirk, 

I still think that EPR support in SML is required. I agree with you that 
this is a sensitive discussion but deciding to ignore it with the hope 
that some other standards will pick it up may not be the right solution. 

At your suggestion I went through the WS-ResourceProperties spec to see if 
this aligns with what we need. I think the usage is not quite the same; 
WS-RP is intended to be used for defining a common mechanism for querying 
xml resource properties. As Non-Goals I read from the spec: 

The following topics are outside the scope of this specification: 
General purpose XML document query and update: This specification is not 
meant to be used for 
querying and updating generic XML documents, or to be used outside the 
context of modeling stateful resources with Web services. 

Probably not something we should look up to for solving this problem. 

I?ll go over the other specs you mention next ( they don?t seem to be such 
an easy read :). I have to say though that I did spend some time 
investigating this EPR issue and had the same questions and dilemmas as 
you note but with a different outcome. 

You are asking what is the usecase behind defining the EPR scheme in SML. 
There are at least two that I know of, both of them coming from the COSMOS 
implementation of the SML Data Center repository: 
1. The SML repository is distributed in the sense that there are more than 
one producers ( or contributors ) to this repository. I want to be able to 
reference SML resources through a single point of control because 
contributors can use different means for storing this data; a service will 
be responsible to locate the resource a client is looking for and give 
back the result. 
2. The access to an SML resource must obey some sort of governance rules. 
You are only allowed to ask for a resource through a web service ( there 
are different reasons for this approach, let?s say you want to monitor how 
many times one resource has been accessed ) 


The main issue with the wsa:ReferenceParameter approach seems to be that 
it contains resource identification information; the architectural 
requirement for Web is that the data used to identify a web resource 
should be part of the wsa:address. 
I can argue that if we use the wsa:address to identify the web service 
which controls the SML data the client is trying to get to then we comply 
with this requirement. I can argue that the SML resource the client is 
asking for is NOT the web resource he is trying to address with the EPR 
therefore he is not breaking any rules if he uses the 
<was:ReferenceParameter> to tell the web service what exactly is looking 
for. 

Something that I have in mind which should be seen as a provocation :) 

<EnrolledCourse xmlns=http://www.university.example.org/ns 
 xmlns:sml=?http://www.w3.org/sml/2007/02? sml:ref="true"> 
  <wsa:EndpointReference 
       xmlns:u="http://www.university.example.org/schema"> 
    <wsa:Address>http://www.university.example.org/univ</wsa:Address> 
    <wsa:ReferenceParameters> 
        <sml:uri> 
       http://www.university.example.org 
/Universities/MIT/Courses.xml#xmlns(u=http://www.university.example.org/ns) 

        xpointer(/u:Courses/u:Course[u:Name=?MAT100?]) 
                     </sml:uri> 
    </wsa:ReferenceParameters> 
  </wsa:EndpointReference> 
</EnrolledCourse> 


In the example above the <wsa:address> is used to identify the end point, 
which is the web service controlling the repository ( WS-A compliant since 
the web service identification is specified in the wsa:address ). 
A <wsa:ReferenceParameter> containing an <sml:uri> element describes what 
exactly the client is looking for ( this is NOT the web service 
identification information ) 
The reason I had the <sm:uri> as a ReferenceParameter, other than to 
instigate you :) 
        1. There can be more than one ReferenceParameters; we should now 
which one is the reference 
        2. is that it?s easier to create normative descriptions ( you can 
talk about what XPath profile to use, etc ) 
 

Thank you,
Valentina Popescu
IBM Toronto Labs
Phone:  (905)413-2412         (tie-line  969)
Fax: (905) 413-4850



"Smith, Virginia (HP Software)" <virginia.smith@hp.com> 
Sent by: public-sml-request@w3.org 
09/07/2007 02:16 AM 


To
<public-sml@w3.org> 
cc
 
Subject
RE: [w3c sml] [4637] Construction of EPR Reference Scheme
 


 
 




Kirk's suggestion makes sense to me. 
  
-- 
ginny 

From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On 
Behalf Of Pratul Dublish
Sent: Thursday, September 06, 2007 8:18 PM
To: public-sml@w3.org
Subject: RE: [w3c sml] [4637] Construction of EPR Reference Scheme 

All 
We have 19 bugs that are marked as ?needs Agreement? for second draft, and 
we have 8 working days to finalize the second draft and send it to the W3C 
webmaster for publishing. We should try to reach consensus on most of 
these bugs in email before the next week?s call.  I will start instigating 
the drive to consensus for the bugs that have already been discussed in 
detail in email threads or in Bugzilla comments. 
  
In this specific case, Kirk has clearly elucidated the main issues with 
EPR scheme, and has proposed that the EPR scheme be removed from the SML 
spec. 
  
Please speak up now if you disagree with Kirk?s proposal ? silence will be 
treated as consent J 
  
Thanks!
Pratul 
  
  
From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On 
Behalf Of Wilson, Kirk D
Sent: Friday, August 24, 2007 5:58 AM
To: public-sml@w3.org
Subject: [w3c sml] [4637] Construction of EPR Reference Scheme 
  
All, 
  
This email will serve to ?instigate? discussion of issue 4637 regarding 
the EPR Reference Scheme.  See section 3.2.2.  (I fully expect this 
?instigation? to raise controversies.) 
  
The SML spec attempts to illustrate the creation of another reference 
scheme (besides the URI scheme) using EPRs.  The initial version of this 
scheme was rejected because of an unacceptable use of the 
<wsa:ReferenceParameters> particle in order to contain information 
identifying the document segment being referenced.  (The ?wsa? namespace 
refers to the namespace of the adopted WS-Addressing recommendation 
http://www.w3.org/2005/08/addressing.)  While there are defenders of this 
kind of use of ReferenceParameters (to contain resource identification 
information), it is strongly rejected by W3C as ?inconsistent with the 
architecture of the Web?.  (I have worked and currently am working in 
several standards groups which have used ReferenceParameters in this 
manner.  One group just decided to avoid all talk of EPR construction; the 
other still adopts the identification role of ReferenceParameters as 
central to its own architecture.) 
  
The issue regarding the use of ReferenceParameters is sometimes misleading 
represented as an issue over the opacity of ReferenceParameters to client. 
 Making the issue one of opacity vs. transparency of the 
ReferenceParameters misses the main issue.  The main issue is, What is the 
referencing mechanism under the Web?  Where/How should the resource 
identification information be incorporated into a Web reference?  The 
architectural requirement of the Web is that all such information be 
placed in the URL (essentially the <wsa:Address> particle of the EPR), not 
spread out in other elements of the EPR.  It follows that incorporating 
the identification information into the EPR cannot be achieved by placing 
it in a ?less? opaque element such as <wsa:Metadata> or even an extension 
element. 
  
To have an acceptable EPR scheme, therefore, the resource identification 
information must be contained in the URL that is the value of the 
<wsa:Address> element.  A case might be made for using EPRs under this 
condition if the reference is to root element of the document (the URL 
would essentially be the URL of the document itself).  However, we 
encounter a problem in the case of referencing a segment, or fragment, of 
a document.  As I understand it (although I haven?t found anything that 
explicitly says this), the use of fragment identifiers is illegitimate in 
EPRs because they are handled by the client?servers providing resources do 
not handle fragment identifiers in the identification of the service being 
addressed.  On the other hand, could the query component of the URI be 
used?  This seems dubious to me, since a query must contain 
non-hierarchical data (which a document fragment certainly is not). 
Modifying the URL to reference a document fragment appears to be the only 
solution to sustaining a robust EPR reference scheme that is consistent 
with the semantics of EPRs; however neither the query component nor 
fragment identifiers seems to be a possible course to address achieving 
this scheme.  (Ok, I?m ?instigating? here J.) 
  
Indeed, I?m wondering what is the use-case behind the creation of a 
document reference scheme using EPRs.  Typically, EPRs are provided by 
services to clients so that those clients have a means (and possibly other 
relevant information) to establish an active connection with those 
services.  I suspect the use-case for the EPR reference scheme involves a 
SML consumer that is actively going out to an information resource (in 
real time), which is addressed by the EPR, to obtain some information 
contained in the document that the information resource makes available. 
There are protocols to accomplish this exchange, e.g., 
WS-ResourceProperties (OASIS), fragment-level ?get? in WS-Management 
(DMTF), and WS-ResourceTransfer (unaligned).  This exchange cannot be 
accomplished simply through the EPR.  What must the EPR scheme look like 
to satisfy this use-case?  We would need the EPR in order to address the 
resource, but we would also need to know the message exchange protocol and 
the structure of the SOAP Body (or in one case, an element of the SOAP 
header - !) that specifies the query for the desired fragment of the 
document.  (The query language can range from referencing a single child 
of the document root to a full XPath expression depending on the 
protocol.) 
  
If the conclusions reached here are plausible, then I would suggest that 
the minimum course is to remove the EPR reference scheme from SML and let 
it be defined by a separate effort.  (Now I?m trying to be provocative. J
.) 
  
Kirk Wilson, Ph.D.
CA Inc.
Research Staff Member, CA Labs
Intellectual Property and Standards
Council of Technical Excellence
W3C Advisory Committee Representative 
Tele: + 1 603 823-7146
Fax:   + 1 603 823-7148
<mailto:kirk.wilson@ca.com> 
 

Received on Monday, 10 September 2007 20:54:50 UTC