Issue left over from finalisation of GSIM v1.0: Should Dissemination Service be a subtype of Business Service?

Currently in the model we have an object in the Production Group called Business Service.

ObjectGroupDefinitionNotes 

Business Service

Production

A defined interface for accessing business capabilities (an ability that an organization possesses, typically expressed in general and high level terms and requiring a combination of organization, people, processes and technology to achieve).

A Business Service may provide one means of accessing a particular Business Function. Requesting a particular service through the defined interface may result in a business process (workflow) being executed.

The explicitly defined interface of a Business Service can be seen as representing a "service contract". If particular inputs are provided then the service will deliver particular outputs in compliance within specific parameters (for example, within a particular period of time).

In the case of GSIM, a Business Service typically implements a particular Process Method to perform a particular Business Function.      

Note: The interface of a Business Service is not necessarily IT based. For example, a typical postal service will have a number of service interfaces:                                            - Public letter box for posting letters                                                                                    - Counter at post office for interacting with postal workers

 

 

In the Structures Group we have an object called Dissemination Service

ObjectGroupDefinitionNotes 

Dissemination Service

Structures

The mechanism for delivering, and possibly creating, structured content dynamically in response to a consumer request and in accordance with defined parameters as provided by that consumer.

A Dissemination Service will deliver a Representation created by a process that it invokes. The inputs into the Dissemination Service determine and feed the process that is to be invoked.

A Dissemination Service retrieves the information to be structured and delivered through an Information Resource. As part of the service execution, the consumer may be given a chance to browse or search through the collection of information available from the Information Resource exposed by the Dissemination Service. Based on the results, the consumer can than refine the Output Specification as (further) input to the Dissemination Service to complete the process of creating and delivering the information required in the form of a Representation to the consumer.

Example:

1. SDMX SOAP Data Web Services: The query XML message provides the Service with data selection and the specification of the preferred format (e.g. Generic format or Structured format, time series or cross-sectional). Based on this input the Service will retrieve a Data Set from the Data Resource and invoke a process that will format the data as an SDMX data message.

2. A manual service such as a response to a telephone request where the person answering the call based on the caller's request would mail a PDF (which might either be a Product or dynamically created from another source).

 

 

 

 

5 Comments

  1. My opinion is that Dissemination Service, conceptually, is - or could be expressed as - a subclass of Business Service.

    The slight variation on the current documentation for Dissemination Service is that I'd say it could be implemented using SDMX SOAP Data Web Services, not that the SDMX SOAP Web Services were the (Business) Service.  The Business Service focuses on the consumers point of view - what do I need to give the service, what will it give me back, what is the "contract".  If the Service Provider later supports a functionally identical service using different IT methods in the back end then this has not changed the definition of the Business Service (or Dissemination Service).

    The other details of Dissemination Service is basically describing what a Business Service needs to be able to support before it is considered a Dissemination Service.  

  2. Would we change the group for DisseminationService from Structures to Production i.e. the same as for Business Service?

    Business Service has the following attributes:

    Location

    Person Role

    Service Interface

    Service Type

    URN

    Are they also appropriate for Dissemination Service?

    Business Service has the following Relationships:

    canBePerformedUsing

           ProcessMethod

    1...* BusinessService

    executes

     0..* ProcessStepExecutionRecord

     0..* BusinessService

    uses

    0..* ProcessStepDesign.implementationOf

    1..* BusinessService

     and DisseminationService has the following Relationships:

    collects

         DisseminationService 

    1..* Output Specification

    exposes

    1..* InformationResource.resource

    0..* DisseminationService

    performs

    0..* DisseminationActivity

    0..* DisseminationService

    returns

     0..* DisseminationService

     0..* Representation

     What are the consequences for the attributes and relationships if we view DisseminationService as a subtype of BusinessService?

  3. Discussion in the GSIM Implementation Group

    The subtype does not need to be in the same group as the type.

    Several participants supported the DisseminationService as a subtype of BusinessService and are encouraged to use like on the recommendation.

    We will need to examine the attributes and relationships in more detail.

  4. Recommendation:

    DisseminationService should be a subtytpe of BusinessService.

  5. As raised during the meeting, formally defining Dissemination Service as a subtype of Business Service will necessitate some work on text and attributes in the next version of GSIM.  I think they are already aligned conceptually, but making that alignment obvious to users in practice in terms of human readable documentation and UML will require some thought, discussion and work.  Maybe this should be recorded as a kind of note in conjunction with the recommendation so we remember that implementing the recommendation entails much more than just setting a subclass relationship in the UML.  (While it entails more work, I think it is work we should do and that will lead GSIM to being that little more rationalised, consistent and easier to implement.)