This specification defines the OSLC Asset Management domain, a RESTful web services interface for the management of domain specifica and supporting resources defined in the OSLC Core specification. To support these scenarios, this specification defines a set of HTTP-based RESTful interfaces in terms of HTTP methods: GET, POST, PUT and DELETE, HTTP response codes, content type handling and resource formats.
TC members should send comments on this specification to the TC’s email list. Others should send comments to the TC’s public comment list oslc-domains-comment@lists.oasis-open.org, after subscribing to it by following the instructions at the “Send A Comment” button on the TC’s web page at https://www.oasis-open.org/committees/oslc-domains/.
This specification is being provided under the RF on Limited Terms Mode of the OASIS IPR Policy, the mode chosen when the Technical Committee was established. For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the TC’s web page (https://www.oasis-open.org/committees/oslc-domains/ipr.php).
Note that any machine-readable content (Computer Language Definitions) declared Normative for this Work Product is provided in separate plain text files. In the event of a discrepancy between any such plain text file and display content in the Work Product's prose narrative document(s), the content in the separate plain text file prevails.
[OSLC-ASSET-v2.1]
OSLC Asset Management Version 2.1 Part 1: Specification.
Edited by Fabio Ribeiro.
30 March 2025.
OASIS Working Draft 01
http://docs.oasis-open.org/oslc-domains/oslc-asset/v2.1/csprd01/part1-asset-management-spec/oslc-asset-v2.1-csprd01-part1-asset-management-spec.html.
Copyright © OASIS Open 2025. All Rights Reserved.
All capitalized terms in the following text have the meanings assigned to them in the OASIS Intellectual Property Rights Policy (the "OASIS IPR Policy"). The full Policy may be found at the OASIS website.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works. However, this document itself may not be modified in any way, including by removing the copyright notice or references to OASIS, except as needed for the purpose of developing any document or deliverable produced by an OASIS Technical Committee (in which case the rules applicable to copyrights, as set forth in the OASIS IPR Policy, must be followed) or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns.
This document and the information contained herein is provided on an "AS IS" basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY OWNERSHIP RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
OASIS requests that any OASIS Party or any other party that believes it has patent claims that would necessarily be infringed by implementations of this OASIS Committee Specification or OASIS Standard, to notify OASIS TC Administrator and provide an indication of its willingness to grant patent licenses to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification.
OASIS invites any party to contact the OASIS TC Administrator if it is aware of a claim of ownership of any patent claims that would necessarily be infringed by implementations of this specification by a patent holder that is not willing to provide a license to such patent claims in a manner consistent with the IPR Mode of the OASIS Technical Committee that produced this specification. OASIS may include such claims on its website, but disclaims any obligation to do so.
OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS' procedures with respect to rights in any document or deliverable produced by an OASIS Technical Committee can be found on the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this OASIS Committee Specification or OASIS Standard, can be obtained from the OASIS TC Administrator. OASIS makes no representation that any information or list of intellectual property rights will at any time be complete, or that any claims in such list are, in fact, Essential Claims.
The name "OASIS" is a trademark of OASIS, the owner and developer of this specification, and should be used only to refer to the organization and its official outputs. OASIS welcomes reference to, and implementation and use of, specifications, while reserving the right to enforce its marks against misleading uses. Please see https://www.oasis-open.org/policies-guidelines/trademark for above guidance.
This section is non-normative.
Asset management systems allow enterprises to catalog, govern, manage, search for, and maintain assets. An asset is anything tangible or intangible that provides value through reference or reuse across a wide audience over an extended period of time. Assets typically have a lifecycle and require a formal process to govern both modification and access. Cataloging assets with standardized taxonomies controls usage and discovery by end users. Assets may also have relationships to and dependencies on other assets.
The term asset in this specification generally refers to either software, documentation, or representations of equipment. While other definitions of an asset may be appropriate, financial instruments are not considered an asset in this specification.
Example software assets may include but are not limited to the final binary output from a software development process, libraries such as a Java archive (JAR) or dynamic-link library (DLL), and installable packages that are distributed through digital distribution platforms such as a repository or app store. Documentation assets may include presentation materials, reports, specifications, blue prints, and instructions. Assets may also represent any type of equipment or structure such as computer hardware, automobiles, pumps, buildings, etc.
Assets are described by a set of properties and zero or more artifacts. An artifact is a file of any type and a set of properties that describe the file.
This specification builds on the Open Services for Lifecycle Collaboration (OSLC) Core v2.0 Specification to define the resources, properties and operations supported by an OSLC Asset Management (OSLC-Asset) provider. Asset Management resources include Assets, Artifacts and supporting resources defined in the OSLC Core specification. The properties defined describe these resources and the relationships between resources. Operations are defined in terms of HTTP methods and MIME type handling. The resources, properties and operations defined do not form a comprehensive interface to Asset Management, but instead target specific integration use cases documented by the OSLC-Asset workgroup.
This specification also defines how Assets and Artifacts are represented in OSLC Services. The [OSLCAssetResourceDefinition] is a set of properties for an Asset, and includes properties that describe Artifacts of an Asset.
This version of the OSLC Asset specification is demonstrated in the [OSLCAssetSamples].
This Committee Specification Public Review Draft is being developed under the RF on Limited Terms Mode of the OASIS IPR Policy, the mode chosen when the Technical Committee was established. For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the TC’s web page ( https://www.oasis-open.org/committees/oslc-domains/ipr.php).
Asset Consumer - A tool or user that performs asset searching and retrieval activities outlined in the search and retrieve scenarios.
Asset Resource - An Asset Resource has a set of properties representing an asset. These properties include such things as name, description, classification, and the Artifact properties for an Asset.
Asset Query Resource - When filtering using simple query, the representation of a list of Asset Resources.
Asset Submitter - A tool or user that performs asset preparation activities outlined in the publish scenario.
Artifact - This term refers to the properties that describe an Asset Artifact and potentially the Artifact Media referenced by this Artifact. An Asset may have zero or more Artifacts.
Artifact Fragment - Fragment within an Asset Resource that describes an Artifact Media Resource. The term fragment is associated with an Artifact instead of resource because Artifacts are referenced by the Asset’s URL with a fragment identifier. Artifacts are considered to be contained within the asset and when the asset is deleted the artifact is also deleted. While two different Artifacts in separate Assets may reference to the same Artifact Media Resource, two different Assets may not contain the same Artifact.
Artifact Media Resource - The Artifact Media Resource represents the actual artifact content. The content can be a presentation, a test case, a binary software component, or any other kind of file.
Property - An attribute of a resource. Typically a property is a name/value pair that describes a certain aspect of the resource. For example, an asset has many properties such as the asset title, subject/short description, version.
Service Provider - An implementation of the OSLC Asset Management specification as a server. OSLC Asset Management clients consume these services.
Work product - This term is often used interchangeably with ‘artifact’ or ‘file’. An asset may have zero or more work products.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL in this specification are to be interpreted as described in [RFC2119].
The following sub-sections define the mandatory and optional requirements for an OSLC Asset Management (OSLC Aseet) server.
This specification is based on [OSLCCore3]. OSLC Asset Management servers MUST be compliant with both the core specification, MUST follow all the mandatory requirements in the normative sections of this specification, and SHOULD follow all the guidelines and recommendations in both these specifications.
An OSLC Asset Management server MUST implement the domain vocabulary defined in OSLC Asset Management Version 2.1. Part 2: Vocabulary
The following table summarizes the requirements from OSLC Core Specification as well as some additional requirements specific to the Asset domain. Note that this specification further restricts some of the requirements for OSLC Core Specification. See subsequent sections in this specification or the OSLC Core Specification to get further details on each of these requirements.
Number | Requirement | Level | Meaning |
---|---|---|---|
ASSET-1 | Unknown properties and content | MAY / MUST | OSLC services MAY ignore unknown content and OSLC clients MUST preserve unknown content |
ASSET-2 | Resource Operations | MUST | OSLC service MUST support resource operations via standard HTTP operations |
ASSET-3 | Resource Paging | MAY | OSLC services MAY provide paging for resources but only when specifically requested by client |
ASSET-4 | Partial Resource Representations | MAY / MUST | OSLC services MUST support request for a subset of a resource’s properties via the oslc.properties URL parameter retrieval via HTTP GET |
ASSET-5 | Partial Update | MAY | OSLC services MAY support partial update of resources using patch semantics and MAY support via HTTP PUT |
ASSET-6 | Discovery | MUST / MAY / SHOULD | OSLC servers MUST support OSLC Core 3.0 Discovery, MAY provide a ServiceProviderCatalog and SHOULD provide a ServiceProvider resource for Core v2 compatibility. |
ASSET-6 | Creation Factories | MUST | OSLC servers MUST provide LDPC creation factories to enable resource creation of Quality Management resources via HTTP POST |
ASSET-7 | Query Capabilities | SHOULD | OSLC servers SHOULD provide query capabilities to enable clients to query for resources |
ASSET-8 | Query Syntax | SHOULD / MAY | OSLC query capabilities SHOULD support the OSLC Core Query Syntax and MAY use other query syntax |
ASSET-9 | Delegated UI Dialogs | MUST / SHOULD | OSLC Services MUST offer delegated UI dialogs (creation and selections) specified via OSLC Core 3.0 Delegated Dialogs and SHOULD include discovery through a ServiceProvider resource for OSLC v2 compatibility |
ASSET-10 | UI Preview | SHOULD | OSLC Services SHOULD offer UI previews for resources that may be referenced by other resources specified via OSLC Core 3.0 Preview and SHOULD include discovery through a server resource for OSLC v2 compatibility |
ASSET-11 | HTTP Basic Authentication | MAY | OSLC Services MAY support Basic Auth and should do so only over HTTPS |
ASSET-12 | OAuth Authentication | SHOULD | OSLC Services SHOULD support OAuth and can indicate the required OAuth URLs via the ServiceProviderCatalog or ServiceProvider resources |
ASSET-13 | Error Responses | SHOULD | OSLC Services SHOULD provide error responses using OSLC Core 3.0 defined error formats |
ASSET-14 | Turtle Representations | MUST | OSLC services MUST provide a Turtle representation for HTTP GET requests and SHOULD support Turtle representations on POST and PUT requests. |
ASSET-15 | RDF/XML Representations | SHOULD | OSLC services SHOULD provide an RDF/XML representation for HTTP GET requests and SHOULD support RDF/XML representations on POST and PUT requests |
ASSET-16 | XML Representations | SHOULD | OSLC services SHOULD provide a XML representation for HTTP GET, POST and PUT requests that conform to the Core 2.0 Guidelines for XML. |
ASSET-17 | JSON Representations | MUST | OSLC services MUST provide JSON-LD representations for HTTP GET, POST and PUT requests that conform to the Core Guidelines for JSON-LD |
ASSET-18 | HTML Representations | SHOULD | OSLC services SHOULD provide HTML representations for HTTP GET requests |
See [OSLCCore2] Specification Versioning section.
Service providers that support the resource formats and services in this specification MUST use HTTP response header
of
OSLC-Core-Version
with a value of
2.0
and
OSLC-Asset-Version
with a value of
2.1
. Consumers MAY request formats and services defined in this document by providing a HTTP request header of
OSLC-Core-Version
with a value of
2.0
. See section below on Version Compatibility with OSLC Asset 1.0 Specifications.
In addition to the namespace URIs and namespace prefixes
oslc
,
rdf
,
dcterms
and
foaf
defined in the
[OSLCCore2], OSLC Asset Management defines the namespace URI of
http://open-services.net/ns/asset# with a namespace prefix of
oslc_asset
In addition to the requirements for [OSLCCore2] Resource Formats section, this section outlines further refinements and restrictions.
For HTTP GET requests on all OSLC Asset Management and OSLC Core defined resource types,
For HTTP PUT/POST request formats for resource type of Asset:
For HTTP GET response formats for Query requests,
Asset Management Providers MUST provide RDF/XML representations, SHOULD provide JSON and Atom Syndication Format XML representations, and MAY provide XML representations.
When Asset Management Consumers request:
application/rdf+xml
Asset Management Providers MUST respond with RDF/XML representation without restrictions.application/json
Asset Management Providers SHOULD respond with JSON representation as defined in the
[OSLCCore2RepresentationGuidance].application/xml
Asset Management Provider MAY respond with OSLC-defined abbreviated XML representation as defined in the
[OSLCCore2RepresentationGuidance]
application/atom+xml
Asset Management Provider SHOULD respond with Atom Syndication Format XML representation as defined in the
[OSLCCore2RepresentationGuidance]
See Query Capabilities for additional information when Resource Shapes affect representation.
OSLC Core Guidance clearly points to RDF representations (and specifically RDF/XML) as a convention that all OSLC Provider implementations minimally provide and accept. OSLC Asset Provider implementations are strongly encouraged to adopt this convention. Future versions of this specification are expected to require RDF representations for all operations and relax requirements for specialized XML representations.
XML Representation - identified by the
application/xml
content type. Format representation rules are outlined in Core
[OSLCCore2RepresentationGuidance] Formats section
RDF/XML Representation - identified by the
application/rdf+xml
content type. No additional guidance is given. The OSLC Core describes an algorithm for generating consistent
formats that are used as examples only.
JSON Representation - identified by the
application/json
content type. Format representation rules are outlined in Core
[OSLCCore2RepresentationGuidance] Resource Formats section.
Atom Syndication Format XML Representation - identified by the
application/atom+xml
content type. Format representation rules are outlined in Core
[OSLCCore2RepresentationGuidance] OSLC Core Resource Formats section.
See [OSLCCore2] Authentication section. Asset Management puts no additional constraints on authentication.
See [OSLCCore2] Error Responses section. Asset Management puts no additional constraints on error responses.
OSLC Asset service providers SHOULD support pagination of query results and MAY support pagination of a single resource’s properties as defined by the OSLC CoreSpecification.
A client MAY request a subset of a resource’s properties as well as properties from a referenced resource.
In order to support this behavior a service provider MUST support the
oslc.properties
and
oslc.prefix
URL parameter on a HTTP GET request on individual resource request or a collection of resources by query. If the
oslc.properties
parameter is omitted on the request, then all resource properties MUST be provided in the response.
A client MAY request that a subset of a resource’s properties be updated by identifying those properties to
be modified using the
oslc.properties
URL parameter on a HTTP PUT request.
If the parameter
oslc.properties
contains a valid resource property on the request that is not provided in the content, the server MUST set the
resource’s property to a null or empty value. If the parameter
oslc.properties
contains an invalid resource property, then a
409 Conflict
MUST be returned.
Asset relationships to other resources are represented as properties whose values are the URI of the object or target
resource. When an Asset 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 Asset resource representations, using the anchor approach outlined in the OSLC Core Links Guidance.
In addition to the textual label, the Asset resource definition defines several properties that can be used to describe
the relationship from one Asset resource to another Asset resource.
RDF/XML and XML example using reified statement:
<rdf:RDF
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:oslc_asset="http://open-services.net/ns/asset#">
<oslc_asset:Asset rdf:about="http://example.com/assets/CDFE4153-9271-5CA6-425A-4CA6BE7BD7CA/1.0">
<dcterms:relation rdf:ID="relationship1" rdf:resource="http://example.com/assets/52C4702C-7CA2-E46E-D373-620482ECBEED/1.0"/>
</oslc_asset:Asset>
<rdf:Description rdf:about="#relationship1">
<dcterms:title>Build Configuration</dcterms:title>
</rdf:Description>
</rdf:RDF>
Asset management providers SHOULD allow consumers to define custom properties. If providers allow consumers to define custom properties, they MUST allow the consumer to optionally specify an HTTP URI for that data element, and the specified URI MUST be used in the RDF representation of all resources that contain the data element. The specified URI MAY be part of an industry standard such as DC, FOAF, or OSLC, or it MAY be defined by the user’s organization. If the URI is defined by the user’s organization, then they SHOULD make it dereferencable as per the [W3CBestPractices].
If the user does not specify the optional URI, then the provider MUST use a default generated HTTP URI. The generated URI SHOULD be as human-readable as possible. One method for achieving human-readability is to apply a human-friendly name mangling algorithm to the user-defined label for the data element. The tool SHOULD make the generated URI dereferencable as per the [W3CBestPractices]. The published RDF vocabulary SHOULD include any relevant descriptive information provided the user as part of the data element definition, e.g. the label and description.
OSLC Asset Management Resources 2.1 Defines the vocabulary terms and constraints for OSLC Automation resources. These terms and constraints are specified according to [OSLCCoreVocab].
OSLC Asset Management service providers MUST provide a [OSLCCore2] Service Provider Resource that can be retrieved at a implementation dependent URI.
OSLC Asset Management service providers MAY provide a [OSLCCore2] Service Provider Catalog Resource that can be retrieved at a implementation dependent URI.
OSLC Asset Management service providers MUST provide a
oslc:serviceProvider
property for their defined resources that will be the URI to a
[OSLCCore2] Service Provider Resource.
OSLC Asset Management service providers MUST supply a value of
http://open-services.net/ns/asset# for the property
oslc:domain
on either
oslc:Service
or
oslc:ServiceProviderCatalog
resources.
OSLC Asset Management service providers MUST support [OSLCCore2] Creation Factories and list them in the Service Provider Resource as defined by OSLC Core. OSLC Asset Management service providers SHOULD support [OSLCCore2] Resource Shapes for Creation Factories as defined in [OSLCCore2] OSLC Core Specification
OSLC Asset Management service providers MUST support the [OSLCCore2] Query Capabilities as defined by OSLC Core. OSLC Asset Management service providers SHOULD support [OSLCCore2] Resource Shapes for Query Capability as defined in [OSLCCore2] Specification
The Query Capability MUST support these parameters:
oslc.where
oslc.select
oslc.properties
oslc.prefix
If shape information is NOT present with the Query Capability, service providers SHOULD use these default properties to contain the result:
rdf:Description
and
rdfs:member
as defined in
[OSLCCore2RDFXMLExamples] RDF/XML Examples
oslc:results
array. See
[OSLCCore2JsonRepresentationGuidance]
OSLC Asset Management service providers SHOULD support the selection of resources by delegated web-based user interface dialogs [OSLCCore2] Delegated UIs as defined by OSLC Core.
OSLC Asset Management service providers MAY support the creation of resources by delegated web-based user interface dialogs [OSLCCore2] Delegated UIs as defined by OSLC Core.
OSLC Asset Management service providers MAY support the pre-filling of creation dialogs based on the definition at [OSLCCore2] Delegated UIs.
The service providers supports the delegated UIs as follows:
Asset Management Resource | Selection | Creation |
---|---|---|
Asset | SHOULD | MAY |
The goal is to provide a smooth transition to 2.1 for both Consumers and Providers. This section will clarify the usage of 1.0 media types so that Providers can support both 1.0, 2.0, 2.1 Consumers when HTTP requests are made for a resource with the same URI.
For an Asset Resource format identification of RDF/XML and XML, the media type used for this representation SHOULD
be
application/rdf+xml
or
application/xml
.
For an Asset Resource format identification of JSON, the media type used for this representation SHOULD be
application/json
.
(this section is informative)
(this section is informative)
The members of the Working Group (or as appropriate, their employers) have documented a Patent Non-Assertion Covenant for implementations of the Asset Management 2.1 Specification, as described in the open-services.net Terms of Use. Details of the Covenant may be found here.
The working group participants who author and maintain this working draft specification, monitor a distribution list where issues or questions can be raised, see Asset Management Mailing List
Also the issues found with this specification and their resolution can be found at OSLC Asset Management 2.1 specification issues.
The following individuals have participated in the creation of this specification and are gratefully acknowledged:
Participants:
Fabio Ribeiro, Koneksys (Editor)
Jim Amsden, IBM (Chair)
Gray Bachelor, IBM (Chair)
Brad Sandler, IBM
Dave Johnson, IBM
Edwin Freekenhorst, Shell
Eric Bordeau, IBM
Gili Mendel, IBM; OSLC Asset Management Lead
Grant Larsen, IBM
Hari Padmanabhan, IBM
Jaimin Patel, WebLayers
John Favazza, WebLayers
Kevin Bauer, IBM
Randy Lexvold, the Emphasys Group
Ren Renganathan, Citigroup
Scott Bosworth, IBM
Sheehan Anderson, IBM
Srimanth Gunturi, IBM
Revision | Date | Editor | Changes Made |
01 | 07/06/2018 | Fabio Ribeiro | Draft OASIS format version created |
02 | 09/08/2018 | Gray Bachelor | Change to V2.1 and add conformance |