You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Current »

Architecture Diagram

The following diagram shows the primary components that make up Fedora 4, and how they interact with each other and with external clients such as the Java client currently being developed, or a Hydra application.

Pluggable Components

  • Authentication: authenticating requests is typically handled by the servlet container running the Fedora 4 webapp, and can usually be configured to support a wide range of authentication types.
  • Authorization: there are currently modules for role-based authorization and XACML authorization, and custom authorization modules can be created to support other authorization types. 
  • PID Minter: there are currently PID minter modules that generate random UUID identifiers, or retrieve PIDs from an external web service, and custom PID minter modules can be created for other PID minting scenarios.
  • Sequencers: the Modeshape API allows creating sequencers which are tightly-coupled asynchronous modules which can be configured to automatically process new and updated content.
  • LevelDB: the default configuration uses LevelDB storage, but Infinispan supports several other storage mechanisms.
  • Other Connectors (Git, Cloud, etc.): Modeshape supports a few other storage options with connector implementations, which could be extended to support Fedora 4.  Custom connectors could also be developed to support other storage systems.
  • Custom Message Consumer: the indexer currently has modules for Solr and Elasticsearch indexing, triplestore synchronization using SPARQL Update, and serializing JRC/XML to disk.  Custom indexer modules can be created to support syncing with other systems.
  • No labels