Title: Fedora Service Framework
1 Fedora Service Framework Sandy Payette,
Executive Director UK Fedora Training London Janu
ary 22-23, 2009
2Service Framework (Notional View)
Web 2.0
Your Applications
Institutional Repo
e-Research
Digital Library
Archivist Workbench
Asset Management
Fedora Services
Repository Service (APIs)
OAI
Search
Ingest
Etc.
Supporting Services
3 Core Repository Service
4Interface
How is the repository exposed?
Trust
Logic
Persistence
5Interface
How can it ensure appropriate access?
Trust
Logic
Persistence
6Interface
Trust
How is data manipulated to fulfill requests?
Logic
Persistence
7Interface
Trust
Logic
Persistence
How is the data stored?
8Functional View
Interface
Producers
ManageAPI-M
Access API-A
Search(API-A)
RDF Query
Consumers
Authentication
Trust
Policy
Access
Manage
Ingest
Logic
Validate
ServiceBind
RDF Index
Registry
Store
Persistence
Registries and Indexes
Files
9Technical View
Transport
HTTP / HTTPS
Interface
Message Format
HTTP / SOAP / XML
HTTP Basic AuthN
Authentication
Trust
Sun XACML Engine
Authorization
Fedora "Module" Interface
Logic
Storage Interface(via LLStore/Akubra plug-ins)
- MySQL
- Postgres
- Oracle
- more
JDBC
Trippi
Persistence
- File system
- SRB/iRODS
- Sun Open Storage
- Amazon S3
- More coming
RDBMS
FOXML and Binary Files
Registries and Indexes
10Repository Service APIs
- API-A - Fedora Access (SOAP)
- API-M - Fedora Management (SOAP)
- API-A-LITE - Fedora Access and Registry Search
(REST) - API-M-LITE Selected Management Operations
(REST) - RISearch Resource Index for RDF Query (REST)
- Fedora REST API streamlined (new with Fedora
3.0)
11 Point-to-Point Service Integrations
Services have configuration files to connect them
with repository service
GSearch
OAI
Ingest
repository publishes events
More
12Fedora Service Framework Current Services
- OAI Provider Service
- Based on PROAI
- Multiple metadata formats oai sets
- Configure to harvest Fedora dissemination types
- Directory Ingest Service
- Submit a directory of files with a METS manifest
- Hierarchy preserved as object-to-object
relationship
13OAI Provider with Polling Update
14Directory Ingest (DirIngest)
15Fedora Search Service (GSearch)
- GSearch Fedora Generic Search Service
- Configure to index any datastreams
- Configure to index any service-based
dissemination - Plug in Lucene, Solr, or Zebra
- Developed by Gert Schmeltz Pedersen of DTU
16GSearch Design
17 Messaging - Enables Service Integration
First, we are providing simple messaging (via
JMS using ActiveMQ)
services listen and consumeevents or other
messages
GSearch
OAI
Simple JMS
Ingest
repository publishes events
More
Messaging introduced in Fedora 3.0. GSearch is
first service to become JMS enabled
18 Fedora Messaging Service
- Publish and subscribe
- Core repository service can publish API-M events
- Services can subscribe and listen to events
- Services can publish their own events
- Provides a glue for the service framework
- Services can listen for repository events to
update themselves - Services can listen for events to do a job (e.g.,
format migration) - Gsearch is enabled as listening/consumer in
Fedora 3.0 - We will adapt these services next
- OAI Provider listen for API-M events to refresh
cache - Fedora Journaling listen for API-M events and
replay
19Future Services
- Preservation Validation and Integrity Service
- Datastreams validate the bytestream format
- Digital Objects validate based on content
models - Preservation Monitoring and Alerting Service
- Listen to message broker for special events
- Checksum failure
- API-M modification events
- Initiate actions
- Email preservation manager
- Kick off an automated process (e.g., migrate)
- Basic Workflow
- Standards-based (e.g., BPEL)
- Configurable
- Univ of Hulls RepoMan work as a model for the
way forward
20Fedora Serviceshttp//fedora-commons.org/documen
tation/3.0/userdocs/index.htmlservices