Fedora Fourward
Perennial Goals
No bugs
Excellent performance
Excellent scalability
Trivial installation
Pluggable modules
Runtime configurability ...
Strategic Goals
Standards-based RESTful API
Unpacked
Initial API State
HTTP
F4
REST API
(CRUD, Fixity, AuthZ, Atomicity, Versions)
Fedora 4
Implementation
Partition API
HTTP
Fedora 4
Implementation
F4
REST API
(CRUD)
F4
REST API
(Fixity)
F4
REST API
(AuthZ)
F4
REST API
(Atomicity)
F4
REST API
(Versions)
Adopt Standards
HTTP
Fedora 4
Implementation
LDP
REST API
(CRUD)
F4
REST API
(Fixity)
WebAC
REST API
(AuthZ)
F4
REST API
(Atomicity)
Memento
REST API
(Versions)
Specify APIs
HTTP
Fedora 4
Implementation
Core
Ontology
Core
TCK
Core
Ontology
Core
TCK
LDP
REST API
(CRUD)
F4
REST API
(Fixity)
WebAC
REST API
(AuthZ)
F4
REST API
(Atomicity)
Memento
REST API
(Versions)
Decouple Impl / API
HTTP
Fedora 4
Implementation
Version
Independently
Version
Independently
Core
Ontology
Core
TCK
Core
Ontology
Core
TCK
LDP
REST API
(CRUD)
F4
REST API
(Fixity)
WebAC
REST API
(AuthZ)
F4
REST API
(Atomicity)
Memento
REST API
(Versions)
Leverage Tooling
HTTP
Fedora 4
Implementation
Version
Independently
Version
Independently
LDP
Implementation
Memento
Implementation
Core
Ontology
Core
TCK
Core
Ontology
Core
TCK
LDP
REST API
(CRUD)
F4
REST API
(Fixity)
WebAC
REST API
(AuthZ)
F4
REST API
(Atomicity)
Memento
REST API
(Versions)
Standards-based RESTful API
Benefits
Coupled to standards (not Fedora-isms)
Web-community best practices
Client-side tooling
Server-side flexibility
Interoperability
Unpacked
Interoperability
Benefits
Community-wide
Easy in / Easy out
Portability of Data
Unpacked
Portability of Data
Benefits
Fedora version independence
Repository system independence
Preservation strategy
Reflections?