43
Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox

Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Introducing Fedora 4Overview, examples, and features

David Wilcox, DuraSpace@d_wilcox

Page 2: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

https://goo.gl/9K9rlk

Page 3: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Learning Outcomes

Understand the purpose of a Fedora repository

Learn what Fedora can do for you

Understand the key capabilities of the software

Page 4: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Fedora Facts Managed by DuraSpace (not-for-profit)

Funded by the community

Collaboratively developed by the community

Supported by 2 full-time staff members (not developers)

Page 5: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose
Page 6: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Flexible Extensible Durable Object Repository Architecture

Concept

Implementation

Community

Page 7: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Fedora...

Stores, preserves, and provides access to digital objects

Supports flexible and complex content models for objects

Supports complex semantic relationships between objects inside and outside the repository using RDF

Supports millions of objects, both large and small

Interoperates with other applications and services

Page 8: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Why use Fedora?

Fedora is flexible: it can handle both simple and complex use cases

Content in Fedora is durable: Fedora supports long-term preservation

Fedora powers successful digital repository and DAM applications

Fedora is standards-based

Fedora is backed by a thriving community

Page 9: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Fedora Front-Ends

Fedora is middleware

You can build a custom framework, or join a broader community:

Page 10: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Fedora Examples

Page 11: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Institutional Repository

https://scholarsphere.psu.edu/

Page 12: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Research Data

https://era.library.ualberta.ca/

Page 13: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Manuscripts

https://archbishopsregisters.york.ac.uk

Page 14: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Archives and Special Collections

http://digitalcollections.barnard.edu

Page 15: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Basic Concepts

Page 16: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Web Resources

Everything is a web resource with a URI

Resources have properties expressed as RDF triples

Resources can contain other resources (containers) or files (binaries)

Page 17: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Book Example

Book Collection

Book 1

Book 2

Page 2

Page 1

Page 2

Page 1

Page1.jpg

Page1.tiff

Page2.tiff

Page2.jpg

Page2.tiff

Page2.jpg

Page1.tiff

Page1.jpg

Container

Binary

Page 18: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

RDF Properties

Page 19: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Core Features

Page 20: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Fedora as an Implementation (up to 4.6.x)

Page 21: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Fedora as an Implementation (4.7+)

Page 22: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Aligning with standards

Focal point for community discussion and consensus on what a Fedora repository does

Enables standard client libraries

Enables standard server components

Fedora as an API

Page 23: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Standards

Focus on existing standards

Fewer customizations to maintain

Opportunities to participate in related communities

Page 24: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Core Features and Standards

1. Create/Read/Update/Delete - Linked Data Platform ✔

2. Versioning - Memento

3. Authorization - WebAC ✔

4. Batch Operations

5. Fixity

Page 25: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Versioning

Versions can be created on demand via the REST-API

A previous version can be restored via the REST-API

Page 26: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Authorization

Authorization is optional and pluggable

Currently, four authorization implementations exist: None, WebAC, Role-based and XACML

Page 27: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Web Access Control

W3C approach for managing authorization using linked data

Interoperable with other applications that implement the same approach

Implemented in Fedora 4 by community stakeholders

Page 28: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Batch Operations

Multiple actions can be bundled together into a single repository event

Batch operations can be rolled back or committed

Can be used to maintain consistency

Page 29: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Fixity

Over time, digital objects can become corrupt

Fixity checks help preserve digital objects by verifying their integrity

On ingest, Fedora can verify a user-provided checksum against the calculated value

A checksum can be recalculated and compared at any time via a REST-API request

Page 30: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Messaging*

Fedora emits JMS messages on repository events

Message body is RDF, serialized to JSON-LD (default)

Messaging allows external integrations to react asynchronously to events

Page 31: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

External Services

Page 32: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Two Feature Types

1) Optional, pluggable components

Separate projects that can interact with Fedora 4 using a common pattern

2) External components

Consume and act off repository messages

Page 33: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

External Component Integrations

Leverages the well-supported Apache Camel project

Camel is middleware for integration with external systems

Can handle any asynchronous, event-driven workflow

Page 34: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

External Component Architecture

Solr

Triplestore(Fuseki, Sesame)

● Audit Service● SPARQL-Query

Fedora 4

LDP / WebAC / Memento

Apache C

amel

Page 35: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

External - Indexing

Index repository content for search

Indexing is configurable - could be based on any property

Solr and Elastic Search have been tested

Page 36: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

External - Triplestore

An external triplestore can be used to index the RDF triples of Fedora resources

Any triplestore that supports SPARQL-update can be plugged in

Fuseki, RDF4J, and BlazeGraph have been tested

Page 37: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

External/Pluggable - Audit Service

Maintains a history of events for each repository resource

Both internal repository events and events from external sources can be recorded

Uses the existing event system and an external triplestore

Events can be persisted back to Fedora

Page 38: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Performance and Scalability

Page 39: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Test Plans

Testing large files, many files, and many containers

Tests are performed by community members

Have concerns about performance and scale? Join the group!

Page 40: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Metrics

A number of scalability tests have been run:

Uploaded a 1 TB file via REST API

17 million objects via REST API

3.5 million files via REST API

Page 41: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

Roadmap

Page 42: Introducing Fedora 4 @d wilcox David Wilcox, …...Introducing Fedora 4 Overview, examples, and features David Wilcox, DuraSpace @d_wilcox Learning Outcomes Understand the purpose

2016-2017

Support standardized import/export

Specify RESTful API

● Defining Fedora by its RESTful services● Aligning those services with standards● Specifying RESTful services● Creating technology compatibility kit (TCK)● Separating service specification from server-side implementation