Fedora Technisch

Preview:

DESCRIPTION

Fedora technische uitleg door Henk van de Berg. Deze presentatie is gegeven tijdens de Fedora Op Klompen dag 19 juni 2008.

Citation preview

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Fedora Technisch

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Programma• Systeem-architectuur

– De architectuur achter het systeem– Installatie– Api’s, SOAP & rest

• Digitale Objecten– Content Model Architecture– FOXML, MetslikeFOXML– Versioning

• AuthN & AuthZ– LDAP/tomcat users– XACML

• Zoeken– gSearch– Semantisch zoeken

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Programma

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

MDMD

contentcontent

MDMD MDMD

“Repository Pattern”

Architectuur

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Aan de slag

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Installatie

$ java -jar fedora-3.0b1-installer.jar

*********************** Fedora Installation ***********************

Installation type? Options : quick, custom, client

Fedora home directory?

Fedora administrator password?

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Start Fedora#!/bin/shecho -----------------------------echo start script for Fedora 3.0b1echo -----------------------------

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Homeexport FEDORA_HOME=/Fedoraexport PATH=$PATH:$FEDORA_HOME/server/bin:$JAVA_HOME/bin

echo "Using JAVA_HOME: $JAVA_HOME"echo "Using FEDORA_HOME: $FEDORA_HOME"echo "Using PATH: $PATH"echoecho "Executing $FEDORA_HOME/tomcat/bin/startup.sh"echo -----------------------------echo echo -----------------------------

$FEDORA_HOME/tomcat/bin/startup.sh

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

API’s SOAP & REST

API-A (Access)

SOAP

REST

SOAP

REST

API-M (Management)

Fedora Rest API (Experimental)A + M

Client.jar (Java API) A + M

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Digital Object

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Digital Object

FOXML 1.1FOXML 1.0METS 1.1ATOM 1.0

Ondersteunde formaten

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Foxml

foxml reference example.xml

<digitalObject PID="uniqueID"><!-- there are a set of core object properties --><objectProperties>

<property/><property/>...

</objectProperties><!-- there can be zero or more datastreams --><datastream>

<datastreamVersion/><datastreamVersion/>...

</datastream></digitalObject>

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Hello Fedora

public java.lang.String ingestAndCommit(java.io.InputStream in, java.lang.String ingestFormat, java.lang.String logMessage) throws java.rmi.RemoteException, java.io.IOException

fedora.client.utility.ingest.AutoIngestor

public java.lang.String uploadFile(java.io.File file) throws java.io.IOException

fedora.client.FedoraClient

1. Upload content

2. Ingest Digital Object

uploaded://123 FOXML<datastream>….

eof:456

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

DataStream: Control Group

Externally Referenced Content (E), Redirected Content (R),Managed Content (M) or

Inline XML (X)

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

DataStream: Reserved ID’s

Dublin Core

Object to object relationships in RDF

Datastream to datastream relationships in RDF(experimental)

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Object to object relations

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

RDFResource Description Framework (RDF)

Tripples

W3C-standaard

Fedora Ontology

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

(nogmaals) Digital Object

Content Model Architecture (CMA)

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Content Models

digital content entity

model of a service

how to get the service

formal model

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

(nogmaals) Digital ObjectData object

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

(nogmaals) Digital ObjectService Definition object

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

(nogmaals) Digital ObjectService Deployment object

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

(nogmaals) Digital ObjectContent Model object

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Versie beheer

• Aan-/uitzetten per repository• Aan-/uitzetten per datastream• Audit trail per wijziging

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

(nogmaals) Digital Object

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Security

• LDAP / tomcat users• XACML

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

Zoeken

• gSearch• Semantic search

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

En verder…

• eSciDoc http://www.escidoc-project.de• MuraDora• Topaz http://www.topazproject.org/trac/

Henk van den BergSoftware developer @ DANS

19-6-2008 Fedora Op Klompen

(Voor- en) nadelen

• XACML:• - opgeslagen in files• - queries traag• - geen hierarchie ondersteuning• Transacties:• - geen locking• - geen ACID• - geen transacties

• Nog meer?

Recommended