CV Service Objects: Administration Functions

These objects may be internal or external to the RI and services, provided by an external agent such as a national authority.

User Authentication Service1

The User Authentication Service is a proxy object which confirms the identity of an agent when an agent makes a request to the service (or infrastructure). As part of the (generalised) service provision it is only composed of an authentication service object.

Computational Viewpoint User Authentication Service object

The User Authentication Service is a proxy object for all actions needed to verify the identity of an agent. It supports the following interactions:

  • Authenticate user (server): is a public interface for determining whether the agent is who it claims to be.
  • Request user attributes (server): is a public interface for requesting provided attributes from the agent.

Data Identification Service2

The Data Identification Service provides global identification and location functions for research data resources. It is composed of a persistent identification (PID) service object.

Computational Viewpoint Data Identification Service object

The Data Identification Service is a proxy object for all actions needed to register, maintain, and retrieve the location of an identified object. It supports the following interactions:

  • Acquire identifier (server): Public interface for registering new identifiers for data resources and updating the current location.
  • Resolve identifier (server): Public interface for retrieving the current location of an identified data resource.

Catalogue Service

The Catalogue Service object provides resource discovery functions within the research infrastructure.

Computational Viewpoint Catalogue Service object

The Catalogue Service is a proxy object, which encapsulates all all the actions needed to allow research resources (data or otherwise) to be discovered. It supports the following interactions:

  • Update Catalogue (server): is an interface for registering, updating and indexing resources in the catalogue.
  • Query Catalogue (server): is an interface for querying the catalogue for registered/indexed research resources.
  • Query Resource (client): retrieves metadata from data stores or other catalogues and sources
  • Export Metadata (server): provides functionality to gather metadata.

Broker Service

The Broker Service facilitates data access and storage of research data. It facilitates data transfers, query requests, annotation and curatorial services. The broker service validates all requests and verifies the identity and privileges of agents making data requests.

Computational Viewpoint Broker Service object

A broker service is a proxy object, which encapsulates all all the actions required to access data. It supports the following interactions:

  • Data request (server): provides functions for requesting the import or export of datasets, the validation of the request and agent making the request.
  • Annotate data (client): is used to request annotation of data held within the data curation subsystem.
  • Prepare data transfer (client): is used to initiate and negotiate data transfers with the data curation subsystem or the data provision subsystem.
  • Query data (client): is used to forward queries onto the data provision object receive the results.

CV Service Objects: Service Functions

CV service functions offer access to distributed systems and resources (internal and external). This allows building of customer (researcher) services using both internal and external sourced components used in the research and data lifecycles.

Service Subsystem

The Service Subsystem provides service functions and is composed of a service subsystem object, a service workbench object and a service controller object. Each request to deploy a service on behalf of an agent, an instance of the service controller object is instantiated by the service workbench.

Computational Viewpoint Service Subsystem

The Service Subsystem is a proxy object for managing the service, input and resulting data in the service. It supports the following interactions:

  • Deploy service (server): the public interface for the deployment of a new service controller.

The Service Workbench is a computational object that instantiates service controller objects. It supports the following interactions:

  • Create service controller (server): is the interface for requesting a new service controller.
  • New service controller (instantiation): Instantiation of a new service controller object by the service workbench.

The Service Controller is a controller object that runs the service. It supports the following interactions:

  • Configure service (server): the public interface for configuring and managing the service.
  • Monitor service (server): is the public interface for monitoring the service.
  • Request process (client): is used to deploy a process within the service workflow and controller from the Process Subsystem.

Process Subsystem

The Process Subsystem provides access to process functions and is composed of a process subsystem object, a process workbench object and a process controller object. For each request to deploy a process from a service controller, an instance of the process controller object is instantiated by the process workbench. A process can request to deploy a process by which a workflow (chain) or processes can be deployed within a service.

Computational Viewpoint Process Subsystem

The Process Subsystem is a proxy object for managing the process, input and resulting data in the service. It supports the following interactions:

  • Deploy process (server): the public interface for the deployment of a new process controller.

The Process Workbench is a computational object that instantiates a new process controller objects. It supports the following interactions:

  • Create process controller (server): is the interface for requesting a new process controller.
  • New process controller (instantiation): Instantiation of a new process controller object by the process workbench.

The Process Controller is a controller object that runs the process. It supports the following interactions:

  • Configure process (server): the public interface for configuring and managing the process.
  • Monitor process (server): is the public interface for monitoring the process.
  • Request process (client): is used to deploy a process within the service workflow and controller from the process subsystem.

Coordination Service

The coordination service delegates all servicing and processing tasks, coordinates multi-stage workflows and initiates execution and manages data flow within a service.

Computational Viewpoint Coordination Service object

The coordination service is a proxy object for processing tasks deployed on infrastructure execution resources. It supports the following interactions:

  • Process request (server): which provides functions for scheduling the execution of process tasks.
  • Coordinate process (client): is used to coordinate the execution of data processing tasks on execution resources presented by process controllers. Complex workflows involving many sub-tasks and processes may be orchestrated in this way.
  • Prepare data transfer (client): This is used if data is required for or generated in a service and is moved into and out of the data store via the data transfer service.

  1. From the Reference Architecture for a SSH Infrastructure: https://sites.google.com/a/dans.knaw.nl/reference-model-for-ssh-data-infrastructure/part-2/computational-viewpoint/user-athentication-subsystem 

  2. From the Reference Architecture for a SSH Infrastructure: https://sites.google.com/a/dans.knaw.nl/reference-model-for-ssh-data-infrastructure/part-2/computational-viewpoint/data-identification-subsystem