The following diagram provides an overview on the eSciDocEnhanced Scientific Documentation service layers:
- Core services provide create, retrieve, update and delete (CRUDCreate, Retrieve, Update and Delete) operations on data resources such as Items, Containers, Contexts, Organizational units etc. Some services in addition provide logic-centric 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 (eSciDocEnhanced Scientific Documentation and non-eSciDocEnhanced Scientific Documentation) service requestors i.e. clients (services, applications).
- Intermediate services represent both a service requestor and a service provider within the eSciDocEnhanced Scientific Documentation SOAService-Oriented Architecture. They act as adapters and façades to the basic services or add additional functionality. Intermediate services are stateless and can manipulate their own data in addition. Examples are Validating, Baskets Handling and Duplicate detecting service.
- Application services compose other services from basic, intermediate and application layer and implement business logic from solution-specific domain. They are candidates for future process-centric services to enable the service orchestration. Examples are Depositing service, Publishing service, Citation style manager service, User Management service.
Another class of services are Technical services that enable authentication and authorization. They span vertically all layers of the eSciDocEnhanced Scientific Documentation SOAService-Oriented Architecture architecture. Each service operation will invoke the authentication and authorization services.
In addition to services which come with “machine-friendly” interfaces, eSciDocEnhanced Scientific Documentation provides a set of GUIGraphical User Interface Tools that offer user-friendly interfaces to business processes. Such a tool can be reused within several application solutions and can be further extended to meet domain-specific requirements. GUIGraphical User Interface Tools thus represent additional building blocks for composite applications development.