Developing a Data Storage Back-End Module
Introduction
The current CDMI server implementation allows you to write different storage back-end modules. These modules can be injected at any deployed CDMI server and connects a specific storage back-end to the CDMI server.
This guide describes the basic steps to develop your own storage back-end module, that is used for the data path of a CDMI server.
Getting Started
To get started please follow the steps described in the Developing the CDMI Server section to set-up your development environment.
The data path module still has to be developed within the CDMI server project at this moment, but you might be able to use a similar procedure as described in the Developing a QoS Storage Back-End Module section in the future.
Spring Profiles
At the moment, the data path modules are configured via Spring Profiles.
To activate different profiles you have to configure the CDMI service accordingly, see the Configuration section.
Example File-System Data Path
The default file-system data path configuration can be found at edu.kit.scc.filesystem.FilesystemConfiguration
and edu.kit.scc.filesystem.FilesystemBeanConfiguration
.
edu.kit.scc.filesystem.FilesystemConfiguration
: this configuration is used to set-up directories and meta-data files at the server start-up phaseedu.kit.scc.filesystem.FilesystemBeanConfiguration
: this configuration is used to wire the data path implementations with the CDMI data access objects (Java Beans)
Your own module would have to provide a new Spring profile and according configuration.
Moreover, you need to implement the CDMI data access objects (DAOs). Current minimum recommended DAOs are:
org.snia.cdmiserver.daoCapabilityDao
org.snia.cdmiserver.CdmiObjectDao
org.snia.cdmiserver.ContainerDao
org.snia.cdmiserver.DataObjectDao
For further help you can look at the concrete DAO implementations for the example file-system data path.
Last updated