You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 29 Next »

The APIs listed on this page have the following attributes in common:

  • 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

Capability Matrix

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

AKU-API

URI

User or Store

Yes

Yes

Size

?

All
By Prefix

Optional, JTA

AKU-FS

file:/// URI

Store

Yes

Yes

Size

None

All
By Prefix

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

ALF-API

URL

User or Store

Yes

Yes

Size
Last-Modified

None

All
Last-Modified Range

Optional, JTA

ALF-FS

store:// URL

User or Store

Yes

Yes

Size
Last-Modified

None

All
Last-Modified Range

Optional, JTA

ALF-HTT

http:// URL

N/A

No

No

Size
Last-Modified

None

None

Optional, JTA

ALF-REP

URL

User or Store

Yes

Yes

Size
Last-Modified

None

All
Last-Modified Range

Optional, JTA

ALF-ROU

URL

User or Store

Yes

Yes

Size
Last-Modified

None

All
Last-Modified Range

Optional, JTA

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

BIT-API

Unicode String

User or Store

Yes

Yes

Any (Map)

None

None

No

BIT-FED

(NCNameChar)*

User or Store

Yes

No

Size
Checksum (Multiple types)
Last-Modified

None

None

No

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="f51438bf-99fa-4c82-a4c3-3efc9beaf5d0"><ac:plain-text-body><![CDATA[

BIT-FS

([0-9]){38,40}

User or Store

Yes

Yes

Size
]]></ac:plain-text-body></ac:structured-macro>
MD5 Checksum
Last-Modified

None

None

No

BIT-HON

?

?

?

?

?

None

None

No

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e313d57a-4e99-458e-8cee-50b40b337682"><ac:plain-text-body><![CDATA[

BIT-S3

([0-9]){38,40}

User or Store

Yes

Yes

Size
]]></ac:plain-text-body></ac:structured-macro>
MD5 Checksum
Last-Modified

None

None

No

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="6856d924-be25-48ea-8c98-ad76c9f10ab8"><ac:plain-text-body><![CDATA[

BIT-SRB

([0-9]){38,40}

User or Store

Yes

Yes

Size
]]></ac:plain-text-body></ac:structured-macro>
MD5 Checksum

None

None

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

DJA-API

Unicode String

User

Yes

Yes

Size
URL for Reading

None

None

No

DJA-FS

Unicode String

User

Yes

Yes

Size
URL for Reading

None

None

No

DJA-S3

Unicode String

User

Yes

Yes

Size
URL for Reading

None

None

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

DSY-API

Unicode String

Store

Yes

No

None

None

None

No

DSY-FS

Unicode String

Store

Yes

No

None

None

None

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="fb052eb7-f25c-4bc2-aec3-da88b2c844dd"><ac:plain-text-body><![CDATA[

EBS-API

byte[]

Store

Yes

No

Size
]]></ac:plain-text-body></ac:structured-macro>
Last-Modified
Created
Accessed

None

None

No

EBS-FS

GUID or String

Store

Yes

No

Size
Last-Modified
Created
Accessed

None

None

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

JKB-API

Unicode String

Store

Yes

Yes

None

None

None

No

JKB-DB

propertyId + index

Store

Yes

Yes

None

None

None

No

JKB-FS

Filesystem Path

Store

Yes

Yes

None

None

None

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

JKD-API

Hex String

Store

Yes

No

Size
Last-Modified

None

All

No

JKD-DB

SHA-1 Digest of Content

Store

Yes

No

Size
Last-Modified

None

All

No

JKD-FS

SHA-1 Digest of Content

Store

Yes

No

Size
Last-Modified

None

All

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

LLS-API

pid or pid + dsId

User

Yes

Yes

None

None

None

No

LLS-FS

pid or pid + dsId

User

Yes

Yes

None

None

None

No

LLS-HON

pid or pid + dsId

User

Yes

Yes

None

None

None

No

LLS-IRD

pid or pid + dsId

User

Yes

Yes

None

None

None

No

LLS-S3

pid or pid + dsId

User

Yes

Yes

None

None

None

No

LLS-SRB1

pid or pid + dsId

User

Yes

Yes

None

None

None

No

LLS-SRB2

pid or pid + dsId

User

Yes

Yes

None

None

None

No

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

OTM-API

Unicode String

User

Yes

No

None

None

None

Optional, JTA

OTM-FED

Unicode String

User

Yes

No

None

None

None

Best-effort, JTA

OTM-FS

Unicode String

User

Yes

No

None

None

None

Yes, JTA

API/Impl

ID Type

ID Gen

Write?

Rewrite?

Read-Only MD

Writable MD

Listing Options

Transactions

XAM-API

XUID

Store

Yes

No*

Last-Modified
Created
Accessed

Several Predefined
Custom*

All
SQL-Like Queries

No

XAM-CEN

XUID

Store

Yes

No*

Last-Modified
Created
Accessed

Several Predefined
Custom*

All
SQL-Like Queries

No

XAM-HON

XUID

Store

Yes

No*

Last-Modified
Created
Accessed

Several Predefined
Custom*

All
SQL-Like Queries

No

XAM-IAP

XUID

Store

Yes

No*

Last-Modified
Created
Accessed

Several Predefined
Custom*

All
SQL-Like Queries

No

* XAM is designed with a fixed-content assumption – data cannot be modified without changing its XUID. All metadata fields are either binding or non-binding. Binding metadata cannot change while keeping the same XUID for an XSet, while non-binding metadata can.

Other APIs/Implementations of Interest

  • No labels