Flexible and Extensible Digital Object and Repository Architecture
Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs. cornell. edu CS 502 Computing Methods for Digital Libraries April 20, 2000
Component-Ware Digital Libraries User Gateway Service Collection Services Name Service Handles Index Services Repository Services Digital Objects
FEDORA: 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
FEDORA • Digital Object 8 container for aggregating any digital material 8 disseminations of complex types 8 global extensibility mechanisms • Repository 8 Service layer for “contained” Digital. Objects 8 Object lifecycle management 8 Secure environment for running mobile code
FEDORA 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 (DLI 2) – Security, preservation • Lecture Browser (Mukhopadhyay, Newman)
Fedora Digital. Objects can be. . . • Simple, familiar entities • Complex, compound, dynamic objects
FEDORA Digital. Object Model MIME-typed stream of bytes Diary-MOA Future Type Book Dublin Core Internal Data. Stream Service Request upon external source Reference Data. Stream
Digital Object is. . . get. Section get. Article get. Track get. Label get. Chapter get. Page get. Frame get. Length recognizable by what it can do
Disseminator Type A set of behaviors that formally describes the functionality of any global or community-specific notion of content.
Disseminator A generic component that associates a set of behaviors with a Digital. Object. Primitive Disseminator Extensible Type Disseminator Generic behaviors Extended behaviors
FEDORA Digital. Object Extensible Behavior Layer application/ postscript application/ MARC Primitive Disseminator Structural Kernel
Client communicates with generic requests Get. Chapter Get. TOC Get. Page List. Disseminator. Types Book Disseminator Dublin. Core Disseminator Book, Dublin. Core Get. Methods(Book) Get. Chapter(n), Get. Page(n), Get. TOC() Get. Dissemination (Book. Get. Page(1)) application/ MARC DS 1 application/ postscript DS 2 Primitive Disseminator
Digital. Object Interface Stability Mechanisms can be updated or replaced as technology changes. . . Disseminator Type … and the interface to the Digital Object remains stable Structure Mechanism Interface
Digital. Object Extensibility: Book Adding New Types Pho Coll to ect Book The same underlying data. . . Structure can be operated on in novel ways… Mechanism Photo Collection to create new disseminations not originally conceived of for the particular digital object. Interface
A Disseminator is a Generic Component. . . … that references another FEDORA Digital. Object that disseminates a servlet Data. Streams Type. ID = URNDC 1 Get. DCField Get. DCRecord DC Get. Methods(DC) Get. DCField(e), Get. DCRecord … to produce non-generic behaviors = DS 1 application/ MARC DS 1 application/ postscript DS 2
Extensibility: a look under the hood DC servlet URNDC 1 CTID = URNDC 1 DC DC Mechanism application/ postscript Digital Object attains its extended behaviors through association and delegation URNDC Signature Disseminator DC Method. List Servlet Disseminator C si G gn G et et D at D C ur C Fi e R e ec ld or d Dublin. Core Record application/ MARC D Get. Dissemination( Get. DCRecord)
Registration and Proliferation of Disseminator Types • Disseminator Types registered in the Handle System 8 visible when URN of a Signature is registered 8 usable when URN of a Servlet is registered • Other Digital. Objects can use Disseminator Types by referencing these URNs. Handle System Fedora Repository
Big Picture: Cooperation among non-cooperating sources Learning Object Get. Dissemination( Get. Lesson(1)) Lesson 1 module Library Catalog Museum Image Database Video Archive
Big Picture: Interoperable Repositories RAP Client Name Service Repository Handles Cornell Library Collections Cornell CS Lectures NCSTRL
Current Status • FEDORA Implementation 8 CORBA IDL defines all component interfaces 8 Java/CORBA reference implementation (Fedora server and GUI client). • Experimental Disseminator Types 8 Dublin Core 8 Image 8 Article/Technical Report 8 Book (with CNRI / Library of Congress) 8 Lecture Object (video, slides)
Current Work: Security • • Access Control for Digital Objects Monitor all operations, generic and extended Security Automata (Schneider) Policy-carrying, policy-enforcing Digital Objects using : 8 Po. ET (Erlingsson and Schneider) 8 Fedora (Payette, Lagoze, Dushay)
Access. Manager Disseminator protected by an Access. Manager. The DC Servlet is a piece of mobile code that is dynamically “in-lined” with the policy for the object. URN 1 Get. DCField Get. DCRecord URNDC 1 DC MARC DC Mechanism policy Servlet Disseminator Remote Servlet Utilized
Future Work: Preservation Augmented Digital. Objects Sets of methods we will define Book Preserve P Preservation Service preservation metadata DS 1 application/ postscript DS 2
Future: Preservation Policy Enforcement Preservation Surrogate Object Monitors Digital. Object state and catches unacceptable, or risky transitions policy Book Preserve P Preservation Service preservation Metadata DS 1 application/ postscript DS 2
References • 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/may 99/payette/05 payette. html • Payette and Lagoze: Flexible and Extensible Digital Object and Repository Architecture (FEDORA), ECDL 1998, http: //www. cs. cornell. edu/payette/papers/ECDL 98/FEDORA. html • Lagoze and Payette: An Infrastructure for Open-Architecture Digital Libraries, Technical Report, 1998 http: //ncstrl. cs. cornell. edu/Dienst/UI/1. 0/Display/ncstrl. cornell/TR 98 -1690 • Daniel, Lagoze, and Payette, A Metadata Architecture for Digital Libraries, IEEE ADL 1998, http: //www. cs. cornell. edu/lagoze/papers/ADL 98/dar-adl. html
References cont. • Schneider, Fred B. , Enforceable Security Policies, Technical Report, Department of Computer Science, Cornell University, July 1999, http: //cs-tr. cs. cornell. edu: 80/Dienst/UI/1. 0/Display/ncstrl. cornell/TR 99 -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. edu: 80/Dienst/UI/1. 0/Display/ncstrl. cornell/TR 99 -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. edu: 80/Dienst/UI/1. 0/Display/ncstrl. cornell/TR 2000 -1786
- Slides: 26