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 Friday, 7 September 2007 21:15:05 UTC