This wiki is locked. Future workgroup activity and specification development must take place at
our new wiki
. For more information, see
this blog post about the new governance model
and
this post about changes to the website
.
TWiki
>
Main Web
>
AutomationHome
>
AutoSpecificationV1
(21 Mar 2012,
MichaelFiedler
)
(raw view)
<table cellspacing="1" cellpadding="5" border="0"> <tbody><tr><td valign="center"><img width="59" alt="OSLC_logo.png" src="/pub/Main/OslcCoreSpecification/OSLC_logo.png" height="66" /></td><td valign="top"> ---+!! Open Services for Lifecycle Collaboration<br />Automation Specification Version 1.0 %RED%NOTE: This version of the specification has been deprecated, and is replaced by the [[OslcCoreSpecification][OSLC Core 2.0]] compliant specification, [[AutoSpeicificationV2][here]]. This version of the specification was never finalized, instead the first released version of the Automation specification is expected to be the [[AutomationSpecificationV2][OSLC Automation 2.0 Specification]], starting with the version number that indicates compliance with the Core version. %ENDCOLOR% </td></tr> </tbody></table> *Status:* 1.0 Draft Specification - 3 January 2012 *This Version* * [[http://open-services.net/bin/view/Main/AutoSpecificationV1]] *Latest Version* * [[http://open-services.net/bin/view/Main/AutoSpecificationV1]] *PreviousVersion* * N/A *Authors* * MichaelFiedler *Contributors* * See [[#Contributors][Contributors section]] below. *Table of Contents* %TOC{depth="3"}% *License* [[http://i.creativecommons.org/l/by/3.0/us/88x31.png]] <br /> This work is licensed under a [[http://creativecommons.org/licenses/by/3.0/us/][Creative Commons Attribution License]]. *Notation and Conventions* The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [[http://www.ietf.org/rfc/rfc2119.txt][RFC2119]]. Domain name examples use [[http://tools.ietf.org/html/rfc2606][RFC2606]]. ---++ Introduction (this section is informative) This specification builds on the [[OslcCoreSpecification][OSLC Core Specification]] to define the resources and operations supported by an Open Services for Lifecycle Collaboration (OSLC) Automation provider. Automation resources define automation plans, automation requests and automation results of the software development, test and deployment lifecycle. They represent individual resources as well as their relationships to other automation resources and to other linked resources outside of the automation domain. The intent of this specification is to define the set of HTTP-based RESTful interfaces in terms of HTTP methods: GET, POST, PUT and DELETE, HTTP response codes, mime type handling and resource formats. The capabilities of the interface definitions are driven by key integration scenarios and therefore don't represent a complete setup of operations on resources or resource types. The resource formats and operations may not match exactly the native models supported by automation service providers but are intended to be compatible with them. Automation, as referenced in this specification, refers to the use of IT systems such as servers, workstations and smart hand-held devices to improve efficiency and reduce the need for manual human interactions in the software development, test and deployment lifecycle. See the AutomationScenarios page for examples from the build, test and deployment disciplines. ---+++ Terminology *Service Provider* - an implementation of the OSLC Automation specifications as a server. OSLC Automation clients consume these services *Automation Resource* - A resource managed by the Automation service provider. The types of resources defined by this specification are Automation Plan, Automation Request and Automation Result. *Automation Plan* - Defines the unit of automation which is available for execution. *Automation Request* - Defines the submission of the information required to execute an Automation Plan and indicates the desired execution state. *Automation Result* - Defines intermediate and final execution status of an Automation Request, along with contributions to the result. *Automation Parameter Definition* - Defines an individual input parameter of an Automation Plan. Parameter Definitions provide an indication of the type of the parameter and range of allowed values. *Automation Parameter Instance* - Defines an individual input or output parameter instance for an Automation Request or Result. ---++ Base Requirements ---+++ Compliance This specification is based on [[OslcCoreSpecification][OSLC Core Specification]]. OSLC Automation consumers and service providers *MUST* be compliant with both the core specification and this Automation specification, and *SHOULD* follow all the guidelines and recommendations in both these specifications. The following table summarizes the requirements from OSLC Core Specification as well as some (but not all) additional requirements specific to Automation. See the full content of the Automation specification for all requirements. Note that this specification further restricts some of the requirements for OSLC Core Specification as noted in the Origin column of the compliance table. See further sections in this specification or the OSLC Core Specification to get further details on each of these requirements. Any consumer or service provider behaviors are allowed unless explicitly prohibited by this or dependent specifications; conditional permissive requirements, especially those qualified with “MAY”, are implicitly covered by the preceding clause. While technically redundant in light of that broad permission, OSLC specifications do still make explicit MAY-qualified statements in cases where the editors believe doing so is likely to add clarity. ---++++ Requirements on OSLC Consumers | *Requirement* | *Level* | *Origin(s)* | *Meaning* | | Unknown properties and content | MUST | [[OslcCoreSpecification#Unknown_properties_and_content][Core]] | OSLC clients MUST preserve unknown content | ---++++ Requirements on OSLC Service Providers | *Requirement* | *Level* | *Origin(s)* | *Meaning* | | Unknown properties and content | MAY | [[OslcCoreSpecification#Unknown_properties_and_content][Core]] | OSLC service providers MAY ignore unknown content | | Resource Operations | MUST | [[OslcCoreSpecification#Resource_Operations][Core]] | OSLC service providers MUST support resource operations via standard HTTP operations | | Resource Paging | MAY | [[OslcCoreSpecification#Resource_Paging][Core]] | OSLC services MAY provide paging for resources | | Partial Resource Representations | MUST | [[OslcCoreSpecification#Selective_Property_Values][Core]] | OSLC service providers MUST support HTTP GET requests for retrieval of a subset of a resource's properties via the oslc.properties URL parameter | | Partial Resource Representations | MAY | [[OslcCoreSpecification#Selective_Property_Values][Core]] | OSLC service providers MAY support HTTP PUT requests for updating a subset of a resource's properties via the oslc.properties URL parameter | | Service Provider Resources | MAY | [[OslcCoreSpecification#Service_Provider_Resources][Core]] | OSLC service providers MAY provide a Service Provider Catalog resource | | Service Provider Resources | MUST | [[OslcCoreSpecification#Service_Provider_Resources][Core]] | OSLC service providers MUST provide a Service Provider resource | | Creation Factories | MAY | [[OslcCoreSpecification#Creation_Factories][Core]] | OSLC service providers MAY provide creation factories to enable resource creation via HTTP POST | | Query Capabilities | MUST<sup>1</sup> | [[AutoSpecificationV1#Compliance][Automation]], [[OslcCoreSpecification#Query_Capabilities][Core]] | OSLC service providers MUST provide query capabilities to enable clients to query for resources | | Query Syntax | MUST<sup>2</sup> | [[AutoSpecificationV1#Compliance][Automation]], [[OslcCoreSpecification#Query_Syntax][Core]] | OSLC query capabilities MUST support the OSLC Core Query Syntax | | Query Syntax | MAY | [[OslcCoreSpecification#Query_Syntax][Core]] | OSLC query capabilities MAY support other query syntax | | Delegated UI Dialogs | SHOULD | [[OslcCoreSpecification#Delegated_User_Interface_Dialogs][Core]] | OSLC service providers SHOULD allow clients to discover, via their service provider resources, any Delegated UI Dialogs they offer. | | Delegated UI Dialogs | SHOULD | [[OslcCoreSpecification#Delegated_User_Interface_Dialogs][Core]] | OSLC service providers SHOULD offer delegated UI dialogs for resource creation | | Delegated UI Dialogs | SHOULD | [[OslcCoreSpecification#Delegated_User_Interface_Dialogs][Core]] | OSLC service providers SHOULD offer delegated UI dialogs for resource selection | | UI Preview | SHOULD | [[OslcCoreSpecification#User_Interface_Previews][Core]] | OSLC Services SHOULD offer UI previews for resources that may be referenced by other resources | | HTTP Basic Authentication | MAY | [[OslcCoreSpecification#HTTP_Basic_Authentication][Core]] | OSLC Services MAY support Basic Auth | | HTTP Basic Authentication | SHOULD | [[OslcCoreSpecification#HTTP_Basic_Authentication][Core]] | OSLC Services SHOULD support Basic Auth only over HTTPS | | OAuth Authentication | MAY | [[OslcCoreSpecification#OAuth_Authentication][Core]] | OSLC service providers MAY support OAuth | | OAuth Authentication | SHOULD | [[OslcCoreSpecification#OAuth_Authentication][Core]] | OSLC service providers that support OAuth SHOULD allow clients to discover the required OAuth URLs via their service provider resource | | Error Responses | MAY | [[OslcCoreSpecification#Error_Responses][Core]] | OSLC service providers MAY provide error responses using Core-defined error formats | | RDF/XML Representations | MUST<sup>3</sup> | [[AutoSpecificationV1#Automation_Service_Provider_HTTP][Automation]], [[OSLCCoreSpecAppendixRepresentations#Guidelines_for_application_rdf_x][Core]] | OSLC service providers MUST offer an RDF/XML representation for HTTP GET responses | | RDF/XML Representations | MUST<sup>3</sup> | [[AutoSpecificationV1#Automation_Service_Provider_HTTP][Automation]], [[OSLCCoreSpecAppendixRepresentations#Guidelines_for_application_rdf_x][Core]] | OSLC service providers MUST accept RDF/XML representations on PUT requests. | | RDF/XML Representations | MUST<sup>3</sup> | [[AutoSpecificationV1#Automation_Service_Provider_HTTP][Automation]], [[OSLCCoreSpecAppendixRepresentations#Guidelines_for_application_rdf_x][Core]] | RDF/XML representations on POST requests whose semantic intent is to create a new resource instance. | | XML Representations | MAY<sup>3</sup> | [[AutoSpecificationV1#Automation_Service_Provider_HTTP][Automation]], [[OSLCCoreSpecAppendixRepresentations#Guidelines_for_application_xml][Core]] | OSLC service providers MAY provide a XML representation for HTTP GET, POST and PUT requests that conform to the Core Guidelines for XML. | | JSON Representations | MAY<sup>3</sup> | [[AutoSpecificationV1#Automation_Service_Provider_HTTP][Automation]], [[OSLCCoreSpecAppendixRepresentations#Guidelines_for_JSON][Core]] | OSLC service providers MAY provide JSON representations for HTTP GET, POST and PUT requests that conform to the Core Guidelines for JSON | | HTML Representations | SHOULD<sup>3</sup> | [[AutoSpecificationV1#Automation_Service_Provider_HTTP][Automation]], [[OslcCoreSpecification#OSLC_Defined_Resource_Representa][Core]] | OSLC service providers SHOULD provide HTML representations for HTTP GET requests | * <sup>1</sup>The OSLC Core Specifications indicates service providers MAY provide Query Capabilities. This specification for OSLC Automation makes Query Capability support a MUST requirement. * <sup>2</sup>The OSLC Core Specifications indicates service providers MAY support the OSLC Query Syntax. This specification for OSLC Automation makes OSLC Query Syntax support a MUST requirement. * <sup>3</sup>For V1 of the OSLC Automation specification, support for all HTTP methods for all automation resources is not required. See the [[AutoSpecificationV1#Automation_Service_Provider_HTTP][HTTP Method support table]] for details. ---+++ Specification Versioning See [[OslcCoreSpecification#Specification_Versioning][OSLC Core Specification Versioning section]]. ---+++ Namespaces In addition to the namespace URIs and namespace prefixes defined in the [[OslcCoreSpecification][OSLC Core specification]], OSLC Automation defines the namespace URI of =http://open-services.net/ns/auto#= with a namespace prefix of =oslc_auto=. This namespace URI and prefix are used to designate the resources defined in this specification and their properties. ---+++ Resource Formats In addition to the requirements for [[OslcCoreSpecification#OSLC_Defined_Resource_Representa][OSLC Defined Resource Representations]], this section outlines further refinements and restrictions. See [[AutoSpecificationV1#Automation_Service_Provider_HTTP][HTTP Method support table]] for further clarification on support for HTTP methods and media types for each OSLC Automation resource. For HTTP GET requests on all OSLC Automation and OSLC Core defined resource types, * Automation Providers *MUST* provide RDF/XML representations. If provided, the RDF/XML representation *SHOULD* follow the guidelines outlined in the [[OSLCCoreSpecAppendixRepresentations#Guidelines_for_application_rdf_x][OSLC Core Representations Guidance for RDF/XML]]. * Automation Providers *MAY* provide XML and JSON representations. The XML and JSON representations *SHOULD* follow the guidelines outlined in the [[OSLCCoreSpecAppendixRepresentations][OSLC Core Representations Guidance]]. * Automation Consumers requesting RDF/XML *SHOULD* be prepared for any valid RDF/XML document. Automation Consumers requesting XML *SHOULD* be prepared for representations that follow the guidelines outlined in the [[OSLCCoreSpecAppendixRepresentations][OSLC Core Representations Guidance]]. * Automation Providers *SHOULD* support an [X]HTML representation and a user interface (UI) preview as defined by [[OslcCoreUiPreview][UI Preview Guidance]] For HTTP PUT/POST request formats for Automation resources, * Automation Providers *MUST* accept RDF/XML representations and *MAY* accept XML representations. Automation Providers accepting RDF/XML *SHOULD* be prepared for any valid RDF/XML document. If XML is accepted, Automation Providers *SHOULD* be prepared for representations that follow the guidelines outlined in the [[OSLCCoreSpecAppendixRepresentations][OSLC Core Representations Guidance]]. * Automation Providers *MAY* accept XML and JSON representations. Automation Providers accepting XML or JSON *SHOULD* be prepared for representations that follow the guidelines outlined in the [[OSLCCoreSpecAppendixRepresentations][OSLC Core Representations Guidance]]. For HTTP GET response formats for Query requests, Automation Providers *MUST* provide RDF/XML and *MAY* provide JSON, XML, and Atom Syndication Format XML. When Automation Consumers request: * =application/rdf+xml= Automation Providers *MUST* respond with RDF/XML representation without restrictions. * =application/xml= Automation Providers *SHOULD* respond with OSLC-defined abbreviated XML representation as defined in the [[OSLCCoreSpecAppendixRepresentations][OSLC Core Representations Guidance]] * =application/atom+xml= Automation Providers *SHOULD* respond with Atom Syndication Format XML representation as defined in the [[OSLCCoreSpecAppendixRepresentations][OSLC Core Representations Guidance]] * If supported, the Atom Syndication Format XML representation *SHOULD* use RDF/XML representation without restrictions for the atom:content entries representing the resource representations. ---+++ Authentication See [[OslcCoreSpecification#Authentication][OSLC Core Authentication section]]. OSLC Automation puts no additional constraints on authentication. ---+++ Error Responses See [[OslcCoreSpecification#Error_Responses][OSLC Core Error Responses section]]. OSLC Automation puts no additional constraints on error responses. ---+++ Pagination OSLC Automation service providers *SHOULD* support pagination of query results and *MAY* support pagination of a single resource's properties as defined by the OSLC Core Specification. ---+++ State Predicates One of the most important properties of an Automation result is the verdict property. "Verdict" indicates the success or failure of the execution of the automation. In queries the =oslc_auto:verdict= property is used to filter automation results (e.g. all deployment requests that are "successful"). The problem is that different Automation service providers may use different properties (or even a set of properties) and different values to represent the automation result's verdict. Predicates are exposed as single-value often read-only properties on a Automation Result resource. An attempt to update read-only predicates *SHOULD* be answered with a 409 Conflict HTTP status code. Their presence in a resource representation used for an update via PUT *MUST NOT* prevent the resource from being updated . Predicates *MUST* be queryable. The Automation Resultt resource definition sections defines the complete set of predicates. ---+++ Labels for Relationships Automation relationships to other resources are represented as properties whose values are the URI of the object or target resource. When an Automation relationship property is to be presented in a user interface, it may be helpful to provide an informative and useful textual label for that relationship instance. (This in addition to the relationship property URI and the object resource URI, which are also candidates for presentation to a user.) To this end, OSLC providers *MAY* support a =dcterms:title= link property in Automation resource representations, using the anchor approach outlined in the [[OslcCoreSpecAppendixLinks][OSLC Core Links Guidance]]. * Provide Example * ---++ Automation Resource Definitions The Automation resource properties are not limited to the ones defined in this specification; service providers may provide additional properties. It is recommended that any additional properties exist in their own unique namespace and not use the namespaces defined in this specification. A list of properties is defined for each type of resource. Most of these properties are identified in [[OSLCCoreSpecAppendixA][ OSLC Core Appendix A: Common Properties]]. Any exceptions are noted. Relationship properties refer to other resources. These resources may be in any OSLC domain (including Automation). The diagram below shows the relationships between Automation Resources. <img alt="Diagram of OSLC Automation relationships" src="http://open-services.net/pub/Main/AutoSpecificationV1/oslc_automation_resources.png" /> 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. All other properties are optional, and might not exist on some or any resources; those that do not exist will not be present in the returned representation even if requested, while those that do exist *MUST* be provided if requested. Providers *MAY* define additional provider-specific properties; providers *SHOULD* use their own namespaces for such properties, or use standard Dublin Core or RDF namespaces and properties where appropriate. If no specific set of properties is requested, *all* properties are returned - both those defined in this specification as well as any provider-specific ones. See [[OslcCoreSpecification#Selective_Property_Values][Selective Property Values]] in OSLC Core Specification. Consumers of OSLC Automation services should note that some resources may have a very large number of related resources, and that some resources may be very large and/or expensive to compute. For this reason, consumers are *strongly* encouraged to use the =oslc.properties= parameter to limit the properties returned from a request to the subset required. See [[OslcCoreSpecification#Selective_Property_Values][Selective Property Values]] in OSLC Core Specification. ---+++ Resource: !AutomationPlan * *Name:* =AutomationPlan= * *Description:* A resource representing the unit of automation which is available for execution. * *Type URI* =http://open-services.net/ns/auto#AutomationPlan= ---++++ !AutomationPlan Properties | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Representation* | *Range* | *Description* || | *OSLC Core:* Common Properties |||||||| | =dcterms:contributor= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | =any= | Contributor or contributors to resource (reference: Dublin Core). It is likely that the target resource will be an [[OSLCCoreSpecAppendixA#foaf_Person_Resource][ =foaf:Person= ]] but that is not necessarily the case. || | =dcterms:created= | zero-or-one | True | !DateTime | n/a | n/a | Timestamp of resource creation (reference: Dublin Core) || | =dcterms:creator= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | =any= | Creator or creators of resource (reference: Dublin Core). It is likely that the target resource will be an [[OSLCCoreSpecAppendixA#foaf_Person_Resource][ =foaf:Person= ]] but that is not necessarily the case. || | =dcterms:description= | zero-or-one | unspecified | XMLLiteral | n/a | n/a | Descriptive text (reference: Dublin Core) about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML <div> element. || | =dcterms:identifier= | exactly-one | True | String | n/a | n/a | A unique identifier for a resource. Assigned by the service provider when a resource is created. Not intended for end-user display. || | =dcterms:modified= | zero-or-one | True | !DateTime | n/a | n/a | Timestamp of latest resource modification (reference: Dublin Core) || | =rdf:type= | zero-or-many | unspecified | Resource | Reference | n/a | The resource type URIs. || | =dcterms:subject= | zero-or-many | unspecified | String | n/a | n/a | Tag or keyword for a resource. Each occurrence of a dc:subject property denotes an additional tag for the resource. || | =dcterms:title= | exactly-one | unspecified | XMLLiteral | n/a | n/a | Title (reference: Dublin Core) of the resource represented as rich text in XHTML content. || | =oslc:instanceShape= | zero-or-one | True | Resource | Reference | [[OSLCCoreSpecAppendixA#oslc_ResourceShape_Resource][ =oslc:ResourceShape= ]] | Resource Shape that provides hints as to resource property value-types and allowed values. || | =oslc:serviceProvider= | zero-or-many | True | Resource | Reference | [[OslcCoreSpecification#Service_Provider_Resources][ =oslc:ServiceProvider= ]] | The scope of a resource is a link to the resource's OSLC Service Provider. || | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Represen-tation* | *Range* | *Description* | | *OSLC Automation:* Start of additional properties ||||||| | =oslc_auto:parameter= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | [[OSLCCoreSpecAppendixA#Value_type_Property][ =oslc:Property= ]] | Parameter definition for automation plan execution. | ---+++ Resource: !AutomationRequest * *Name:* =AutomationRequest= * *Description:* A resource representing the intention to execute an Automation Plan. The Automation Request contains the information required to request that the provider execute an Automation Plan. * *Type URI* =http://open-services.net/ns/auto#AutomationRequest= ---++++ !AutomationRequest Properties | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Representation* | *Range* | *Description* || | *OSLC Core:* Common Properties |||||||| | =dcterms:contributor= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | =any= | Contributor or contributors to resource (reference: Dublin Core). It is likely that the target resource will be an [[OSLCCoreSpecAppendixA#foaf_Person_Resource][ =foaf:Person= ]] but that is not necessarily the case. || | =dcterms:created= | zero-or-one | True | !DateTime | n/a | n/a | Timestamp of resource creation (reference: Dublin Core) || | =dcterms:creator= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | =any= | Creator or creators of resource (reference: Dublin Core). It is likely that the target resource will be an [[OSLCCoreSpecAppendixA#foaf_Person_Resource][ =foaf:Person= ]] but that is not necessarily the case. || | =dcterms:identifier= | exactly-one | True | String | n/a | n/a | A unique identifier for a resource. Assigned by the service provider when a resource is created. Not intended for end-user display. || | =dcterms:modified= | zero-or-one | True | !DateTime | n/a | n/a | Timestamp of latest resource modification (reference: Dublin Core) || | =rdf:type= | zero-or-many | unspecified | Resource | Reference | n/a | The resource type URIs. || | =dcterms:title= | exactly-one | unspecified | XMLLiteral | n/a | n/a | Title (reference: Dublin Core) of the resource represented as rich text in XHTML content. || | =oslc:instanceShape= | zero-or-one | True | Resource | Reference | [[OSLCCoreSpecAppendixA#oslc_ResourceShape_Resource][ =oslc:ResourceShape= ]] | Resource Shape that provides hints as to resource property value-types and allowed values. || | =oslc:serviceProvider= | zero-or-many | True | Resource | Reference | [[OslcCoreSpecification#Service_Provider_Resources][ =oslc:ServiceProvider= ]] | The scope of a resource is a link to the resource's OSLC Service Provider. || | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Represen-tation* | *Range* | *Description* | | *OSLC Automation:* Start of additional properties ||||||| | =oslc_auto:state= | zero-or-one | unspecified | String | n/a | n/a | Used to indicate the state of the Automation Request based on values defined by the service provider. Most often a read-only property. | | =oslc_auto:desiredState= | zero-or-one | False | String | n/a | n/a | Used to indicate the desired state of the Automation Request based on values defined by the service provider. | | =oslc_auto:parameter= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | [[AutoSpecificationV1#Resource_ParameteInstance][ =oslc_auto:ParameterInstance= ]] | Parameters for the automation request. | | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Representation* | *Range* | *Description* | | *Relationship properties:* This grouping of properties is used to identify relationships between resources managed by OSLC Service Providers ||||||| | =oslc_auto:executesAutomationPlan= | exactly-one | False | Resource | Reference | =any= | Automation Plan run by the Automation Request. It is likely that the target resource will be an [[AutoSpecificationV1#Resource_AutomationPlan][ =oslc_auto:AutomationPlan= ]] but that is not necessarily the case. | ---+++ Resource: !AutomationResult * *Name:* =AutomationResult= * *Description:* A resource representing the intermediate and final execution state of an Automation Request, along with contributions to the result. * *Type URI* =http://open-services.net/ns/auto#AutomationResult= ---++++ !AutomationResult Properties | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Representation* | *Range* | *Description* || | *OSLC Core:* Common Properties |||||||| | =dcterms:contributor= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | =any= | Contributor or contributors to resource (reference: Dublin Core). It is likely that the target resource will be an [[OSLCCoreSpecAppendixA#foaf_Person_Resource][ =foaf:Person= ]] but that is not necessarily the case. || | =dcterms:created= | zero-or-one | True | !DateTime | n/a | n/a | Timestamp of resource creation (reference: Dublin Core) || | =dcterms:creator= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | =any= | Creator or creators of resource (reference: Dublin Core). It is likely that the target resource will be an [[OSLCCoreSpecAppendixA#foaf_Person_Resource][ =foaf:Person= ]] but that is not necessarily the case. || | =dcterms:identifier= | exactly-one | True | String | n/a | n/a | A unique identifier for a resource. Assigned by the service provider when a resource is created. Not intended for end-user display. || | =dcterms:modified= | zero-or-one | True | !DateTime | n/a | n/a | Timestamp of latest resource modification (reference: Dublin Core) || | =rdf:type= | zero-or-many | unspecified | Resource | Reference | n/a | The resource type URIs. || | =dcterms:subject= | zero-or-many | unspecified | String | n/a | n/a | Tag or keyword for a resource. Each occurrence of a dc:subject property denotes an additional tag for the resource. || | =dcterms:title= | exactly-one | unspecified | XMLLiteral | n/a | n/a | Title (reference: Dublin Core) of the resource represented as rich text in XHTML content. || | =oslc:instanceShape= | zero-or-one | True | Resource | Reference | [[OSLCCoreSpecAppendixA#oslc_ResourceShape_Resource][ =oslc:ResourceShape= ]] | Resource Shape that provides hints as to resource property value-types and allowed values. || | =oslc:serviceProvider= | zero-or-many | True | Resource | Reference | [[OslcCoreSpecification#Service_Provider_Resources][ =oslc:ServiceProvider= ]] | The scope of a resource is a link to the resource's OSLC Service Provider. || | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Represen-tation* | *Range* | *Description* || | *OSLC Automation:* Start of additional properties |||||||| | =oslc_auto:state= | zero-or-one | unspecified | String | n/a | n/a | Used to indicate the state of the Automation Result based on values defined by the service provider. Most often a read-only property. || | =oslc_auto:verdict= | zero-or-one | unspecified | String | n/a | n/a | Used to indicate the final verdict of the Automation Result based on values defined by the service provider. Most often a read-only property. || | =oslc_auto:hasContribution= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | n/a | A result contribution associated with this automation result. It is recommended that the contribution be an inline resource which can be retrieved with the automation result. The recommended attributes beyond the contribution itself are dcterms:title, dcterms:description and dcterms:type to provide a description of the contribution which would be appropriate for display in a simple UI for an automation result. || | =oslc_auto:initialParameter= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | [[AutoSpecificationV1#Resource_ParameteInstance][ =oslc_auto:ParameterInstance= ]] | Input parameters for automation plan execution. | | | =oslc_auto:additionalParameter= | zero-or-many | unspecified | !AnyResource | Either Reference or Inline | [[AutoSpecificationV1#Resource_ParameteInstance][ =oslc_auto:ParameterInstance= ]] | Output parameters for automation plan execution. | | | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Represen-tation* | *Range* | *Description* || | *State predicate properties:* This grouping of properties define a set of computed state predicates, see section on State Predicates for more information. The service provider MUST enforce the restriction that only one of =oslc_auto:pass= and =oslc_auto:fail= can be true. |||||||| | =oslc_auto:pass= | zero-or-one | True | Boolean | n/a | n/a | Whether or not the Automation Result is completely done and has run successfully. If =oslc_auto:pass= is =true=, then =oslc_auto:fail= must be =false= || | =oslc_auto:warn= | zero-or-one | True | Boolean | n/a | n/a | Whether or not the Automation Result is completely done and has run with warnings associated with it. || | =oslc_auto:fail= | zero-or-one | True | Boolean | n/a | n/a | Whether or not the Automation Result is completely done and has failed to run successfully. If =oslc_auto:fail= is =true=, then =oslc_auto:pass= must be =false=. || | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Representation* | *Range* | *Description* | | *Relationship properties:* This grouping of properties is used to identify relationships between resources managed by OSLC Service Providers ||||||| | =oslc_auto:producedByAutomationRequest= | zero-to-one | False | Resource | Reference | =any= | Automation Request which produced the Automation Result. It is likely that the target resource will be an [[AutoSpecificationV1#Resource_AutomationResult][ =oslc_auto:AutomationResult= ]] but that is not necessarily the case. | | =oslc_auto:reportsOnAutomationPlan= | exactly-one | False | Resource | Reference | =any= | Automation Plan which the Automation Result reports on. It is likely that the target resource will be an [[AutoSpecificationV1#Resource_AutomationPlan][ =oslc_auto:AutomationPlan= ]] but that is not necessarily the case. | ---+++ Resource: !ParameterInstance * *Name:* =ParameterInstance= * *Description:* A resource representing an individual input or output parameter instance for an Automation Request or Result. Automation Requests and Results may have 0 or more parameter instances. * *Type URI* =http://open-services.net/ns/auto#ParameterInstance= ---++++ !ParameterInstance Properties | *Prefixed Name* | *Occurs* | *Read-only* | *Value-type* | *Representation* | *Range* | *Description* || | *OSLC Core:* Common Properties |||||||| | =foaf:name= | exactly-one | unspecified | String | n/a | n/a | The name of the parameter instance. || | =rdf:value= | zero-or-one | unspecified | unspecified | n/a | n/a | The value of the parameter. rdf:datatype SHOULD be used to indicate the type of the parameter instance value. || | =dcterms:description= | zero-or-one | unspecified | XMLLiteral | n/a | n/a | Descriptive text (reference: Dublin Core) about resource represented as rich text in XHTML content. SHOULD include only content that is valid and suitable inside an XHTML <div> element. || | =rdf:type= | zero-or-many | unspecified | Resource | Reference | n/a | The resource type URIs. || | =oslc:instanceShape= | zero-or-one | True | Resource | Reference | [[OSLCCoreSpecAppendixA#oslc_ResourceShape_Resource][ =oslc:ResourceShape= ]] | Resource Shape that provides hints as to resource property value-types and allowed values. || | =oslc:serviceProvider= | zero-or-many | True | Resource | Reference | [[OslcCoreSpecification#Service_Provider_Resources][ =oslc:ServiceProvider= ]] | The scope of a resource is a link to the resource's OSLC Service Provider. || ---++ Automation Service Provider Capabilities ---+++ Service Discovery and Description ---+++ Resource Shapes OSLC Automation service providers *MAY* support [[OSLCCoreSpecAppendixA#oslc_ResourceShape_Resource][Resource Shapes]] as defined in [[OSLCCoreSpecAppendixA][OSLC Core Specification Appendix A]] ---+++ Service Provider Resource OSLC Automation service providers *MUST* provide a [[OslcCoreSpecification#Service_Provider_Resources][Service Provider Resource]] that can be retrieved at a implementation dependent URI. OSLC Automation service providers *MAY* provide a [[OslcCoreSpecification#Service_Provider_Catalog_Resources][Service Provider Catalog Resource]] that can be retrieved at a implementation dependent URI. OSLC Automation service providers *MUST* provide a =oslc:serviceProvider= property for their defined resources that will be the URI to a [[OslcCoreSpecification#Service_Provider_Resources][Service Provider Resource]]. ---+++ Creation Factories If an OSLC Automation service provider supports the creation of resources, there *MUST* be at least one [[OslcCoreSpecification#Creation_Factories][Creation Factories]] entry in the Services definition. See [[AutoSpecificationV1#Automation_Service_Provider_HTTP][HTTP Method support table]] for further clarification on support for HTTP methods and media types for each OSLC Automation resource. ---+++ Query Capabilities There *MUST* be at least one [[OslcCoreSpecification#Query_Capabilities][Query Capabilities]] entry in the Services definition. The Query Capability *MUST* at least support these parameters: * oslc:where * oslc:select If shape information is NOT present with the Query Capability, service providers *SHOULD* use the default properties defined in [[OSLCCoreSpecAppendixRepresentations#Specifying_the_shape_of_a_query][OSLC Core RDF/XML Examples]] to contain the result. ---+++ Delegated UIs OSLC Automation service providers support the selection and creation of Automation resources as defined by [[OslcCoreSpecification#Delegated_User_Interface_Dialogs][Delegated UIs]] in OSLC Core. The service providers supports the delegated UIs as follows: | *Automation Resource* | *Selection* | *Creation* | | !AutomationPlan | SHOULD | MAY | | !AutomationRequest | MAY | SHOULD | | !AutomationResult | SHOULD | MAY | ---++ Automation Service Provider HTTP method support For V1 of the OSLC Automation specification, support for all HTTP methods in [[AutoSpecificationV1#Compliance][the compliance table]] is not required for all Automation resources. The following table summarizes the requirements for each resource type, HTTP method and for each media type. | Resource || RDF/XML | XML | JSON | HTML | | Automation Plan |||||| | | GET | MUST | MAY | MAY | SHOULD | | | PUT | MAY | MAY | MAY | N/A | | | POST | MAY | MAY | MAY | N/A | | Automation Request |||||| | | GET | MUST | MAY | MAY | SHOULD | | | PUT | MAY | MAY | MAY | N/A | | | POST | MUST | MAY | MAY | N/A | | Automation Result |||||| | | GET | MUST | MAY | MAY | SHOULD | | | PUT | MUST | MAY | MAY | N/A | | | POST | MAY | MAY | MAY | N/A | | Parameter Definition |||||| | | GET | MAY | MAY | MAY | MAY | | | PUT | MAY | MAY | MAY | N/A | | | POST | MAY | MAY | MAY | N/A | | Parameter Instance |||||| | | GET | MAY | MAY | MAY | MAY | | | PUT | MAY | MAY | MAY | N/A | | | POST | MAY | MAY | MAY | N/A | ---++ Appendix A: Samples (this section is informative) See AutoSpecificationV1Samples ---++ Appendix B: Resource Shapes (this section is informative) See AutoSpecificationV1Shapes ---++ Appendix C: Notices and References ---+++ Contributors ---+++ Reporting Issues on the Specification The working group participants who author and maintain this working draft specification, monitor a distribution list where issues or questions can be raised, see [[http://open-services.net/mailman/listinfo/oslc-automation_open-services.net][Automation Mailing List]] Also the issues found with this specification and their resolution can be found at AutoSpecificationV1Issues. ---+++ Authors and Contact Information * Need list ---+++ Reporting Issues on the Specification The working group participants who author and maintain this working draft specification, monitor a distribution list where issues or questions can be raised, see [[http://open-services.net/mailman/listinfo/oslc-automation_open-services.net][Automation Mailing List]] Also the issues found with this specification and their resolution can be found at AutoSpecificationV1Issues. ---+++ Intellectual Property Covenant The members of the Working Group (or as appropriate, their employers) have documented a Patent Non-Assertion Covenant for implementations of the Automation 1.0 Specification, as described in the open-services.net [[http://open-services.net/html/Terms.html][Terms of Use]]. Details of the Covenant may be found [[AutoSpecificationCovenantV1][here]]. ---+++ References * OSLC Core - [[OslcCoreSpecification][OSLC Core Specification 2.0]] * Dublin Core 1.1 - [[http://dublincore.org/documents/2010/10/11/dces/][Dublin Core Metadata Element Set, Version 1.1]] * FOAF - [[http://xmlns.com/foaf/spec/20100809.html][Friend of a Friend (FOAF) v0.98]] * HTTP 1.1 - [[http://tools.ietf.org/html/rfc2616][Hyper-text Transfer Protocol (HTTP/1.1)]] * OAuth 1.0a - [[http://tools.ietf.org/html/rfc5849][RFC5849 - The OAuth 1.0 Protocol]] * RDF/XML Concepts - [[http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/][RDF/XML Concepts and Abstract Syntax]] * RDF/XML Syntax - [[http://www.w3.org/TR/2004/REC-rdf-syntax-grammar-20040210/][RDF / XML Syntax Specification (Revised)]] * URI Syntax - [[http://tools.ietf.org/html/rfc3986][URI Generic Syntax]] * XML Namespaces - [[http://www.w3.org/TR/REC-xml-names/][Namespaces in XML 1.0 (Third Edition)]] * XSD Datatypes - [[http://www.w3.org/TR/xmlschema-2][XML Schema Part 2: Datatypes Second Edition]]
Attachments
Attachments
Topic attachments
I
Attachment
Action
Size
Date
Who
Comment
png
oslc_automation_resources.png
manage
50.6 K
04 Jan 2012 - 17:36
MichaelFiedler
png
oslc_qm_resources.png
manage
50.6 K
04 Jan 2012 - 17:35
MichaelFiedler
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r18
<
r17
<
r16
<
r15
<
r14
|
B
acklinks
|
V
iew topic
|
Ra
w
edit
|
M
ore topic actions
Topic revision: r18 - 21 Mar 2012 - 18:26:21 -
MichaelFiedler
Main
Main Web
Create New Topic
Index
Search
Changes
Notifications
RSS Feed
Statistics
Preferences
Webs
Main
Sandbox
TWiki
Български
Cesky
Dansk
Deutsch
English
Español
Français
Italiano
日本語
Nederlands
Polski
Português
Русский
Svenska
简体中文
簡體中文
Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our
Terms of Use
Ideas, requests, problems regarding this site?
Send feedback