[Oslc-Automation] "Findings" in Availability spec, that also appear in the Automation 2.0 spec
John Arwe
johnarwe at us.ibm.com
Fri Jul 18 09:54:16 EDT 2014
> (1) Section "Introduction": "mime type handling". MIME is written in
lower
> case, but should be upper case.
Suggest fix in 2.1, older ones optional. It's a typo that's unlikely to
be misunderstood.
> (2) Section "Automation Resource Definitions": "For all resource types
> defined in this specification, all required properties (those defined
with
> an occurrence of exactly-one or one-or-many) MUST exist for each
resource
> and must be provided when requested."
>
> John's commented in the Avail spec draft to this: "Create requests often
> have looser restrictions." I'm not sure how to interpret this. @John, do
> you mean that I should just remove this sentence? Or make a "SHOULD
exist
> for each resource" out of it?
There are layers of issues in that text actually, in some cases because
our understanding of how best to manage changes over time is evolving with
experience.
1: specs don't "define" types. vocabularies define them. specs use them
and constrain them ... the constraints are most often communicated as
"resource definition tables", which can also be expressed as resource
shapes, but in some cases text is used as well. example of the latter:
Automation 2.0's re-use of oslc:Property for parameter definitions, where
it says something like: in the context of a parameter definition, the
oslc:propertyDefinition should be omitted.
2: Read-only properties (typical example: modified/created dates) are
typically supplied by the server. So you won't see them in a POST request
message body, you might well not see them in PUT or PATCH, but you expect
them in GET responses.
The most accurate version I can come up with quickly is: replace defined
with used, and requested with retrieved. I think that preserves the
spirit of the old text.
Probably worth feeding to the Core 3 TC so those drafts fix it.
> (3) Section "Resource XYZ", dcterms:identifier. Description is "A unique
...
> John mentioned "any time you see the word 'unique', you need to qualify
it
> w/ some scope (of uniqueness).". I copied this description for the Avail
> spec draft. I can't remember that I see any scope definition for
uniqueness
> in the Auto spec. Or did I miss it?
Just means we have the same problem elsewhere, not that other examples are
correct. Open an issue against 2.0 for it, or against 2.0 Common
Properties.
> Besides that I think the concept of "unique identifier" is very common.
Do
> you really think I need to specify something like a "unique proceeding
> number" or so?
Scope != implementation, algorithm, or format. The common expectation on
:identifier is that it's value is unique *within a single service
provider*. If you say unqualified-unique, and a client says your
implementation has a bug because one of your :identifier values happens to
match one of GreenHat's, where did they go wrong reading the spec? They
didn't; the spec was imprecise. THAT's the issue - clients are going to
build implementations using the specifications.
> (4) Section "Automation Provider Sub-Domains":
Fine to raise an issue against 2.0, but that doesn't clarify *your* intent
*here* in Availability; is Availability's intent to constrain core, or
refer to core, or something else? Once you copy the text, each copy has
to be fixed to agree with its in-context intent.
> (5) Section "Automation Provider Sub-Domains":
I thought we added sub-domains in 2.1, but whatever. Certainly same
comment would apply to all copies.
As to what applies here: if a default is actually needed (which is not
clear to me, and I don't accept automatically in RDF), core:default might
fit (we'd have to read its semantics carefully; personally I'd bet
core:default was defined by a coder not thinking in RDF terms, we have
learned things over time). To the first issue though, if the service
provider does not assert a sub-domain, then none is asserted, full stop.
Clients simply act as if the sub-domain is unknown to them, which is
exactly the truth. If they choose some "magic value" to use internally to
represent this state, that is their implementation choice but it's
completely outside the spec.
> (6) Section "Automation Service Provider HTTP method support", column
> labeled "JSON".
Given the timing, in 2.1 we should certainly clarify that JSON ==>
OSLC/JSON. Core 2 might contain a blanket statement for 2-based specs to
that effect already (but I doubt it - people aren't usually that good at
anticipating things years in advance), or one could be added now to cover
historical cases. Certainly the Core WG should be made aware of the
ambiguity so it's not propagated into the Core 3 drafts.
Best Regards, John
Voice US 845-435-9470 BluePages
Cloud and Smarter Infrastructure OSLC Lead
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-automation_open-services.net/attachments/20140718/00c6b9f3/attachment-0003.html>
More information about the Oslc-Automation
mailing list