[oslc-cm] [Oslc-Automation] Some comments on Actions spec (most from CM perspective)

Martin P Pain martinpain at uk.ibm.com
Thu Jan 30 05:57:40 EST 2014


What you call the "domain specific types" were an attempt to find things 
from the domain-driven requirements that might be useful across domains or 
in the general case. However, as the oslc_cm:targetState property has to 
be OSLC CM-specific (as it implicitly refers to the oslc_cm:state 
property) I guess there's no use in including the 
oslc:StateTransitionAction type in core, if we have it at all.

As for the usefulness of having that type at all, the intention was having 
a single place to look to determine the type of actions - the rdf:type 
values. But if you've got another way of identifying them (the 
oslc_cm:targetState property) then I guess that's enough.

A couple of points on your examples:
1. The resource shape interaction pattern [4] says the name of the 
predicate pointing to the resource shape is oslc:requestBodyParameters 
(although in recent discussion I've suggested using http:body, as it is 
being used to construct the body).
2. The profile you mentioned invokes the "Standard restrictions on 
http:Request resources for simple specification profiles" from appendix A 
[5], which includes "the providers MUST... provide at least one binding 
that... specifies "1.1" as the value of the http:httpVersion property." 
(This is to allow us to specify HTTP 2 [6] in the future, in a way that 
lets older, pre-HTTP 2 consumers know that HTTP 1.1 is not supported). 
Your example is missing this property.
3. oslc:request is now called oslc:binding.

Other than those minor points, that example looks exactly what I've got in 
mind.


[4] 
http://open-services.net/wiki/core/Exposing-arbitrary-actions-on-RDF-resources/#pattern-resource-shape
[5] 
http://open-services.net/wiki/core/Exposing-arbitrary-actions-on-RDF-resources/#Standard-restrictions-on-http.3ARequest-resources-for-simple-specification-profiles
[6] http://tools.ietf.org/html/draft-ietf-httpbis-http2-00

Martin Pain
Software Developer - Green Hat
Rational Test Virtualization Server, Rational Test Control Panel
Open Services for Lifecycle Collaboration - Automation WG joint chair

E-mail: martinpain at uk.ibm.com
Find me on:  and within IBM on:  




IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU



From:   Steve K Speicher <sspeiche at us.ibm.com>
To:     oslc-automation at open-services.net, 
Cc:     oslc-cm at open-services.net
Date:   30/01/2014 03:17
Subject:        [Oslc-Automation] Some comments on Actions spec (most from 
CM      perspective)
Sent by:        "Oslc-Automation" 
<oslc-automation-bounces at open-services.net>



I took the action to do a quick review for CM needs and look how it may be 
spec'd for CM [1] 

Comment on section [2] 
I'm not sure why the domain specific types are here.  Seems like something 
that would be in CM spec.  In fact, we probably wouldn't define a 
oslc:StateTransitionAction but instead just call it oslc:Action.  Seems 
like the parent class is extraneous.  Clients will be looking for 
oslc_cm:targetState to determine which action to pick. 
What value is there in having this separate type? 

CM would simply use profile "POST RDF described by OSLC shapes" [3] 

Figured I will just sketch out how it will be used below, which seems to 
be a slight modification of what we already had spec'd. 

@prefix oslc: <http://open-services.net/ns/core#>.
@prefix oslc_cm: <http://open-services.net/ns/cm#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix dc: <http://purl.org/dc/terms/>.
<http://example.com/bugs/2314>
  a oslc_cm:ChangeRequest;
  oslc_cm:state <http://open-services.net/ns/cm#Open-state>;
  dc:identifier "2314";
  dc:title "Provide import";
  oslc:action <http://example.com/bugs/2314?_action=resolve>,
              <http://example.com/bugs/2314?_action=start>.

<http://example.com/bugs/2314?_action=resolve>
  a oslc:Action;
  dc:description "Indicates work is complete on the change request.";
  dc:identifier "23";
  dc:title "Resolve"; 
   oslc:request <#req1>;
  oslc_cm:targetState <http://open-services.net/ns/cm#Resolved-state>.

<http://example.com/bugs/2314?_action=start> 
  a oslc:Action;
  dc:description "Indicates work is beginning on the change request.";
  dc:identifier "24";
  dc:title "Start Working";
  oslc:request <#req2>;
  oslc_cm:targetState <http://open-services.net/ns/cm#In-progress-state>. 

<#req1> a http:Request; 
   http:requestURI <>; 
   http:mthd http-methods:POST 
   oslc:resourceShape <http://example.com/bugs/action/resolve/shape>.

<#req2> a http:Request; 
   http:requestURI <>; 
   http:mthd http-methods:POST 
   oslc:resourceShape <http://example.com/bugs/action/start/shape>.


[1] - 
http://open-services.net/wiki/automation/AutomationMeetings20140123/#Minutes 

[2] - 
http://open-services.net/wiki/core/Exposing-arbitrary-actions-on-RDF-resources/#Resources.3A-Action-types 

[3] - 
http://open-services.net/wiki/core/Exposing-arbitrary-actions-on-RDF-resources/#profile_POST_resource_shape 


Thanks,
Steve Speicher
IBM Rational Software
OSLC - Lifecycle integration inspired by the web -> 
http://open-services.net_______________________________________________
Oslc-Automation mailing list
Oslc-Automation at open-services.net
http://open-services.net/mailman/listinfo/oslc-automation_open-services.net



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-cm_open-services.net/attachments/20140130/39f04793/attachment-0003.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 518 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-cm_open-services.net/attachments/20140130/39f04793/attachment.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 1208 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-cm_open-services.net/attachments/20140130/39f04793/attachment-0001.jpe>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 360 bytes
Desc: not available
URL: <http://open-services.net/pipermail/oslc-cm_open-services.net/attachments/20140130/39f04793/attachment.gif>


More information about the Oslc-Cm mailing list