Uploaded image for project: 'OASIS OSLC Lifecycle Integration Core (OSLC Core) TC'
  1. OASIS OSLC Lifecycle Integration Core (OSLC Core) TC
  2. OSLCCORE-23

Should a ServiceProviderCatalog or ServiceProvider resource be an LDPC?

    Details

    • Type: Task
    • Status: Applied
    • Priority: Major
    • Resolution: Applied
    • Component/s: None
    • Labels:
    • Proposal:
      Hide

      ServiceProviderCatalog, ServiceProvider and Service resources from OSLC2 are specific kinds of LDP Containers. A ServiceProviderCatalog members include ServiceProviderCatalogs and ServiceProvider LDPCs. ServiceProvider members include Service resources.

      Service is the point at which Domain specifications specify their specific service capabilities.

      LDPCs Link headers can specify rel='type' with values: ldp:Container and/or ldp:BasicContainer, and one of oslc:ServiceProviderCatalog, oslc:ServiceProvider or oslc:Service.

      Show
      ServiceProviderCatalog, ServiceProvider and Service resources from OSLC2 are specific kinds of LDP Containers. A ServiceProviderCatalog members include ServiceProviderCatalogs and ServiceProvider LDPCs. ServiceProvider members include Service resources. Service is the point at which Domain specifications specify their specific service capabilities. LDPCs Link headers can specify rel='type' with values: ldp:Container and/or ldp:BasicContainer, and one of oslc:ServiceProviderCatalog, oslc:ServiceProvider or oslc:Service.
    • Resolution:
      Hide

      The TC voted to approve this proposal 1 Oct, 2015.

      Show
      The TC voted to approve this proposal 1 Oct, 2015.

      Description

      OSLC 2.0/3.0 compatibility re-introduces the OSLC Core 2.0 ServiceProviderCatalog (SPC), ServiceProvider (SP) and Service resources. These resources provide a somewhat static, up-front discovery capability to access information about OSLC resources and capabilities supported by a server.

      OSLC Core 3.0 also utilizes Link headers in response to OPTIONS or HEAD request on LDPCs to dynamically discover information about OSLC resources and capabilities supported through that LDPC.

      Although these are somewhat overlapping approaches to discovery, they are both useful in practice and can be complimentary, balancing the convenience of up-front static discovery by parsing a few resources, and more dynamic, flexible discovery through introspection of LDPCs. In any case, the OSLC Core 2.0 discovery approach is required for compatibility.

      There may be a way to normalize these by requiring that ServiceProviderCatalog, ServiceProvider and Service resources are also LDPCs. This may allow server implementations to dynamically generate the service provider resources from the LDPC and may simplify the server implementation of OSLC Discovery, and eliminate data redundancy.

      However, there's a potential problem with 2.0 SPC and SP's being LDPCs. A GET on an LDPC must also return the contents of the container in the ldp:contains property of the RDFSource resource response body. That may be a large amount of data for any given LDPC that would be inappropriate for SPC discovery. LDP supports the use of the Prefer request header to allow the client to give the server a hint on what content is desired in the response, and possibly the omit-parameter with ldp#PrefereContainment could be used to get the LDPC without any of its content element URIs. However, an OSLC 2.0 client would not know anything about these headers.

        Attachments

          Activity

            People

            • Assignee:
              jamsden James Amsden
              Reporter:
              jamsden James Amsden
            • Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: