Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
h2. Fedora Middleware

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.
\\ \\
{table:width=100%|border=1|cellspacing=1|cellpadding=4|rules=all}
  {tr:align=center|bgcolor=#c0c0c0}
    {th:rowspan=2|width=30%}Feature{th}
    {th:colspan=6|width=15%}Action{th}
    {th:colspan=5|width=15%}Availability{th}
    {th:rowspan=2}Notes{th}
  {tr}
  {tr:align=center|bgcolor=#d3d3d3}
    {th}FR{th}
    {th}A{th}
    {th}T{th}
    {th}M{th}
    {th}FM{th}
    {th}O{th}
    {th}Q108{th}
    {th}Q208{th}
    {th}Q308{th}
    {th}Q408{th}
    {th}2009{th}
  {tr}
  {tr:bgcolor=#ffffff}
    {td} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
  {tr:bgcolor=#ffffff}
    {td} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
  {tr:bgcolor=#ffffff}
    {td} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
  {tr:bgcolor=#ffffff}
    {td} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
  {tr:bgcolor=#ffffff}
    {td} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
  {tr:bgcolor=#ffffff}
    {td} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
  {tr:bgcolor=#ffffff}
    {td} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
  {tr:bgcolor=#ffffff}
    {td}Modular Deployment Support{td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td:align=center|bgcolor=#d3d3d3} {td}
    {td} {td}
  {tr}
{table}
\\
{table:border=1|cellspacing=1|cellpadding=4|rules=all}
  {tr:align=center|bgcolor=#c0c0c0}
    {th:colspan=7}Legend{th}
  {tr}
  {tr:align=center|bgcolor=#ffffff}
    {td:bgcolor=#d3d3d3}Project{td}
    {td}FR -- Fedora Repository Project{td}
    {td}A -- Akubra Project{td}
    {td}T -- Topaz Project{td}
    {td}M -- Mulgara Project{td}
    {td}FM -- Fedora Middleware Project{td}
    {td}O -- Other independent open source projects{td}
  {tr}
  {tr:align=center|bgcolor=#ffffff}
    {td:bgcolor=#d3d3d3}Action{td}
    {td:align=center}D -- Develops Software{td}
    {td:align=center}I -- Integrates Software{td}
    {td} {td}
    {td} {td}
    {td} {td}
    {td} {td}
  {tr}
{table}

|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| | | | | |* Informs design; possible re-use or re-distribution of components or examples \\
* http://www.hull.ac.uk/esig/repomman/| |
|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.| |