ESciDoc Services:core services

The Core services layer implements a set of resource handlers. Each resource handler provides create, retrieve, update and delete (CRUD) operations on data resources such as Items, Containers, Contexts, Organizational units etc. Some services in addition provide task-oriented operations that implement part of the core system logic (e.g. changing the status of the resource within the repository). Basic services are stateless and can be used further by other (eSciDoc and non-eSciDoc) service requestors i.e. clients (services, applications).

Service:Context Handler
Context is a resource that represents an administrative unit for a set of Items and Containers associated with the Context. The configuration rules such as: content models allowed, publication workflows, metadata schema in use, default metadata etc. are defined within the AdminDescriptor of a Context resource. Each context is associated with at least one institutional body that is responsible for the content administered in the context. The Context Service provides operations to create, retrieve and update the context information and the rules for management of content resources.

Service:Item Handler
Items are basic objects that represent content entities within the repository, e.g. articles, images, videos etc. Item service provides basic operations to create, retrieve, update and delete resources of type Item. In addition it provides several task-oriented operations that change the status of the Item in the content repository (submit, release, withdraw), filtering items based on specific criteria and set-up/release explicit user-defined lock on the Item.

An Item resource consists of (subresources): metadata record (one or many), component (zero or many). Metadata record contains metadata that describe the Item resource in accordance with a particular description schema (metadata schema). A Component represents the actual contents of an Item in a specific format. A Component may have associated licenses and additional “technical metadata” that are specific to that component such as: size, format, etc. Item service in addition provides basic operations to create, retrieve, update and delete metadata records and content components.

The general layout of a resource of type Item can be further specialized by content models. Content models impose constraints on objects (e.g. allowed metadata schemas, required metadata, allowed file types and mime types for the binary content and specify a set of content model specific properties).

Service:Container Handler
A Container is an aggregation object that allows for arbitrary grouping of items and other containers. Container service provides basic operations to create, retrieve, update and delete resources of type Container. In addition it provides several task-oriented operations that change the status of the Container in the content repository (submit, release, withdraw), filtering items associated with the container based on specific criteria and set-up/release explicit user-defined lock on the Container.

A Container resource consists of (subresource) metadata record (one or many). Metadata record contains metadata that describe the Container Resource in accordance with a particular description schema (metadata schema). Container service in addition provides basic data-centric operations to create, retrieve, update and delete metadata records of the Container.

The information of the aggregated Items and Containers is saved within the StructuralMap of the Container. The information of representation of the aggregated Items and Containers is saved within the TableOfContents of the Container. The StructuralMap and the TableOfContents of the Container are not necessarily same e.g. not all aggregated items/containers are always referenced in the TableOfContents of the Container. Container service provides basic data-centric operations that retrieve and update the StructuralMap (i.e. membership of resources) of the Container and the TableOfContents of the Container.

Service:Organizational Unit Handler
Organizational Unit Service provides basic operations to create, retrieve, update and delete resources of type Organizational Unit. In addition it provides several task-oriented operations that change the status of the Organizational Unit in the system (open, close).

Service:Searching
The Search service is based on the SRW/SRU interface (see also OCLC SRW Interface and SRU standard). It offers the following operations:
 * explain operation (used by clients to self-configure),
 * searchRetrieve operation (searches for a specific term within a list of indexed terms),
 * scan operation (request a range of the available terms at a given point within that list).

Service:User Account Handler
The User Account service provides basic operations to create, retrieve and update a User account and the Grants (granted privileges on resources) for the User Account. The User Account service in addition provides several task-oriented operations that enable activation and deactivation of a User Account.

Service:Authentication
The Authentication service provides operations for user login to the system. It encapsulates the communication with an external user management system to authenticate the user and retrieve the user’s attributes and creates or updates the local user proxy object within the eSciDoc. In case of successful user authentication it provides an eSciDocUserHandle that is used to identify the User when authorizing the service operation execution.

Service:Content Model Handler
 Item and container resources can be further specialized in accordance with the requirements for content modeling of a specific eSciDoc solution. Content model service provides basic operations to create, retrieve, update and delete content model definitions for content model in the repository. An example of a content model is publicationItem, translationItem, transcriptionItem, imageItem, lexiconContainer, faceItem, walsLanguageItem etc.

At present this service is not implemented. The content reference is however associated with each Item or Container resource.

Service:Statistics Manager
This service provides methods for defining reports, scopes and aggregations for predefined or for user-defined statistics and for retrieval of the reports.

Service:Semantic Store Handler
The Semantic Store Handler allows for querying the triple store. The service implements SPO, a simplified RDF query language, where queries consist of a subject, a predicate and an object.

Service:Technical Metadata extraction
The concept of representation format, or type, permeates all technical areas of digital repositories. Policy and processing decisions regarding object ingest, storage, access, and preservation are frequently conditioned on a per-format basis. Such (file) formats and their specific attributes are typically referred to as 'technical metadata'. Technical metadata consists of technical data elements required to manage digital collections. The eSciDoc Technical Metadata Extraction service is based on the JHOVE - JSTOR/Harvard Object Validation Environment.