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 Profilesarrow-up-right.

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 phase

  • edu.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