Versions Compared

Key

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


Table of Contents

Children

Children Display

Goals

  1. Preservation storage
  2. Simplicity
  3. Performance

Implementation Plan

  1. Remove Modeshape (done)
  2. Create 2-3 APIs to allow plugging in new backends
  3. Implement OCFL 

Major CRUD-Related Interfaces (Out of date)

Gliffy Diagram
nameMajor interfaces and their interactions
pagePin14

Use Case:  Simple OCFL - based implementation

Gliffy Diagram
nameSimple OCFL implementation
pagePin6

OCFL Client with persistent database as authoritative metadata source

Gliffy Diagram
nameocfl client with database as authoritative metadata source
pagePin8
 

Use Case -  Horizontally-Scaled Fedora Instances Running against a single OCFL

Gliffy Diagram
namehorizontally scaled fedora
pagePin9
 

WIP:  Persistent vs Derived Application State

This diagram highlights the logical division of persistent content as well a derived state that persists across instance restarts.

Gliffy Diagram
namePersistent Storage
pagePin6

WIP:  Fedora Session to OCFL Session Management - try to understand how Fedora Transactions (managed by FedoraSession) would map to a set of OCFL Sessions.

The problem:  A Fedora transaction may span multiple HTTP Requests.   Assuming that we do not want to commit anything to OCFL until the Fedora Transaction is committed, how do we maintain the state of open OCFL Sessions

across requests.  How also do we ensure that two requests using the same transaction ID do not stomp on each other?   It seems that this is only becomes a problem if we want to support autoscaling of Fedora instances.

...

  1. (done)
  2. Implement OCFL - Fedora  interaction

OCFL Representation of Fedora Resources: