- From: Gilbert Pilz <gilbert.pilz@oracle.com>
- Date: Mon, 28 Sep 2009 15:56:11 +0100
- To: Asir Vedamuthu <asirveda@microsoft.com>
- CC: "public-ws-resource-access@w3.org" <public-ws-resource-access@w3.org>
- Message-ID: <4AC0CE8B.1010108@oracle.com>
The interop issue doesn't have anything to do with the schema for
ExpirationType, it concerns the text in the specification.
WS-Enumeration says:
Some data sources might not have a "wall time" clock available, and
so are able only to accept durations as expirations. If such a
source receives an Enumerate request containing a specific time
expiration, then the request MUST fail; if so, the data source
SHOULD generate a wsen:UnsupportedExpirationTime fault indicating
that an unsupported expiration type was requested.
This leads to the following questions:
1. How does a data consumer know whether or not a data source can
accept an xs:dateTime? Is it expected to try an xs:dateTime,
handle the fault, then try "an equivalent" xs:duration? If so,
isn't this rather inefficient?
2. The spec implies but doesn't state that all data sources MUST
support an xs:duration and some data sources MAY additionally
support an xs:dateTime. Given this lack of clarity it seems
inevitable that some implementations of the consumer will support
only xs:dateTime and be unable to interoperate with sources that
support only xs:duration.
There's another issue that affects the use of xs:dateTime that I call
the "visibility of expiration inaccuracy issue". Whether it uses
xs:duration or xs:dateTime, the consumer can never know exactly when the
enumeration will expire because, in the case of xs:duration, it doesn't
know when "the clock started ticking" whereas, in the case of
xs:dateTime, it doesn't know what differences there may be between its
clock and the clock of the data source. However, in the case of
xs:duration, the arrival of the wsen:EnumerateResponse message provides
some feedback on when the expiration clock started ticking. The consumer
knows that the duration began some time after it sent the wsen:Enumerate
message and some time before it received the wsen:EnumerateResponse
message (we may need to add text to clarify this). Although there could
be a large window of time between these two events, the consumer at
least knows what the time window is. Such is not the case with
xs:dateTime; the clocks of the consumer and the source may disagree by
some arbitrary amount and there is nothing in the WS-Enumeration
protocol that serves to inform the consumer what that amount might be.
- gp
On 9/27/2009 7:35 AM, Asir Vedamuthu wrote:
> To better address the concern quoted in issue 7586, may we request a discussion of the underlying interop issue? What is the interop issue?
>
> For convenience, here is the Expires tag element declaration:
>
> <xs:element name="Expires" type="tns:ExpirationType" .../>
>
> <xs:simpleType name="ExpirationType">
> <xs:union memberTypes="xs:dateTime tns:NonNegativeDurationType" />
> </xs:simpleType>
>
> <xs:simpleType name="NonNegativeDurationType">
> <xs:restriction base="xs:duration">
> <xs:minInclusive value="P0Y0M0DT0H0M0S" />
> </xs:restriction>
> </xs:simpleType>
>
> Same question applies to issue 7588.
>
> Regards,
>
> Asir S Vedamuthu
> Microsoft Corporation
>
> -----Original Message-----
> From: public-ws-resource-access-notifications-request@w3.org [mailto:public-ws-resource-access-notifications-request@w3.org] On Behalf Of bugzilla@wiggum.w3.org
> Sent: Friday, September 11, 2009 5:03 PM
> To: public-ws-resource-access-notifications@w3.org
> Subject: [Bug 7586] New: wse:Expires multiple data types creates interop issue
>
> http://www.w3.org/Bugs/Public/show_bug.cgi?id=7586
>
> Summary: wse:Expires multiple data types creates interop issue
> Product: WS-Resource Access
> Version: PR
> Platform: All
> OS/Version: All
> Status: NEW
> Severity: normal
> Priority: P2
> Component: Eventing
> AssignedTo: public-ws-resource-access-notifications@w3.org
> ReportedBy: gilbert.pilz@oracle.com
> QAContact: public-ws-resource-access-notifications@w3.org
>
>
> WS-Eventing allows the Subscriber to use either an xs:duration or an
> xs:dateTime for the /wse:Subscribe/wse:Expires value. However, it also allows
> Event Sources to fault on the use of xs:dateTime. It hints, but doesn't
> directly say, that all Event Sources MUST support xs:duration, but some Event
> Sources MAY also support xs:dateTime.
>
> Note: a proposal for this already exists in the proposal for 7478. In hindsight
> I realize I should have opened this issue first and addressed it separately.
>
>
>
Received on Monday, 28 September 2009 14:57:03 UTC