flexible and extensible digital object and repository architecture (fedora) sandra payette cornell...

27
Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University [email protected] u June 29, 1999 Harvard University http://www.cs.cornell.edu/payette/presentations/ fedora99.ppt Carl Lagoze Cornell University [email protected]

Post on 20-Dec-2015

254 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Flexible and Extensible Digital Object and Repository Architecture

(FEDORA)

Sandra PayetteCornell University

[email protected]

June 29, 1999

Harvard University

http://www.cs.cornell.edu/payette/presentations/fedora99.ppt

Carl LagozeCornell University

[email protected]

Page 2: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Repository Services

Component-Ware Digital Libraries

Collection Services

Index Services

Handles

NameService

DigitalObjects

UI GatewayService

Page 3: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

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

Page 4: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

FEDORA

• Digital Object Model container for aggregating any digital material disseminations of complex types rights management global extensibility mechanisms

• Repository Service layer for “contained” DigitalObjects Object lifecycle management Secure environment for running mobile code

Page 5: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

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 MOA2 objects

• U of Virginia - Complex Disseminators

• Project Prism (DLI2)

Page 6: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Fedora DigitalObjects can be...

• Simple, familiar entities

• Complex, compound, dynamic objects

Page 7: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

DublinCore

Book

Fu

ture

Dia

ry-MO

A

Multiple “views” of a DigitalObject

DataStream (MIME-typed byte stream)

Page 8: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Digital Object is...

recognizable by what it can do

getChaptergetPage

getTrackgetLabel

getSectiongetArticle

getFramegetLength

Page 9: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Disseminator Type

A set of behaviors that formally describes the functionality of any global

or domain-specific notion of content.

Page 10: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Disseminator

A generic component that associates

a set of behaviors with a DigitalObject.

PrimitiveDisseminator

Extensible Type Disseminator

Generic behaviors Extended behaviors

Page 11: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

FEDORA DigitalObject

application/postscript

application/MARC

PrimitiveDisseminator

Structural Kernel

Extensible Behavior Layer

Page 12: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

application/MARC DS1

application/postscript DS2

PrimitiveDisseminator

Client communicates with generic requests

Book, DublinCore

ListDisseminatorTypesBook

DisseminatorDublinCore

Disseminator

GetDissemination(Book.GetPage(1))

GetChapterGetTOCGetPage

GetChapter(n), GetPage(n),GetTOC()

GetMethods(Book)

Page 13: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Disseminator Design Principles

• Stability

• Orthogonality to Structure

• Extensibility

These are achieved in FEDORA through the architectural segregation of DigitalObject structure, mechanisms, and interfaces.

Page 14: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

DigitalObject Interface Stability

MechanismStructure Interface

Disseminator Type

Mechanisms can be updated or replaced as technology changes ...

… and the interface tothe Digital Object

remains stable

Page 15: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

DigitalObject Extensibility: Adding New Types

MechanismStructure Interface

Book

The sameunderlyingdata...

Boo

k

can be operatedon in novel ways…

Photo Collection

to create new disseminationsnot originally conceived of

for the particular digital object.

Pho

toC

olle

ct

Page 16: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

A Disseminator is a Generic Component...

… that references another FEDORA DigitalObjectthat disseminates a servlet

GetDCField(e), GetDCRecord

GetMethods(DC)

application/MARC

GetDCFieldGetDCRecord

DC

DS1

application/postscript

DS2

DataStreams = DS1

TypeID = URNDC1

… to produce non-generic behaviors

Page 17: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Extensibility: a look under the hood

application/MARC

DC servlet

application/postscriptDublinCore

Record

GetDissemination( GetDCRecord)

DC

CTID = URNDC1

DC sign

atur

e

GetDCFie

ld

GetDCRec

ord

DCMethodListSignature

Disseminator

URNDC

DC Mechanism

ServletDisseminator

URNDC1

Digital Object attains its extended behaviors through association and delegation

Page 18: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Registration and Proliferation of Disseminator Types

• A Disseminator Type ... becomes registered when the URN of the

DigitalObject that disseminates its Signature is registered (in a DL name service)

becomes usable when the URN of the DigitalObject that disseminates its Servlet is registered

• Other DigitalObjects can utilize Disseminator Types by referencing these URNs.

Page 19: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

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 ...

Page 20: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

AccessManager Mechanisms

application/MARC

text/x-acl

DC

ACLMechanism

ServletDisseminator

URNACL1URN1

GetDCFieldGetDCRecord

Disseminator protected by AccessManager

External Servlet Utilized

Page 21: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Current Status

• FEDORA Implementation CORBA IDL defines all component interfaces Java/CORBA reference implementation Java clients for building and accessing

DigitalObjects

• Initial Disseminator Types Dublin Core Image Article/Technical Report Book (with CNRI / Library of Congress)

Page 22: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Current Research and Collaborations

• CNRI interoperability complex Disseminators access manager component

• Berkeley integration of community-developed types

(e.g., MOA2 documents) XML for DigitalObject structure definition

Page 23: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Current Research (cont.)

• U of Virginia complex disseminators (e.g., e-text) distributed content (e.g., DataStream level)

• Project Prism security (associating enforceable policies

and mechanisms with DigitalObjects) preservation (enable long-term survival of

DigitalObjects in distributed environment)

• Project Harmony aggregation and interaction of multiple,

complex metadata sets in DigitalObjects

Page 24: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

CNRI/Cornell Interoperability Project

• Developed Joint Interface Definition agreement on all conceptual abstractions merger of RAP and FEDORA IDL

• Separate repository implementations CNRI using Visigenics ORB Cornell using Iona’s OrbixWeb ORB

• Test collections of Digital Objects CNRI - Library Congress materials (books, journals,

photographs, speeches) Cornell - NCSTRL research collections

Page 25: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

CNRI/Cornell Interoperability Experiments

• IT0: Fundamental Communication (10/98) Inter-ORB communication IDL recognition: request invocation; proper return types

• IT1: Functional Interoperability (12/98) create/access DigitalObjects in each repository exercise all operations on each other’s repositories

• IT2: Interoperability of Extensibility (3/99) dynamic loading and running of remote servlets full interchangeability of extensibility mechanisms full integration of CNRI’s Handle System

Page 26: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

Repository

Interoperable Fedora Repositories

Handles

NameService

MoA2-Breen

MoA2 ArchivalObjects

RAP Client

NCSTRL

Repository Repository Repository

Page 27: Flexible and Extensible Digital Object and Repository Architecture (FEDORA) Sandra Payette Cornell University payette@cs.cornell.edu June 29, 1999 Harvard

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/may99/payette/05payette.html

• Payette and Lagoze: Flexible and Extensible Digital Object and Repository Architecture (FEDORA), ECDL 1998. http://www.cs.cornell.edu/payette/papers/ECDL98/FEDORA.html

• Lagoze and Payette: An Infrastructure for Open-Architecture Digital Libraries http://ncstrl.cs.cornell.edu/Dienst/UI/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/ADL98/dar-adl.html

• FEDORA Home Page http://www.cs.cornell.edu/NCSTRL/CDLRG/FEDORA.html