Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This roadmap will be documented in several forms. The master and most complete form will be located on the Fedora Commons Web site. Using a Web site permits us to create a set of linked documents that the reader may explore based on interest and depth. The roadmap will also be published in a document form that is more condensed. Finally, the roadmap will be provided as an executive summary.

Release Plans

Projects

Fedora Commons' software development has been divided into multiple projects, each producing core components or services. We are moving in a direction of Fedora Commons being the home for a set of inter-related open source software projects that produce components or software libraries that fit nicely into solution bundles or for integration into larger information systems. Software projects under the Fedora Commons umbrella must develop components or software libraries for use cases that are consistent with the Fedora Commons mission. Unlike Apache, which has many projects targeted at many different purposes, all Fedora Commons projects are synergistic and are intended to fit together. However, separate projects provide for better management and tracking. Fedora Commons uses software engineering methodologies and appropriate community governance mechanisms to help ensure that the components and libraries may be easily integrated. This is an evolving process as the organization and its software engineering methodologies matures.

Fedora Repository Project

This project is the traditional Fedora distribution which includes the Fedora Repository service and several closely related components and libraries. This software has proven to be an attractive open-source option for organizations building service-oriented platforms for scholarly communication, e-research, advanced digital libraries, and more. From the Web perspective, the Fedora repository service has been shown to be an effective underpinning for Web applications (including traditional Web applications, Web 2.0 style applications, and increasing Semantic Web style applications). Over time this project will be divided into smaller projects to improve integration options, simplify feature development and facilitate management flexibility. The Fedora Repository service is a core component of future Fedora Commons' software development. The new Fedora 3.0 is currently in Beta release with production scheduled for April 2008. The current production release is Version 2.2.1. Fedora 2 will be maintained at least through January 2009 since there are a considerable number of organizations that use Fedora 2 as the basis for their production systems. There are no new features planned for Fedora 2 and development will be confined to defect repairs.

Topaz Project

Based loosely on the ORM (Object to Relational Mapping) family of software, Topaz is a powerful object to triple persistence and query service. It has its own software codebase (http://gandalf.topazproject.org) and integrates with both the Fedora Repository service and the Mulgara RDF Database (semantic triple-store). Major re-usable software components of Topaz include the OTM - Object Triple Mapping and OQL - Object Query Language. The Topaz Project is working with the Fedora Repository Project on re-architecture efforts that benefit both projects and bring them closer together. One result of this work in the past 6 months is the new Akubra Project, described next.

Akubra Project

The Akubra Project is a new effort developed jointly by the Fedora and Topaz project teams as the first area of joint architecture work. The goal of Akubra is to provide a pluggable storage component that supports transactions on common file systems plus the ability to support multiple customized storage options at the same time. Akubra was a result of the architecture analysis by the Fedora and Topaz developers that concluded that the best opportunity for moving forward on joint architecture was to focus on building open source components to facilitate better integration of the low-level storage of files/bitstreams/blobs, and pluggability of heterogeneous underlying storage systems. We plan to integrate the new Akubra software with both the Topaz OTM and the Fedora Repository service. The primary intent is to create better abstraction and separation of concerns between file/bitstream/blob storage, and the services that Topaz and Fedora provides over them. Once this is done, there will be more flexibility in terms of how Topaz and Fedora can evolve architecturally.

Mulgara Project

Mulgara (http://www.mulgara.org) is one of the premier RDF databases (semantic triple-stores) available in open-source and a key component of the Fedora Repository service and Topaz OTM. Fedora Commons has directly hired one of the lead architects of Mulgara to continue advancing the Mulgara to meeting the needs of Fedora Commons' projects. Fedora Commons and Topaz are hosting the Mulgara project resources (i.e., code repository, collaboration tools). Practical introduction of semantic technologies is important to realizing the full potential of the Fedora Commons mission and ensuring that a production-ready, supported RDF database (triple-store) is available as free, open-source software is a required component for many applications we support.

Fedora Middleware Project

This project is funded by a grant to Cornell University from the Andrew W. Mellon Foundation. The goal of this work is to provide an improved Fedora Repository service and to enable new service integrations in accordance with the principles of Service Oriented Architecture (SOA). This work is motivated by use cases that suggest new models of scientific and scholarly communication. The Fedora Middleware Project will demonstrate reference integrations of middleware products provided in open source which are suitable for use in solutions that include services supplied by Fedora software. Middleware products for consideration and use include messaging products such as JMS providers, Enterprise Service Bus products, Choreography Engines, Business Rules Engines, Workflow/Business Process Execution Engines and Distributed Transaction Managers. No middleware products will be built as part of this project though a select group of best-of-breed integrations will be demonstrated. Both simple, lightweight approaches and enterprise-level approaches will be included as part the project. Also, approaches to management of business/mission semantics, message formats and governance issues will be considered.

Summary Release Plan

The summary release plan provides a table for each project giving a high level listing of features and the timeline for their availability. Projects are identified by the codes described in the Legend table below. Codes identify the actions for which each project is responsible: the project developing (creating) the software and projects integrating (using) the software. Usually one project will be responsible for developing the software while many projects will integrate it. These codes help clearly identify who is responsible for the work (and who gets credit for the accomplishment). Projects integrating the software play an important role in the development process by collaborating on requirements, design, critical review, lessons-learned and skill sharing. Sometimes developers must collaborate in order to create a feature resulting in development responsibility being shared between projects. However, we hope that good modularity will minimize this.

Legend

 

Code

Description

FR

Fedora Repository Project

A

Akubra Project

T

Topaz Project

M

Mulgara Project

FM

Fedora Middleware Project

O

Other independent open source projects

D

ACTION: Develops Software

I

ACTION: Integrates Software

It is important to realize that Fedora Commons is a community. We have included the code "O" to mean other independent open source projects. We currently integrate and depend on the work of many open-source developers who are not formally part of Fedora Commons at this time. It is yet to be determined how their work will be incorporated or the degree in which we will collaborate with other independent projects. Regardless, we recognize the Fedora Commons cannot succeed without their works and that having a single column in the tables cannot capture the richness of their contributions. We expect this will be a fertile ground for expansion in future roadmap versions.
Our software development methodology is evolving but it primarily uses lightweight, agile methods focused on adding or improving "Features." Each of the tables below lists the software or system Features being developed in the leftmost column. The remaining columns provide information about the responsibilities of each project (Actions) for each Feature and the expected timeframe (Availability) for its general availability. We have also included a Notes column for general information. In a future version of the roadmap we will provide a cross-reference between Features and Themes to show how each Feature contributes to Fedora Commons' goals.
We believe using a Feature-oriented development methodology supported by a consistent roadmap is appropriate for a distributed open-source software community. We hope to create the right balance between the discipline needed to create trusted, durable content systems while facilitating the boldness needed for world-changing innovation.

Fedora Repository

Feature

Action

 

 

 

 

 

 

Available

 

 

 

 

Notes

 

FR

A

T

M

FM

O

Q108

 

Q208

Q308

Q408

2009

 

Simplified Registry

D

 

I

 

 

 

X

 

 

 

 

 

  • Supported by CMA
  • Increases scalability and ingest rate

Sun ST5800 LLStore Plug-in

I

 

 

 

 

D

X

 

X

 

 

 

  • Joint work with Sun
  • Fedora v2,v3

Content Model Architecture

D

 

 

 

I

 

 

 

X

 

 

 

  • Includes simple reference CM language

REST API

D

 

I

 

 

D

 

 

X

 

 

 

  • Contributed by MediaShelf
  • Experimental in v3.0

Mulgara Plug-in

I

 

I

D

 

 

 

 

X

 

 

 

  • Support for latest version of Mulgara triplestore

Relationships API

D

 

 

 

 

 

 

 

X

 

 

 

  • Add and remove object relationships without editing the RDF in RELS-EXT datastream

Dynamic Services

D

 

 

 

 

 

 

 

X

 

 

 

  • Via CMA, provides a new way to bind services to objects
  • Replaces the former "Disseminator" approach

SOLr Support

 

 

 

 

 

D

 

 

X

 

 

 

  • Contributed by GSearch

Atom Object Serialization

D

 

 

 

 

I

 

 

X

 

 

 

  • Available via Ingest and Export on Fedora APIs
  • Serializes single Fedora digital object

ORE Object Serialization

D

 

 

 

 

I

 

 

X

 

 

 

  • Available via Ingest and Export on Fedora APIs
  • Serializes single Fedora digital object

SWORD - Deposit API

D

 

 

 

 

I

 

 

 

X

 

 

  • Expose the SWORD API to enable interoperability for digital object deposit into repository

Akubra Plug-in

I

D

I

 

 

 

 

 

 

X

 

 

  • Deprecates LLStore Plug-in
  • JTA Backend

Advanced ORE

D

 

 

 

 

 

 

 

 

X

 

 

  • Serializes network of inter-related Fedora digital objects.

Service Façade Framework Refactoring

D

 

 

 

 

 

 

 

 

X

 

 

  • Uniform interface for front-end APIs
  • Enables repository as a JAR

JTA Compliance

D

 

 

I

 

 

 

 

 

X

 

 

  • JTA Front end

Lightweight Batch Ingest

D

 

 

I

 

 

 

 

 

X

 

 

  • Includes batch modification

Object-centric API

D

 

 

 

 

 

 

 

 

 

X

 

  • Permits write and side-effect operations

Replication Services

D

 

 

 

 

 

 

 

 

 

 

X

  • Between Fedora repositories
  • Other repositories via ORE

Model-Driven Content Management

D

 

 

 

 

 

 

 

 

 

 

X

 

Topaz

Feature

Action

 

 

 

 

 

 

Availability

 

 

 

 

Notes

 

FR

A

T

M

FM

O

Q108

 

Q208

Q308

Q408

2009

 

Object Triple Mapper

I

 

D

 

 

I

X

 

 

 

 

 

 

Object Query Language

I

 

D

 

 

I

X

 

 

 

 

 

 

Akubra Plug-in

 

D

I

 

 

 

 

 

X

 

 

 

 

JTA Compliance

I

 

D

 

 

I

 

 

X

 

 

 

 

PLoS1 App Support

 

 

D

 

 

 

X

 

X

 

 

 

 

Akubra

Feature

Action

 

 

 

 

 

Availability

 

 

 

 

Notes

 

FR

A

T

M

FM

O

Q108

Q208

Q308

Q408

2009

 

Pluggable Storage Framework Design

I

D

I

 

 

 

X

X

 

 

 

  • Fedora v3.0 for comment

Simple Transactional File System Plug-in

I

D

I

 

 

 

 

X

 

 

 

 

Multiplexed Storage Framework Design

I

D

I

 

 

 

 

X

 

 

 

 

Multiplexed Storage Framework

I

 

I

 

 

 

 

 

X

 

 

 

Sun ST5800 Plug-in

I

 

I

 

 

D

 

X

 

 

 

  • Joint work with Sun
  • Fedora v3.1

IA Petabox Plug-in

I

D

I

 

 

D

 

 

X

 

 

  • Joint work with Internet Archive

Hierarchical Plug-in

I

D

I

 

 

D

 

 

 

X

 

  • Needs one or more partners with HFS products

aDORe Plug-in

I

I

I

 

 

D

 

 

 

X

 

  • Joint work with LANL

Advanced Sun ST5800 Plug-in

I

D

I

 

 

D

 

 

 

X

 

  • Joint work with Sun
  • Supports registry in ST5800
  • Able to delegate tasks to Storage Beans
  • Support for call back acknowledgements

Advanced Transactional File System Plug-in

I

D

I

 

 

D

 

 

 

 

X

  • Possible joint work with Sun
  • Supports use of native transactional file systems

Mulgara

Feature

Action

 

 

 

 

 

 

Availability

 

 

 

 

 

Notes

 

 

FR

A

T

M

FM

O

Q108

 

Q208

Q308

Q408

2009

 

 

JTA Compliance

I

 

I

D

 

I

 

 

X

 

 

 

 

 

Model Deconflation

I

 

I

D

 

I

 

 

X

 

 

 

 

 

SPARQL Query Parser

I

 

I

D

 

I

 

 

X

 

 

 

 

 

SPARQL Query Engine

I

 

I

D

 

I

 

 

X

 

 

 

 

 

XA-2 Stage 1 (string pool)

I

 

I

D

 

I

 

 

 

X

 

 

 

 

XA-2 Stage 2 (statement store)

I

 

I

D

 

I

 

 

 

 

X

X

 

 

Reasoning Engine

I

 

 

D

 

I

 

 

 

 

 

X

  • Planned but not funded

 

Modular Deployment Support

I

 

 

D

 

I

 

 

 

 

 

X

  • Planned but not funded

 

Fedora Middleware

...

Feature

...

Action

...

 

...

 

...

 

...

 

...

 

...

 

...

Available

...

 

...

 

...

 

...

 

...

 

...

Notes

...

 

...

 

...

FR

...

A

...

T

...

M

...

FM

...

O

...

Q108

...

 

...

Q208

...

Q308

...

Q408

...

2009

...

 

...

 

...

Mellon ESB Study

...

I

...

 

...

 

...

 

...

D

...

D

...

X

...

 

...

 

...

 

...

 

...

 

...

  • Group study of open source offerings for Enterprise Service Bus (informs design)

...

 

...

RepoMMan Support

...

I

...

 

...

 

...

 

...

D

...

D

...

X

...

 

...

 

...

 

...

 

...

 

...

...

 

...

Messaging (JMS) Integration

...

I

...

 

...

 

...

 

...

D

...

I

...

 

...

 

...

X

...

 

...

 

...

 

...

  • Repository as publisher of Events in Atom
  • Services can act as subscribers

...

 

...

GSearch JMS Subscriber

...

I

...

 

...

 

...

 

...

D

...

I

...

 

...

 

...

X

...

 

...

 

...

 

...

  • Search service automatically updated via JMS

...

 

...

Proai JMS Subscriber

...

I

...

 

...

I

...

 

...

D

...

I

...

 

...

 

...

 

...

X

...

 

...

 

...

  • OAI provider service automatically updated via JMS

...

 

...

Lightweight
Pipeline Ingest

...

I

...

 

...

I

...

 

...

D

...

I

...

 

...

 

...

 

...

 

...

X

...

 

...

  • Both attached content and referenced content

...

 

...

Lightweight Workflow (BPE)

...

I

...

 

...

I

...

 

...

D

...

I

...

 

...

 

...

 

...

 

...

X

...

 

...

 

...

Middleware Security

...

I

...

 

...

I

...

 

...

D

...

D

...

 

...

 

...

 

...

 

...

X

...

 

...

  • Includes XACML and other technologies
  • Likely will use several community partners

...

 

...

JTA Compliance

...

I

...

I

...

I

...

 

...

D

...

I

...

 

...

 

...

 

...

 

...

 

...

X

...

  • Requires Repository and Akubra JTA compliance
  • Middleware Transaction Manager

...

 

...

Enterprise integration: Workflow/BPE within ESB for Preservation and Archiving

...

I

...

 

...

 

...

 

...

D

...

D

...

 

...

 

...

 

...

 

...

 

...

X

...

  • This will be driven by user demand; If lightweight approaches meet requirements, we may re-evaluate.

...