Introduction
The Akubra Project is a new effort to provide a pluggable file storage interface that can be adapted to almost any storage subsystem. Akubra supports both ordinary and transactional storage systems, but makes simplifying assumptions in order to achieve a high level of interoperability between storage systems:
...
- a Blob is a finite-length bitstream with an id (a URI)
- a Blob Store is primarily concerned with providing read/write access to blobs.
On this page:
Table of Contents |
---|
News
- March 3rd, 2012 - Akubra 0.4.0 released. This release updates all runtime and test dependencies to their most recent versions. Implementations designed for 0.3.x should continue to work with 0.4.0 using the prior versions of these libraries as well. The following tracker items were addressed by this release:
- March 1st, 2012 - Akubra 0.3.1 released. This release fixes the following bugs with the akubra-fs implementation:
- March 13th, 2010 - Akubra 0.3 released. This release has no core API changes, but several important improvements:
- The core Akubra jars are now available in Maven Central
- All jars are now compiled for Java 6 (Java 5 has reached its End of Service Life)
- All jars now include OSGi metadata
- Logging is now done via SLF4J (was commons-logging)
- The JTA dependency is now to version 1.1 (was previously 1.0.1B)
- November 27th, 2009 - Akubra 0.2 released. This release:
- Uses the latest version of Derby for the akubra-txn implementation
- Repackages the Akubra classes under org.akubraproject
- April 30th, 2009 - Akubra 0.1 released.
Latest Downloads
...
(NOTE: Links will be updated shortly for 0.3...waiting for initial publication to central. - Chris)
& Javadocs
- Core API
[akubra-core-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-core/0.2/akubra-core-0.2.jar] \- The Core Akubra API \[[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/package-summary.html]\]Wiki Markup
- Base Implementations
[akubra-fs-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-fs/0.2/akubra-fs-0.2.jar] \- Simple filesystem implementation 4.0.jar - Simple filesystem implementation (non-transactional) \[ [javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/fs/FSBlobStore.html]\]unmigrated-wiki-markup[Wiki Markup - akubra-mem-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-mem/0.2/akubra-mem-0.2.jar] \- 4.0.jar - In-memory implementation (non-transactional) \ [[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/mem/MemBlobStore.html]\]unmigrated-wiki-markup[
- akubra-www-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-www/0.1/akubra-www-0.2.jar] \- Web implementation 4.0.jar - Web implementation (non-transactional, read-only) \ [[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/www/WWWStore.html]\]
- Layering Implementations
[akubra-map-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-map/0.2/akubra-map-0.2.jar]\- Wraps an existing BlobStore to provide a blob id mapping layer \[[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/map/IdMappingBlobStore.html]\]4.0.jar- Wraps an existing BlobStore to provide a blob id mapping layer [javadocs]Wiki Markup [akubra-mux-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-mux/0.2/akubra-mux-0.2.jar] \- Provides a unified view over any number of backing stores \[[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/mux/AbstractMuxStore.html]\]4.0.jar - Provides a unified view over any number of backing stores [javadocs]Wiki Markup [akubra-qsc-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-qsc/0.2/akubra-qsc-0.2.jar] \- Provides quiescing capability to a BlobStore \[[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/qsc/QuiescingBlobStore.html]\]4.0.jar - Provides quiescing capability to a BlobStore [javadocs]Wiki Markup [akubra-rmi-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-rmi/0.2/akubra-rmi-0.2.jar] \- Allows a BlobStore to be exposed and accessed remotely, via RMI \[[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/rmi/package-summary.html]\]4.0.jar - Allows a BlobStore to be exposed and accessed remotely, via RMI [javadocs]Wiki Markup [akubra-txn-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-txn/0.2/akubra-txn-0.2.jar] \- Uses Derby to provide transactional capabilities over a non-transactional store \[[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/txn/derby/package-summary.html]\]4.0.jar - Uses Derby to provide transactional capabilities over a non-transactional store [javadocs]Wiki Markup
- Utilities
[akubra-tck-0.2.jar|https://fedora-commons.org/m2/content/repositories/releases/org/akubraproject/akubra-tck/0.2/akubra-tck-0.2.jar] \- Technology Compatibility Kit for Akubra implementations \[[javadocs|http://fedora-commons.org/documentation/akubra/0.2/site/apidocs/org/akubraproject/tck/package-summary.html]\]Wiki Markup
Documentation
Known Third-Party Implementations
- akubra-caringo - Concrete implementation for the Dell DX Object Storage Platform
- akubra-bhle - Multiplexing implementation with short-term and long-term underlying stores
- atmosakubra-plugin - Concrete implementation for Atmos Cloud Storage System
- akubra-hdfs - Concrete implementation for Hadoop filesystems
- irods-akubra - (TBD) IRODS implementation
- Requirements and Goals
- Analysis of Existing Approaches
- Latest API Documentation (Javadocs)
- Latest Maven Site
Community
We invite you browse our mailing lists, or subscribe and join the conversation:
...
- *Akubra Users* \ [subscribe [via google|http://groups.google.com/group/akubra-users/subscribe] or [via email | mailto:akubra-users-subscribe@googlegroups.com] \| [view|http://groups.google.com/group/akubra-users/topics] \] \\ _General information, questions, release announcements, etc._
Wiki Markup *Akubra Developers* \[subscribe [via google|http://groups.google.com/group/akubra-dev/subscribe] or [via email|mailto:akubra-dev-subscribe@googlegroups.com] \| [view|http://groups.google.com/group/akubra-dev/topics] \| [original list archive|http://lists.topazproject.org/pipermail/akubra-dev/] \] \\ _Discussions pertaining the development of Akubra._
Wiki Markup *Akubra Codewatch* \[subscribe [via google|http://groups.google.com/group/akubra-codewatch/subscribe] or [via email|mailto:akubra-codewatch-subscribe@googlegroups.com] \| [view|http://groups.google.com/group/akubra-codewatch/topics] \] \\ _Intended for developers, this_ _{+}read-only{+}_ _list provides automatic notification of commits to the source code repository._
Source Code
You may download or browse the source code in our subversion repository at the following locations.
- ]
General information, questions, release announcements, etc. - Akubra Developers [subscribe via google or via email | view | original list archive ]
Discussions pertaining the development of Akubra. - Akubra Codewatch [subscribe via google or via email | view ]
Intended for developers, this read-only list provides automatic notification of commits to the source code repository.
Source Code
The source source repository is hosted at github:
- Browse: https://github.com/akubra/akubra
- Anonymous Clone: git clone git://github.com/akubra/akubra.git
- Committer Clone: git clone git@github.com:akubra/akubra.git
- Download: svn co https://fedora-commons.org/svn/root/akubra/trunk
- Browse: https://fedora-commons.org/svn/view/akubra/trunk
Note: You will need JDK 1.6+ and maven to build.
Coding conventions for this project are currently documented here (TODO:migrate here).
Issue Tracking
Bugs and features for this project will be are tracked here.