Flexible and Extensible Digital Object and Repository Architecture
Flexible and Extensible Digital Object and Repository Architecture (FEDORA) June 29, 1999 Harvard University Sandra Payette Carl Lagoze Cornell University payette@cs. cornell. edu Cornell University lagoze@cs. cornell. edu http: //www. cs. cornell. edu/payette/presentations/fedora 99. ppt
Component-Ware Digital Libraries UI Gateway Service Collection Services Name Service Handles Index Services Digital Objects Repository Services
FEDORA: Goals • • • Normalization of content: via well-defined interfaces Interoperability: for digital objects and repositories Extensibility: naturally evolving type system Flexibility: community-driven type development Distribution: of content and services Rights management: leveraging existing/future schemes
FEDORA • Digital Object Model 8 container for aggregating any digital material 8 disseminations of complex types 8 rights management 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 • • • Kahn/Wilensky Warwick Framework Distributed Active Relationships Cornell FEDORA (Lagoze, Payette) CNRI Repository (Arms, Blanchi, Overly) CNRI/FEDORA - Interoperability Project Berkeley - Interoperability with MOA 2 objects U of Virginia - Complex Disseminators Project Prism (DLI 2)
Fedora Digital. Objects can be. . . • Simple, familiar entities • Complex, compound, dynamic objects
Multiple “views” of a Digital. Object Book Future Diary-MOA Dublin Core Data. Stream (MIME-typed byte 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 domain-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
Disseminator Design Principles • Stability • Orthogonality to Structure • Extensibility These are achieved in FEDORA through the architectural segregation of Digital. Object structure, mechanisms, and interfaces.
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 • A Disseminator Type. . . 8 becomes registered when the URN of the Digital. Object that disseminates its Signature is registered (in a DL name service) 8 becomes usable when the URN of the Digital. Object that disseminates its Servlet is registered • Other Digital. Objects can utilize Disseminator Types by referencing these URNs.
Access Management • Must have facilities to protect content • No single solution • Association of existing, external rights management schemes • Accommodate new schemes FEDORA applies same extensibility model to rights management. . .
Access. Manager Mechanisms Disseminator protected by Access. Manager URN 1 Get. DCField Get. DCRecord URNACL 1 DC application/ MARC ACL Mechanism text/x-acl Servlet Disseminator External Servlet Utilized
Current Status • FEDORA Implementation 8 CORBA IDL defines all component interfaces 8 Java/CORBA reference implementation 8 Java clients for building and accessing Digital. Objects • Initial Disseminator Types 8 Dublin Core 8 Image 8 Article/Technical Report 8 Book (with CNRI / Library of Congress)
Current Research and Collaborations • CNRI 8 interoperability 8 complex Disseminators 8 access manager component • Berkeley 8 integration of community-developed types (e. g. , MOA 2 documents) 8 XML for Digital. Object structure definition
Current Research (cont. ) • U of Virginia 8 complex disseminators (e. g. , e-text) 8 distributed content (e. g. , Data. Stream level) • Project Prism 8 security (associating enforceable policies and mechanisms with Digital. Objects) 8 preservation (enable long-term survival of Digital. Objects in distributed environment) • Project Harmony 8 aggregation and interaction of multiple, complex metadata sets in Digital. Objects
CNRI/Cornell Interoperability Project • Developed Joint Interface Definition 8 agreement on all conceptual abstractions 8 merger of RAP and FEDORA IDL • Separate repository implementations 8 CNRI using Visigenics ORB 8 Cornell using Iona’s Orbix. Web ORB • Test collections of Digital Objects 8 CNRI - Library Congress materials (books, journals, photographs, speeches) 8 Cornell - NCSTRL research collections
CNRI/Cornell Interoperability Experiments • IT 0: Fundamental Communication (10/98) 8 Inter-ORB communication 8 IDL recognition: request invocation; proper return types • IT 1: Functional Interoperability (12/98) 8 create/access Digital. Objects in each repository 8 exercise all operations on each other’s repositories • IT 2: Interoperability of Extensibility (3/99) 8 dynamic loading and running of remote servlets 8 full interchangeability of extensibility mechanisms 8 full integration of CNRI’s Handle System
Interoperable Fedora Repositories RAP Client Name Service Repository Handles Mo. A 2 Breen Mo. A 2 Archival. Objects NCSTRL
References • 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 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 • FEDORA Home Page http: //www. cs. cornell. edu/NCSTRL/CDLRG/FEDORA. html
- Slides: 27