Title: Flexible and Extensible Digital Object and Repository Architecture (FEDORA)
1Flexible and Extensible Digital Object and
Repository Architecture (FEDORA)
Sandra Payette Cornell University payette_at_cs.corne
ll.edu
CS 502 Computing Methods for Digital
Libraries April 20, 2000
2Component-Ware Digital Libraries
User Gateway Service
Name Service
Collection Services
Index Services
Digital Objects
Repository Services
3FEDORA Goals
- Distribution - of digital content and services
- Interface Stability - for digital objects
- Interoperability - for digital objects and
repositories - Extensibility - naturally evolving type system
- Flexibility - community-driven type development
- Security - rights management and access control
- Preservation - longevity of digital objects
4FEDORA
- Digital Object
- container for aggregating any digital material
- disseminations of complex types
- global extensibility mechanisms
- Repository
- Service layer for contained DigitalObjects
- Object lifecycle management
- Secure environment for running mobile code
5FEDORA History
- Digital Object vision (Kahn/Wilensky)
- Warwick Framework (container model)
- Distributed Active Relationships (Lagoze)
- Cornell FEDORA (Payette, Lagoze)
- CNRI Repository (Arms, Blanchi, Overly)
- CNRI/FEDORA Interoperability Project
- UVA/FEDORA (Staples, Weyland) - Complex
disseminators, XML/XSL, web integration - Project Prism (DLI2) Security, preservation
- Lecture Browser (Mukhopadhyay, Newman)
6Fedora DigitalObjects can be...
- Simple, familiar entities
- Complex, compound, dynamic objects
7FEDORA DigitalObject Model
MIME-typed stream of bytes
Book
Service Request upon external source
Internal DataStream
Reference DataStream
8Digital Object is...
getSection getArticle
getTrack getLabel
getChapter getPage
getFrame getLength
recognizable by what it can do
9Disseminator Type
- A set of behaviors that formally describes the
functionality of any global or community-specific
notion of content.
10Disseminator
- A generic component that associates
- a set of behaviors with a DigitalObject.
Extensible Type Disseminator
Generic behaviors
Extended behaviors
11FEDORA DigitalObject
Extensible Behavior Layer
Primitive Disseminator
Structural Kernel
12Client communicates with generic requests
GetChapter GetTOC GetPage
13DigitalObject Interface Stability
Disseminator Type
Interface
14DigitalObject Extensibility Adding New Types
Book
The same underlying data...
Mechanism
Structure
Interface
15A Disseminator is a Generic Component...
that references another FEDORA
DigitalObject that disseminates a servlet
DataStreams DS1 TypeID URNDC1
GetDCField GetDCRecord
DC
application/ MARC
DS1
GetMethods(DC)
application/ postscript
DS2
GetDCField(e), GetDCRecord
to produce non-generic behaviors
16Extensibility a look under the hood
CTID URNDC1
DC
application/ MARC
application/ postscript
Digital Object attains its extended behaviors
through association and delegation
17Registration and Proliferation of Disseminator
Types
- Disseminator Types registered in the Handle
System - visible when URN of a Signature is registered
- usable when URN of a Servlet is registered
- Other DigitalObjects can use Disseminator Types
by referencing these URNs.
Fedora Repository
18Big Picture Cooperation among non-cooperating
sources
Learning Object
Video Archive
Library Catalog
Museum Image Database
19Big Picture Interoperable Repositories
RAP Client
Name Service
Repository
Repository
Repository
Repository
Cornell Library Collections
NCSTRL
Cornell CS Lectures
20Current Status
- FEDORA Implementation
- CORBA IDL defines all component interfaces
- Java/CORBA reference implementation (Fedora
server and GUI client). - Experimental Disseminator Types
- Dublin Core
- Image
- Article/Technical Report
- Book (with CNRI / Library of Congress)
- Lecture Object (video, slides)
21Current Work Security
- Access Control for Digital Objects
- Monitor all operations, generic and extended
- Security Automata (Schneider)
- Policy-carrying, policy-enforcing Digital Objects
using - PoET (Erlingsson and Schneider)
- Fedora (Payette, Lagoze, Dushay)
22AccessManager
Disseminator protected by an AccessManager. The
DC Servlet is a piece of mobile code that is
dynamically in-lined with the policy for the
object.
URN1
URNDC1
GetDCField GetDCRecord
DC
MARC
policy
Remote Servlet Utilized
23Future Work Preservation Augmented
DigitalObjects
Sets of methods we will define
Preserve
Book
P
preservation metadata
DS1
application/ postscript
DS2
Preservation Service
24Future Preservation Policy Enforcement
Preservation Surrogate Object
Monitors DigitalObject state and catches
unacceptable, or risky transitions
policy
Preservation Service
25References
- FEDORA Home Page, http//www.cs.cornell.edu/cdlrg
/fedora.html - Payette, Blanchi, Lagoze, and Overly
Interoperability for Digital Objects and
Repositories The Cornell/CNRI Experiments,
D-Lib Magazine, May 1999, http//www.dlib.org/dlib
/may99/payette/05payette.html - Payette and Lagoze Flexible and Extensible
Digital Object and Repository Architecture
(FEDORA), ECDL 1998, http//www.cs.cornell.edu/pay
ette/papers/ECDL98/FEDORA.html - Lagoze and Payette An Infrastructure for
Open-Architecture Digital Libraries, Technical
Report, 1998 http//ncstrl.cs.cornell.edu/Dienst/U
I/1.0/Display/ncstrl.cornell/TR98-1690 - Daniel, Lagoze, and Payette, A Metadata
Architecture for Digital Libraries, IEEE ADL
1998, http//www.cs.cornell.edu/lagoze/papers/ADL9
8/dar-adl.html
26References cont.
- Schneider, Fred B., Enforceable Security
Policies, Technical Report, Department of
Computer Science, Cornell University, July
1999,http//cs-tr.cs.cornell.edu80/Dienst/UI/1.0
/Display/ncstrl.cornell/TR99-1759 - Erlingsson, Ulfar and Fred Schneider, SASI
Enforcement of Security Policies A
Retrospective, Technical Report , Department of
Computer Science, Cornell University, July 1999,
http//cs-tr.cs.cornell.edu80/Dienst/UI/1.0/Disp
lay/ncstrl.cornell/TR99-1758 - Erlingsson, Ulfar and Fred Schneider, IRM
Enforcement of Java Stack Inspection, Technical
Report , Department of Computer Science, Cornell
University, February 2000,http//cs-tr.cs.cornell
.edu80/Dienst/UI/1.0/Display/ncstrl.cornell/TR200
0-1786