The DSpace Services Framework provides the infrastructure of a more componentized realization of DSpace. Services, plugins, and providers are registered with the framework so that they can find each other without having to know each other too intimately. This should make it easier to maintain, extend, and understand DSpace as it evolves.
The framework consists of:
- kernel
- initializes and starts the framework, grants ready access to core services
- service manager
- instantiates, configures, and controls services
- core services
- configuration, events, and the like
- utilities
- includes the DSpace object, a starting point in using the framework
To use the Services Framework, start by creating a running kernel instance.
- In a standalone application, you can call
DSpaceKernelInit.getKernel(java.lang.String)
to get a reference to one. - In a Spring container, you need to ensure that
spring/spring-dspace-applicationContext.xml
andspring/spring-dspace-core-services.xml
are loaded. Then you can wire references toorg.dspace.services.CachingService
org.dspace.services.SessionService
org.dspace.services.RequestService
org.dspace.services.EventService
- In a servlet container, you should configure a
context listener
to instantiate the kernel and afilter
to establish the connection between the web application and the framework.
Package | Description |
---|---|
org.dspace.kernel |
The DSpace Services kernel and service manager.
|
org.dspace.kernel.config | |
org.dspace.kernel.mixins |
Interfaces for interacting with the startup, shutdown, or
reconfiguration of the framework.
|
org.dspace.servicemanager |
Register, configure, manipulate, locate services.
|
org.dspace.servicemanager.config |
The configuration service.
|
org.dspace.servicemanager.example |
Sample service implementations.
|
org.dspace.servicemanager.servlet |
Support for using DSpace Services in a servlet context.
|
org.dspace.servicemanager.spring |
Spring extensions and adaptors for DSpace.
|
org.dspace.services |
Core DSpace service definitions.
|
org.dspace.services.email |
Manages a JavaMail session for code which wants to send email.
|
org.dspace.services.events |
Implementation of the event service.
|
org.dspace.services.factory | |
org.dspace.services.model |
Defines types managed by the core services.
|
org.dspace.services.sessions |
Implement the session service.
|
org.dspace.services.sessions.model |
Implement the session type.
|
org.dspace.utils |
Utility classes and starting points.
|
org.dspace.utils.servicemanager |
Handy types to support ServiceManagers.
|
org.dspace.utils.servlet |
Connect a servlet container with the DSpace Services framework, in a
web application context.
|