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.
OSLC_logo.png

Open Services for Lifecycle Collaboration
Common Resource Type Vocabulary Version 1.0

Status: v1.0 initial draft - March 20, 2012

This Version

Latest Version PreviousVersion Authors

Table of Contents

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 RFC2119. Domain name examples use RFC2606.

Introduction

(this section is informative)

As generally used in Linked Data concepts, "vocabulary" is a list of terms known to a given audience, e.g. a person or tool. The Common Resource Type Vocabulary (CRTV) resources define the identifying characteristics of certain common resources that are not themselves electronic documents, e.g. software, hardware, and organizational entities. Electronic documents describing aspects of these resources relate and interact with many other resources, such as performance data, change requests, requirements, events, etc. In order to recognize which electronic documents describe aspects of the same CRTV resource instance, it is useful to establish a shared vocabulary capturing the information commonly used for this purpose. The recognition process need not yield unique results, so it is distinct from Web resource identification via URIs. The goal is to include only details which need to be understood for resource identity purposes. This vocabulary is initially being developed within the Performance Monitoring working group, where these resources are commonly encountered. It is being proposed separately from the PM vocabulary in order to encourage its re-use in other domains; if this re-use occurs in practice, it might be more straightforward to manage it as a common vocabulary in the Core area or merge it into Core’s existing common vocabulary OSLCCoreSpecAppendixA. If it is moved under Core, we should be careful to do so prior to PM entering the convergence phase. As new resources are needed for individual OSLC Domains, working groups will determine whether or not these Resources (definitions, and/or properties) should be added to the CRTV.

Importance of Identity

Whenever there is a situation where one product is communicating with another product about a resource instance, it is important to the user using both products to understand how to identify the resource is the "same thing" across multiple systems. For example, if a user launches in context to another product, without proper identity information the user does not know the context view is correct for the resource. Imagine viewing an application resource in Product "A", then launching in context to obtain more information about the application resource from Product "B", but the information returned back (unbeknownst to the user) describes a completely different resource!

Identity allows users to know they have visibility, control, or apply automation on the correct "thing" when there are multiple products in use to perform those operations.

A solution could use 1 of the product-specific names for a resource, but that is a challenging solution. Each tool has a different name for the same thing, so a user is left to writing down the name from Product "A" and then looks for the same resource in Product "B" and writes that name down. Multiply this effort by 5 different products and 1000000 resources, and the problem rapidly demonstrates a need to do this automatically.

How we propose solving this is through a solution that can receive resource information from each of the products, process this information, and then make a determination as to which resource data should combine together and create a reconciled representation of the resources across the various products. It's just as hard for a machine (if not, harder) to evaluate product-specific names of resources and try to combine the right resources together, so using the product-specific names for a common resource identity is difficult. What we offer in this Vocabulary is the set of properties that are not only common across multiple products, but these properties create a way to uniquely identify a resource instance when the properties are combined as a set.

Namespaces

In addition to the namespace URIs and namespace prefixes oslc, rdf, dcterms and foaf defined in the OSLC Core specification, this proposal defines the namespace URI of http://open-services.net/ns/crtv# with a namespace prefix of crtv

This specification also uses these namespace prefix definitions:

  • oslc_asset : http://open-services.net/ns/asset# (Reference: OSLC AM)

Resource Definitions

Property value types that are not defined in the following sections, are defined in OSLC Core - Defining OSLC Properties

The resource properties are not limited to the ones defined in this vocabulary; service providers MAY provide additional properties. Any additional properties SHOULD be defined in their own unique namespace and SHOULD NOT use the namespaces defined in this vocabulary.

Resource: Asset

Note: This proposal re-uses the Asset resource definition from the OSLC Asset Management Workgroup [http://open-services.net/bin/view/Main/AssetMgSpecificationV2]; when used to specify the identifying characteristics of an Asset, the following property combinations should be used. We are placing the CRTV identification rules for Assets in this vocabulary (under "additional requirements", below), as the Asset Management Domain does not require these identification rules. This creates an implied dependency between this Vocabulary and the Asset Management Domain. We will evaluate how best to proceed based on dialog within the community, given OSLC restrictions on cross-Domain dependencies.

Additional Requirements

In order to be generally useful to implementations, instances of the Resource Definition MUST contain at least 1 set of properties in the bulleted list below. All properties within a single bullet point (row) must contain a value in order to be valid. Multiple bullets may be satisfied.

  • oslc_asset:assetTag, oslc_asset:manufacturer, oslc_asset:model, oslc_asset:serialNumber

Resource: ComputerSystem

An intelligent device, such as a computer, that can perform computing, data collection, and/or communication operations. This category includes general purpose computers, such as laptops, servers, and virtual machines; computers with specific functions, such as Networking and Storage hardware, Voice over IP Telephony devices, HVAC systems; monitoring data collection devices in buildings, automobiles, or electronic grids.

  • Name: ComputerSystem
  • Type URI http://open-services.net/ns/crtv#ComputerSystem

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
dcterms:identifier exactly-one unspecified String n/a n/a A value that uniquely identifies the resource instance.
rdf:type zero-or-many unspecified Resource Reference any A feature provided by the system. A system may provide more than one function at the same time.
crtv:manufacturer zero-or-one False String n/a n/a Name of the asset manufacturer. This attribute SHOULD be a publicly available manufacturer name vocabulary.
crtv:model zero-or-one False String n/a any Value of the asset model. The model number as provided by the device manufacturer.
crtv:serialNumber zero-or-one False String n/a n/a Serial number assigned by the asset manufacturer. The value should be provided by the manufacturer of the resource.
crtv:systemBoardUUID zero-or-one False String n/a n/a The unique identifier of the system board.
crtv:vmid zero-or-one False String n/a n/a The VMID is a unique identifier for the virtual machine.

Additional Requirements

In order to be generally useful to implementations, instances of the Resource Definition MUST contain at least 1 set of properties in the bulleted list below. All properties within a single bullet point (row) must contain a value in order to be valid. Multiple bullets may be satisfied.

  • crtv:manufacturer, crtv:model, crtv:serialNumber
  • crtv:systemBoardUUID

Resource: Location

A specific position pertaining to a given area, such as a single location (e.g. point), a set of multiple locations (e.g. Building) or a collection of different geographical locations (e.g. Industrial Park Site). Often locations physically exist, but this is not required.

  • Name: Location
  • Type URI http://open-services.net/ns/crtv#Location

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
crtv:coordinateSystem zero-or-many unspecified Resource Reference n/a A coordinate system typically arises in the context of a physical geography. The coordinate system is distinguished by having an origin, and a set of oriented axes that, with the exception of the highest level, GPS coordinates, live within a parent coordinate system. A coordinate system also has coordinates that taken together uniquely identify a point in the context of the coordinate system.
crtv:name zero-or-one False String n/a n/a The name of the geographical location as it is recognized by the organization. Locations can be single points, or by geographical components of a individual country or state/province, or by a city or town boundary, or simply by a building or collection of buildings.
crtv:point zero-or-many False String n/a n/a A point defined within the context of a coordinate system.

Additional Requirements

In order to be generally useful to implementations, instances of the Resource Definition MUST contain at least 1 set of properties in the bulleted list below. All properties within a single bullet point (row) must contain a value in order to be valid. Multiple bullets may be satisfied.

  • crtv:point, crtv:coordinateSystem
  • crtv:name

Resource: ServiceInstance

A Service Instance is the representation of a service offering that was selected by the customer and then instantiated for that specific customer. Service Instances are supported by definite and measurable warranties or guarantees that the expected level of service/value will be met. Instances of the resource carry exposure from the group that is responsible for supporting the offering externally to the group that is utilizing the offering. It is common to group or nest instances together to form a service instance hierarchy. This resource definition does not represent the individual processes and/or activities that comprise an overall service except in the case where such processes are viewed as an independent service. In this condition, an instance of ServiceInstance would be created to represent the ServiceInstance of the process, then creating a hierarchy of ServiceInstances (to the containing ServiceInstance).

  • Name: ServiceInstance
  • Type URI http://open-services.net/ns/crtv#ServiceInstance

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
rdf:type zero-or-many unspecified Resource Reference n/a The type of service being delivered. Value must be a URI.
crtv:name exactly-one False String n/a n/a As defined by the group responsible for the resource.
crtv:parameter zero-or-many False Resource Either Reference or Inline any A particular parameter (attribute modeled as a name/value pair) that characterizes an aspect of this ServiceInstance. Note: need to determine if OSLC Automation’s parameter definition can be re-used.
crtv:policies zero-or-many False Resource Reference any A set of service policies that are enforced by this ServiceInstance.

Additional Requirements

In order to be generally useful to implementations, instances of the Resource Definition MUST contain at least 1 set of properties in the bulleted list below. All properties within a single bullet point (row) must contain a value in order to be valid. Multiple bullets may be satisfied.

  • crtv:name

Resource: SoftwareServer

Represents an instance of software that participates in hosting a particular application.

  • Name: SoftwareServer
  • Type URI http://open-services.net/ns/crtv#SoftwareServer

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
rdf:type zero-or-many unspecified Resource Reference n/a A designation of the function of this software. Value must be a URI.
crtv:manufacturer zero-or-one False String n/a n/a Name of the Software Server manufacturer.
crtv:name zero-or-one False String n/a n/a An Application Server-specific set of values that uniquely identify the Software Server. Each Software Server softwareType has accompanying rules for constructing the value of this property.
crtv:port zero-or-one False String n/a n/a the port number as defined by the IETF and IANA
crtv:serverAccessPoint zero-or-one False Resource Reference any The Network Interface which clients use for communications with this resource.

Additional Requirements

In order to be generally useful to implementations, instances of the Resource Definition MUST contain at least 1 set of properties in the bulleted list below. All properties within a single bullet point (row) must contain a value in order to be valid. Multiple bullets may be satisfied.

  • crtv:name
  • crtv:serverAccessPoint, crtv:port

Resource: SoftwareModule

Represents packaged components that are deployed to a SoftwareServer.

  • Name: SoftwareModule
  • Type URI http://open-services.net/ns/crtv#SoftwareModule

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
crtv:deployedTo zero-or-one False Resource Reference any The specific Application Server resource which the SoftwareModule is deployed to.
crtv:fileName zero-or-one False String n/a n/a The actual file name of the SoftwareModule, including path information relative to the hosting Application Server.
crtv:name zero-or-one False String n/a n/a The local unique name as it is known by the Application Server that is hosting the Software Module.

Additional Requirements

In order to be generally useful to implementations, instances of the Resource Definition MUST contain at least 1 set of properties in the bulleted list below. All properties within a single bullet point (row) must contain a value in order to be valid. Multiple bullets may be satisfied.

  • crtv:deployedTo, crtv:name, crtv:fileName

Resource: StorageVolume

StorageVolume represents an identifiable unit of data storage. A StorageVolume can be a physical device ( e.g. a removable hard drive ) or a logical unit created by combining one or more other storage volumes.

  • Name: StorageVolume
  • Type URI http://open-services.net/ns/crtv#StorageVolume

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
dcterms:identifier exactly-one unspecified String n/a n/a A value that uniquely identifies the resource instance.
crtv:name zero-or-one False String n/a n/a The unique name for the storage extent.
crtv:path exactly-one False String n/a n/a The absolute volume UUID

Additional Requirements

In order to be generally useful to implementations, instances of the Resource Definition MUST contain at least 1 set of properties in the bulleted list below. All properties within a single bullet point (row) must contain a value in order to be valid. Multiple bullets may be satisfied.

  • crtv:path

Appendix A: Common Properties

See OSLC Core: Common Properties for more common properties

Prefixed Name Occurs Read-only Value-type Represen-tation Range Description
crtv:name zero-or-one False String n/a n/a Typically in use as an identity field, this property is in use to represent a known name of a resource instance. The property contents SHOULD be human-readable.
crtv:observationTime zero-or-one False DateTime? n/a n/a The time the resource was last observed by the provider
crtv:version zero-or-one False String n/a n/a The complete version specification of the entity, expressed as a single string. Note that this string should not contain any information about the manufacturer of the entity, the model of the entity, or the name of the product associated with the entity. It must contain version information only, in a format described by the manufacturer of the entity.
crtv:actualConfiguration zero-or-many False Resource Reference any URL of an actual configuration record.
crtv:healthStatus zero-or-many False Resource Reference any URL of a health status record.
crtv:monitoring zero-or-many False Resource Reference any URL of a monitoring record.
crtv:dependsOn zero-or-many False Resource Reference any A relationship denoting that the source of the relationship cannot function properly without an association with the target. The dependency is directional ( the source depends on the target but the reverse is not necessarily true ) and can represent any cause or type of dependency. For instance, this relationship can be used to denote that a device depends on its power supply(s) or that an IP path depends on a layer 2 connection.

Appendix B: Samples

(this section is informative)

Appendix C: Resource Shapes

(this section is informative)

Reporting Issues on the Specification

The working group participants who author and maintain this initial draft vocabulary, monitor a distribution list where issues or questions can be raised, see Performance Monitoring Mailing List

Also the issues found with this specification and their resolution can be found at CrtVocabularyIssues

-- JacobYackenovich - 01 Mar 2012

Edit | Attach | Print version | History: r13 | r11 < r10 < r9 < r8 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r9 - 20 Mar 2012 - 19:39:01 - JacobYackenovich
Main.CrtVocabulary moved from Main.CrtVocabularyV3 on 04 Mar 2012 - 23:40 by JohnArwe - put it back
 
This site is powered by the TWiki collaboration platform 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