RE: [oslc-domains] Reconciling 2.0 domain specification base requirements with OSLC Core 3.0

From
Jad El-Khoury <>
Date
2018-01-16T23:22:13+00:00
ID
Thread
RE: [oslc-domains] Reconciling 2.0 domain specification base requirements with OSLC Core 3.0
Hi

 

I now went through the RM 2.0 specification again, comparing the text to the original 2.0 on open-services.net. Here’s a summary of the changes I have made.

Does it make sense to share a screen during our telco, and going through these  changes live?

 

Jim! I have two questions first:

 

Vocabulary

I compared  to the content on
http://open-services.net/bin/view/Main/RmVocabulary

The dcterms:description is not shown in html, but it exists correctly in the ttl file!

Q: How do we make the  dcterms:description
 text visible? It is visible on open-services.net

 

Shapes

Q: Why is the resource name preceded
 with "rm#"?

Q: Shape properties are  ordered alphabetically,
 which makes less sense, compared to the more intuitive listing on open-services. Can we control that?

 

SUMMARY of CHANGES

 

1. Introduction

                I changed the 1st paragraph,where I refer to oslc3.0  instead of 2.0.

 

1.2  Terminology

                I renamed “Service Provider” as “Server”, and changed its definition

                I renamed “Service Consumer” as “Client”, and changed its definition

               
à Throughout the paper, I also change Provider/consumer, with Server/Client.

 

2. Base Requirements

                I state “This specification is based on [OSLCCore3]”, insteasd of the original reference to “OSLC 2.0”

                I replaced "Service Provider Resources" with "Discovery". Also, I added to the original text ("OSLC servers MAY provide a Service Provider Catalog,
 MUST provide a Service Provider resource"), the following: ", and MAY provide other forms of discovery described in Core 3.0 Discovery."

 

2.2 Specification Versioning

                I removed all additional text, and simply refer to core3.0

 

2.8 Requesting and Updating Properties

                I copied from CM specs.

 

2.9 Labels for Relationships

                I copied from CM specs.

 

I still have the job of checking the Shapes tables (there are differences to fix). I plan to do that  before our Thursday meeting.

 

regards

______________________________

Jad El-khoury, PhD

KTH Royal Institute of Technology

School of Industrial Engineering and Management, Mechatronics Division

Brinellvägen 83, SE-100 44 Stockholm, Sweden

Phone: +46(0)8 790 6877 Mobile: +46(0)70 773 93 45

,
www.kth.se

 

From:  [mailto:]
On Behalf Of Jim Amsden

Sent: 11 January 2018 20:32

To: 

Subject: [oslc-domains] Reconciling 2.0 domain specification base requirements with OSLC Core 3.0

 

I went through the AM 2.0 specification comparing the base requirements with CM 3.0. I found the following potential incompatibilities with Core 3.0:

1. RDF serialization format - AM specifies MUST for RDF/XML which is OK, but doesn’t mention turtle or json-ld. - Recommendation: change to follow Core 3.0 RDF serialization formats, including
 proposal to change core RDF serialization formats clauses.

2. Discovery - AM says ServiceProvider resource is MUST, Core MAY - Recommendation: ok to strengthen compliance level in a domain spec, so no problem. However this should just say MUST support
 OSLC discovery, and need not say exactly how. Servers just follow core which already covers OSLC 2.0 discovery compatibility.

So not much there. Other domain specs should retain the base capabilities and supporting text from the OSLC 2.0 specifications unless there's some compelling reason they can't. In particular, the
 RM spec should not have copied the CM base requirements, but instead stick with the ones in the RM 2.0 spec.

Here's the details:

Architecture Management

Thu Jan 11 09:39:53 EST 2018

Analyzing the differences between
CM 3.0 and
AM 2.0
 Base Requirements. 

The result of this analysis applies to the subsections of the document as well. Ideally these would be cloned and be quite similar for each domain specification.

CM 3.0 Requirement

Level

Meaning

AM 2.0 Differences

Unknown properties and content

may/
must

OSLC servers
mayignore unknown content and OSLC clients
mustpreserve unknown content

Client MUST is in a separate entry.

Resource Operations

must

OSLC service
mustsupport resource operations via standard HTTP operations

Resource Paging

may

OSLC servers
mayprovide paging for resources but only when specifically requested by client

Paging is SHOULD for query results, MAY on large resource entity response bodies.

Partial Resource Representations

must

OSLC servers
mustsupport request for a subset of a resource’s properties via the oslc.properties URL parameter
 retrieval via HTTP GET

AM is MAY support selective properties

Partial Update

may

OSLC servers
maysupport partial update of resources using [LDPPatch], or via HTTP PUT.

Discovery

may/
should

OSLC servers
shouldprovide a ServiceProvider resource for Core v2 compatibility,
mayprovide a ServiceProviderCatalog, and
mayprovide other forms of discovery described in Core 3.0 Discovery.

Specifically states MUST provide ServiceProvider resource. Servers MAY support ServiceProviderCatalog

Creation Factories

must

OSLC servers
mustprovide LDPC creation factories to enable resource creation of Change Management resources via
 HTTP POST

Creation factory capability is MAY, and also servers MAY support creation factories in other resource serialization formats indicated
 with oslc:usage.

Query Capabilities

should

OSLC servers
shouldprovide query capabilities to enable clients to query for resources

query capability is a MUST

Query Syntax

should/
may

OSLC query capabilities
shouldsupport the OSLC Core Query Syntax and
mayuse other query syntax

Delegated UI Dialogs

must/
should

OSLC Services
mustoffer delegated UI dialogs (creation and selections) specified via OSLC Core 3.0 Delegated Dialogs
 and shouldinclude discovery through a ServiceProvider resource for OSLC v2 compatibility

Delegated selection UI is SHOULD, delegated creation dialog is separate entry and MAY.

UI Preview

should

OSLC Services
shouldoffer UI previews for resources that may be referenced by other resources specified via OSLC
 Core 3.0 Preview and shouldinclude discovery through a server resource for OSLC v2 compatibility

Authentication

may

OSLC Services
shouldfollow the recommendations for Authentication specified in [OSLCCore3]

SHOULD support one of the OSLC Core recommendations, Has separate MAY for each one (HTTP Basic, OAuth, Form)

Error Responses

should

OSLC Services
shouldprovide error responses using OSLC Core 3.0 defined error formats

Turtle Representations

must

OSLC servers
mustprovide a Turtle representation for HTTP GET requests and
shouldsupport Turtle representations on POST and PUT requests.

RDF/XML Representations

should

OSLC servers
shouldprovide an RDF/XML representation for HTTP GET requests and
shouldsupport RDF/XML representations on POST and PUT requests for compatibility with Change Management
 2.0.

RDF/XML is MUST

XML Representations

should

OSLC servers
shouldprovide a XML representation for HTTP GET, POST and PUT requests that conform to the Core
 2.0 Guidelines for XML.

JSON Representations

must

OSLC servers
mustprovide JSON-LD representations for HTTP GET, POST and PUT requests that conform to the Core
 Guidelines for JSON-LD

HTML Representations

should

OSLC servers
shouldprovide HTML representations for HTTP GET requests

Other Differences:

Servers MUST use absolute URIs - not sure this is a good idea, but its there, so ok to keep it.

Servers MUST support If-Match header on PUT and DELETE - note mentioned in CM, but may be in Core 3.0

Unique AM Link Type Query Capability

CM does not specify which HTTP resource operations may, must, or should be provided - AM say PUT & DELETE are SHOULD, may be covered in Core.

Specifically states servers SHOULD support paging for queries

Potential conflicts with OSLC Core 3.0:

RDF serialization format - AM specifies MUST for RDF/XML which is OK, but doesn’t mention turtle or json-ld. - Recommendation: change to follow Core 3.0 RDF serialization formats

Discovery - AM says ServiceProvider resource is MUST, Core MAY - Recommendation: ok to strengthen compliance level, so no problem, should just say MUST support OSLC discovery, and need not
 say exactly how. Servers just follow core.

 

Jim Amsden, Senior Technical Staff Member

OSLC and Linked Lifecycle Data

919-525-6575