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:
In Akubra:
- 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.
News
- 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.
Downloads
(NOTE: Links will be updated shortly for 0.3...waiting for initial publication to central. - Chris)
- Core API
akubra-core-0.2.jar - The Core Akubra API [javadocs]
- Base Implementations
akubra-fs-0.2.jar - Simple filesystem implementation (non-transactional) [javadocs]
akubra-mem-0.2.jar - In-memory implementation (non-transactional) [javadocs]
akubra-www-0.2.jar - Web implementation (non-transactional, read-only) [javadocs]
- Layering Implementations
akubra-map-0.2.jar- Wraps an existing BlobStore to provide a blob id mapping layer [javadocs]
akubra-mux-0.2.jar - Provides a unified view over any number of backing stores [javadocs]
akubra-qsc-0.2.jar - Provides quiescing capability to a BlobStore [javadocs]
akubra-rmi-0.2.jar - Allows a BlobStore to be exposed and accessed remotely, via RMI [javadocs]
akubra-txn-0.2.jar - Uses Derby to provide transactional capabilities over a non-transactional store [javadocs]
- Utilities
akubra-tck-0.2.jar - Technology Compatibility Kit for Akubra implementations [javadocs]
Documentation
- 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 or via email | view ]
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
You may download or browse the source code in our subversion repository at the following locations.
- 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, update @inheritDoc stuff).
Issue Tracking
Bugs and features for this project will be tracked here.