cdmi-qos
  • About Indigo Component
  • Developer guide
    • Developing the CDMI Server
    • Developing a QoS Storage Back-End Module
    • Developing a Data Storage Back-End Module
  • Deployment and Administration guide
    • Installing CDMI-QoS
    • Building from Sources
    • Running CDMI-QoS as a Docker Container
    • Configuration
    • Updating CDMI-QoS
  • User guide
    • API Walkthrough
Powered by GitBook
On this page
  • Introduction
  • Getting Started
  • Spring Profiles
  • Example File-System Data Path
  1. Developer guide

Developing a Data Storage Back-End Module

PreviousDeveloping a QoS Storage Back-End ModuleNextDeployment and Administration guide

Last updated 6 years ago

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 .

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.

Spring Profiles