Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • They each provide a means to read and write persistent files with unique ids.
  • They were designed with back-end pluggability in mind.
  • They are not concerned with directory/folder semantics.
  • They are not concerned with versioning semantics, but may allow files to be overwritten.

APIs and Implementations

API

Language

Target Application(s)

Known Implementations

ALF-API: Alfresco ContentStore

Java

Alfresco CMS

ALF-FS: FileContentStore
ALF-HTT: HttpAlfrescoStore
ALF-REP: ReplicatingContentStore
ALF-ROU: TenantRoutingFileContentStore

JKRBIT-API: JackRabbit BLOBStore DSpace BitStore

Java

DSpace 2 (Unreleased)

BIT-FS: DSBitStore
BIT-SRB: SRBBitStore
BIT-S3: S3BitStore
BIT-FED: FedoraBitStore
BIT-HON: HoneycombBitStore

DJA-API: Django FileStorage

Python

Any Web Application

DJA-FS: DefaultStorage
DJA-S3: S3

Java

Apache JackRabbit

JKR-DB: DbBlobStore
JKR-FS: FileSystemBLOBStore

DSY-API: Daisy BlobStore

Java

Daisy CMS

DSY-FS: FSBlobStore

BITEBS-API: DSpace BitStore

Java

DSpace 2 (Unreleased)

Windows Sharepoint EBS

COM

MS SQL Server

EBSBIT-FS: DSBitStore Custom ImplementationBIT

JKR-SRB: SRBBitStore
BIT-S3: S3BitStore
BIT-FED: FedoraBitStore
BIT-HON: HoneycombBitStore API: JackRabbit BLOBStore

Java

Apache JackRabbit

JKR-DB: DbBlobStore
JKR-FS: FileSystemBLOBStore

LLS-API: Fedora ILowLevelStorage

Java

Fedora Repository (2.x to 3.1)

LLS-FS: GenericFileSystem
LLS-IRD: iRODS
LLS-HON: Honeycomb
LLS-S3: S3
LLS-SRB1: SRB via Server Extensions
LLS-SRB2: SRB via DART FedoraDB Module

XAM-API: SNIA XAM API

Java / C

Any Fixed Content Repository

XAM-CNT: EMC Centera
XAM-IAP: HP IAP XAM-HON: Honeycomb

OTM-API: Topaz OTM BlobStore

Java

Topaz OTM

OTM-FED: FedoraBlobStore
OTM-FS: SimpleBlobStore

EBSXAM-API: Windows Sharepoint EBS

COM

MS SQL Server

EBS-FS: Custom Implementation

SNIA XAM API

Java / C

Any Fixed Content Repository

XAM-CNT: EMC Centera
XAM-IAP: HP IAP
XAM-HON: Honeycomb

DJA-API: Django FileStorage

Python

Any Web Application

DJA-FS: DefaultStorage
DJA-S3: S3

Supported Capabilities

  • Ids
    • Supported ID types?
    • Can be store-generated?
    • Can be user-provided?
  • Content Rewritable?
  • Readonly Metadata
    • Which are impls expected to provide for reading?
  • Settable Metadata
    • Which are impls expected to provide for writing?
    • Extensible?
  • Transactional
    • Supported by API?
    • Required by impls?
    • Two-phase commit?

Other APIs/Implementations of Interest