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.

Reporting Service Discovery

SPECIFICATION v1.0 DRAFT

Introduction

Clients with a need to interact with a Reporting provider need a mechanism for discovering the capabilities of that provider, and the URIs used to access those capabilities. There are several aspects to the discovery process. First, clients may need to discover the existence of the Reporting provider itself. On discovering that, clients will want to discover the contexts in which reporting may be provided (e.g., many systems have an organisational units such as "projects"). On identifying a context, the clients need to discover the services that are provided within that context. This portion of the OSLC Reporting specification addresses the latter two of these scenarios, the discovery of the Reporting provider itself is outwith the scope of this revision of the specification. Therefore, this specification describes how an OSLC Reporting provider will expose context and service discovery, in terms of the required resource formats and namespaces.

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.

Terminology

Service Description Resource - an informational resource describing the capabilities and contextual configuration needed for a set of Reporting specific services.

Service Description Document - the representation of a Reporting Services Description Resource.

Service Provider - an implementation of the OSLC Reporting specification. OSLC Reporting clients consume these services.

Service Discovery

Starting with an entry point URI to a service provider, {base-url}, clients will discover the (typically hierarchical) arrangement of contexts managed by the application. To support the wide range of application and project configurations, OSLC is not specifying a predetermined arrangement of these contexts. Instead, clients will be able to iterate through a number of Service Provider Catalogs until the client identifies a context of interest, where the client will find a Reporting Service Description Resource.

The discovery model flow is as follows:

  1. Request information from an OSLC Reporting based service provider.
  2. If Response is a Service Provider Catalog:
    1. An entry is selected from the Service Provider Catalog
    2. With this entry's URI, goto to step #1
  3. If the response is a Service Description Document then continue to next step.
  4. Configuration has completed

The number of iterations over the configuration choices should be set by the client application, and/or the user of that client application.

Termination of the Reporting service discovery occurs when a the client application receives an HTTP response with a Content-Type of application/x-oslc-reporting-service-description-1.0+xml and the service description document as the response's content body.

Service Description Resource

A Service Description Resource is an informational resource describing the contextual configuration needs of a service provider.

The GET method on a Service Description Resource MUST retrieve a Service Description Document. This specification only covers retrieving a Service Description Resource with GET. The behavior of POST, PUT, and DELETE methods on Service Description Resources are left Undefined in this specification.

Service Description Document

The Service Description Document provides configuration definitions needed by consumers of a service provider.

The Service Description Document MUST be identified using the media type of application/x-oslc-reporting-service-description-1.0+xml.

XML namespace abbreviations used in this specification:

Service Descriptor resource

A resource of rdf:type "oslc_sd:ServiceDescriptor". Has properties whose meaning is defined by the following table:

Property Required Description
oslc_report:schemaEnquiry No The oslc_report:Query resource for the investigation of reportable schemas.
oslc_report:queryEvaluation Yes The oslc_report:Query resource for the evaluation of reporting queries.

Query Resource

Query resources have rdf:type "oslc_report:Query". Such resources have properties whose meaning is described by the following table:

Property Required Description
dc:title Yes Title of the query service.
oslc_report:query Yes The URI of the query service.

Example (RDF/XML)

<?xml version="1.0" encoding="UTF-8"?>
<oslc_sd:ServiceDescriptor
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:oslc_sd="http://open-services.net/xmlns/commons/servicedescription/1.0/"
  xmlns:oslc_report="http://open-services.net/xmlns/reporting/1.0/"
  rdf:about="http://example.com/services/rm-service-descriptor.xml">

    <dc:title xml:lang="en-GB">Braking System SRS</dc:title>
    <dc:description xml:lang="en-GB">DOORS OSLC RM 1.0 provider for Braking System SRS</dc:description>
    <dc:contributor>
      <oslc_sd:Contributor>
        <dc:title>IBM Rational DOORS</dc:title>
        <dc:identifier>com.ibm.rdm.doors</dc:identifier>
        <oslc_sd:icon rdf:resource="https://doors.example.com/resources/doorsicon.ico"/>
        <oslc_sd:home>
          <oslc_sd:Home>
            <dc:title>IBM Rational DOORS</dc:title>
            <oslc_sd:application rdf:resource="doors://doors.example.com/invokedoors"/>
          </oslc_sd:Home>
        </oslc_sd:home>
      </oslc_sd:Contributor>
    </dc:contributor>

    <oslc_report:schemaEnquiry>
      <oslc_report:Query>
        <dc:title>Service to explore schema of reporting context.</dc:title>
        <oslc_report:query rdf:resource="https://www.example.com/webapp/requirementsSchemaExplorer?SRS%20Braking"/>
      </oslc_report:Query>
    </oslc_report:schemaEnquiry>

    <oslc_report:queryEvaluation >
      <oslc_report:Query>
        <dc:title>Service to evaluate query within reporting context.</dc:title>
        <oslc_report:query rdf:resource="https://www.example.com/webapp/requirementsQueryEvaluator?SRS%20Braking"/>
      </oslc_report:Query>
    </oslc_report:queryEvaluation >

</oslc_sd:ServiceDescriptor>

References

Topic revision: r4 - 01 Dec 2009 - 15:37:13 - SebRose
Main.ReportingServiceDiscovery moved from Main.ServiceDiscovery on 27 Nov 2009 - 14:43 by SebRose - 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