Software Architecture Software architecture  is process of designing the global organization of a software system, including: Dividing software into subsystems Deciding how these will interact Determining their interfaces © Lethbridge/Laganière 2001
Software Project Planning and Estimation Requirements Architecture Estimates Schedule
XC Development Team Responsible for implementation, testing, documentation and support Coordination of partner contributions to software Staffing Software Project Manager  Software Engineers Computer Scientists Technical Writer Quality Assurance Engineer
Partner Contributions Survey participation Knowledge of related projects, standards, technologies Expertise Code User research Resources Adoption of XC
Partnership Categories Advisory Deployment Implementation Component User Research
Advisory Partners Advice on design and development of one or more XC modules Documentation review and signoff on requirements and software project plan Open-source community planning
Deployment Partners Local planning Secure IT resources Create a project schedule Deploy XC in production Support, promote, give feedback
Implementation Partners (plug-ins) Implement code to integrate XC with an external system that runs alongside it in a production environment Target systems include major integrated library systems, repositories, and content management systems Contribute to XC software project planning Develop XC plug-ins to connect external systems
Component Partners Institutions that have written software that meets some or all of the requirements defined for a particular XC module Provide consultation and support for: Integration of existing component code  or New implementation to XC specifications Implementation of XC components with compatible software interface
User Research Partners Research partners will participate in a multi-site study by… Conducting local studies as part of basic research Participating in iterative research within the design and development process
Architecture XC Platform XC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through  XC bundled web interface Library offerings delivered through  enhancements to existing interfaces
Architecture: End-User Application Integrated web-based user interface XC End-User Application XC Platform Community Services Consortium Services Search and browse Administration and maintenance Authoring and self-publishing
Architecture XC Platform XC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through  XC bundled web interface Library offerings delivered through  enhancements to existing interfaces
Architecture: Web Services Integration Online Learning or Course Management System Library Website Web Application Development Platform Portal System Content Management System Web interfaces for an institution XC Platform Drupal PHP + mySQL Sakai Blackboard Community System WSRP XC Drupal Module XC – Sakai Integration XC Portlet for BB Web Services sample PHP code Library offerings delivered through enhancements to existing interfaces
Architecture XC Platform XC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through  XC bundled web interface Library offerings delivered through  enhancements to existing interfaces
Architecture: Back End Integration Learning Management System Library website Digital Repository RSS Newsfeed ILS XC Platform Metasearch Engine Aleph Sakai LibraryFind Aleph Integration Sakai Integration LibraryFind Integration Content and metadata repositories and services ILS Integration Scheduled Import ILS Services Scheduled Harvest Spider Content RSS Subscriptions Metasearch Services Metasearch Integration CMS Integration Scheduled Archive
Architecture XC Platform XC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through  XC bundled web interface Library offerings delivered through  enhancements to existing interfaces
Modules XC Platform Import Storage External Systems Controller Export XC End-User Application User Interface Consortium Services Indexing Transformation Relationship Web services Search Engine User Information Security
Modules Web Services Related Projects, People, and Standards Partner Type Module Consortium Services User Interface User Information Security Controller External System Search Engine Indexing Relationship Storage Transformation Export Import
Import Module Goals Maintain synchronized copy of metadata records with external systems Support a wide range of systems and formats Support digital object ingest Partners Implementation Partners Advisory Partners Component Partners Import Storage Export
Export Module Goals For previously imported metadata records: Return preserved exact-copy Return DC copy Return MODS/MADS copy SRU Explain-like services Support OAI-PMH, OAI-ORE Partners Advisory Partners Component Partners Import Storage Export
Storage Module Goals Store, organize and manage imported files, converted metadata records, digital objects, and user generated metadata Manage versions and checksums for all items Enforce XC security model for access and update of files Store data about relationships among metadata records and digital objects Partners Advisory Component Import Storage Export
Transformation Module Goals Transform imported files containing metadata records to XC internal metadata format (based on MODS and MADS), and to DC Transform imported digital objects to access formats Validate XML against schemas Extend XC with new schemas and variants Partners Advisory Component Indexing Storage Transformation Relationship
Relationship Module Goals Identify and capture relationships among metadata records and digital objects Handle authority control record processing  Generate authority and FRBR work-level records as needed Capture relationships to support faceted browsing Partners Advisory Component Indexing Storage Transformation Relationship
Indexing Module Goals Manage indexes of metadata records, digital objects and relationship data Support optimal search engine performance Partners Advisory Component Indexing Storage Transformation Relationship
Search Engine Module Goals Interpret XC internal query format  Produce ranked results sets, facet-value counts, and FRBR relationship data Deliver results metadata and “live” external-system related metadata (e.g. ILS circulation status and metasearch results) Partners Advisory Component External Systems Search Engine User Information Security Controller
External Systems Module Goals Pull-in data from external systems in real time (e.g. ILS circulation status and metasearch results) Provide software architecture components that will interact with a standard XC interface, but be implemented by partners Partners Implementation Component External Systems Search Engine User Information Security Controller
Controller Module Goals Manage global application Control user privileges to software functions Deliver API for the “XC Platform”  Partners Advisory External Systems Search Engine User Information Security Controller
Security Module Goals Manage Authentication Manage Authorization Partners Advisory Component External Systems Search Engine User Information Security Controller
User Information Module Goals Manage users Allow for relationships between users and user generated metadata Manage personal showcase page, profile, preferences Partners Advisory Component External Systems Search Engine User Information Security Controller
User Interface Module Goals Provide a built-in user interface component that can be used out of the box or customized to a particular visual design scheme Support search, faceted browse, circulation integration, user-generated metadata, repository submission, repository content organization, personal showcase pages, collaborative authoring, and metasearch Partners Advisory User Research Web services User Interface Consortium Services
Consortium Services Module Goals Provide services that will meet the needs of multi-institution consortia and larger institutions Partners Advisory Component Web services User Interface Consortium Services
Web Services Goals Delivers XC functionality to the XC End User Application and external applications Enables institutions to adopt XC and build their own end-user application  Partners Advisory Component Web services User Interface Consortium Services
XC End-User Application XC Platform Search and browse Administration and maintenance Authoring and self-publishing Import Storage External Systems Controller Export Community Services Consortium Services Indexing Transformation Relationship Web services Search Engine User Security
Architecture XC Platform XC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through  XC bundled web interface Library offerings delivered through  enhancements to existing interfaces

XC partner slides

  • 1.
  • 2.
    Software Architecture Softwarearchitecture is process of designing the global organization of a software system, including: Dividing software into subsystems Deciding how these will interact Determining their interfaces © Lethbridge/Laganière 2001
  • 3.
    Software Project Planningand Estimation Requirements Architecture Estimates Schedule
  • 4.
    XC Development TeamResponsible for implementation, testing, documentation and support Coordination of partner contributions to software Staffing Software Project Manager Software Engineers Computer Scientists Technical Writer Quality Assurance Engineer
  • 5.
    Partner Contributions Surveyparticipation Knowledge of related projects, standards, technologies Expertise Code User research Resources Adoption of XC
  • 6.
    Partnership Categories AdvisoryDeployment Implementation Component User Research
  • 7.
    Advisory Partners Adviceon design and development of one or more XC modules Documentation review and signoff on requirements and software project plan Open-source community planning
  • 8.
    Deployment Partners Localplanning Secure IT resources Create a project schedule Deploy XC in production Support, promote, give feedback
  • 9.
    Implementation Partners (plug-ins)Implement code to integrate XC with an external system that runs alongside it in a production environment Target systems include major integrated library systems, repositories, and content management systems Contribute to XC software project planning Develop XC plug-ins to connect external systems
  • 10.
    Component Partners Institutionsthat have written software that meets some or all of the requirements defined for a particular XC module Provide consultation and support for: Integration of existing component code or New implementation to XC specifications Implementation of XC components with compatible software interface
  • 11.
    User Research PartnersResearch partners will participate in a multi-site study by… Conducting local studies as part of basic research Participating in iterative research within the design and development process
  • 12.
    Architecture XC PlatformXC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through XC bundled web interface Library offerings delivered through enhancements to existing interfaces
  • 13.
    Architecture: End-User ApplicationIntegrated web-based user interface XC End-User Application XC Platform Community Services Consortium Services Search and browse Administration and maintenance Authoring and self-publishing
  • 14.
    Architecture XC PlatformXC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through XC bundled web interface Library offerings delivered through enhancements to existing interfaces
  • 15.
    Architecture: Web ServicesIntegration Online Learning or Course Management System Library Website Web Application Development Platform Portal System Content Management System Web interfaces for an institution XC Platform Drupal PHP + mySQL Sakai Blackboard Community System WSRP XC Drupal Module XC – Sakai Integration XC Portlet for BB Web Services sample PHP code Library offerings delivered through enhancements to existing interfaces
  • 16.
    Architecture XC PlatformXC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through XC bundled web interface Library offerings delivered through enhancements to existing interfaces
  • 17.
    Architecture: Back EndIntegration Learning Management System Library website Digital Repository RSS Newsfeed ILS XC Platform Metasearch Engine Aleph Sakai LibraryFind Aleph Integration Sakai Integration LibraryFind Integration Content and metadata repositories and services ILS Integration Scheduled Import ILS Services Scheduled Harvest Spider Content RSS Subscriptions Metasearch Services Metasearch Integration CMS Integration Scheduled Archive
  • 18.
    Architecture XC PlatformXC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through XC bundled web interface Library offerings delivered through enhancements to existing interfaces
  • 19.
    Modules XC PlatformImport Storage External Systems Controller Export XC End-User Application User Interface Consortium Services Indexing Transformation Relationship Web services Search Engine User Information Security
  • 20.
    Modules Web ServicesRelated Projects, People, and Standards Partner Type Module Consortium Services User Interface User Information Security Controller External System Search Engine Indexing Relationship Storage Transformation Export Import
  • 21.
    Import Module GoalsMaintain synchronized copy of metadata records with external systems Support a wide range of systems and formats Support digital object ingest Partners Implementation Partners Advisory Partners Component Partners Import Storage Export
  • 22.
    Export Module GoalsFor previously imported metadata records: Return preserved exact-copy Return DC copy Return MODS/MADS copy SRU Explain-like services Support OAI-PMH, OAI-ORE Partners Advisory Partners Component Partners Import Storage Export
  • 23.
    Storage Module GoalsStore, organize and manage imported files, converted metadata records, digital objects, and user generated metadata Manage versions and checksums for all items Enforce XC security model for access and update of files Store data about relationships among metadata records and digital objects Partners Advisory Component Import Storage Export
  • 24.
    Transformation Module GoalsTransform imported files containing metadata records to XC internal metadata format (based on MODS and MADS), and to DC Transform imported digital objects to access formats Validate XML against schemas Extend XC with new schemas and variants Partners Advisory Component Indexing Storage Transformation Relationship
  • 25.
    Relationship Module GoalsIdentify and capture relationships among metadata records and digital objects Handle authority control record processing Generate authority and FRBR work-level records as needed Capture relationships to support faceted browsing Partners Advisory Component Indexing Storage Transformation Relationship
  • 26.
    Indexing Module GoalsManage indexes of metadata records, digital objects and relationship data Support optimal search engine performance Partners Advisory Component Indexing Storage Transformation Relationship
  • 27.
    Search Engine ModuleGoals Interpret XC internal query format Produce ranked results sets, facet-value counts, and FRBR relationship data Deliver results metadata and “live” external-system related metadata (e.g. ILS circulation status and metasearch results) Partners Advisory Component External Systems Search Engine User Information Security Controller
  • 28.
    External Systems ModuleGoals Pull-in data from external systems in real time (e.g. ILS circulation status and metasearch results) Provide software architecture components that will interact with a standard XC interface, but be implemented by partners Partners Implementation Component External Systems Search Engine User Information Security Controller
  • 29.
    Controller Module GoalsManage global application Control user privileges to software functions Deliver API for the “XC Platform” Partners Advisory External Systems Search Engine User Information Security Controller
  • 30.
    Security Module GoalsManage Authentication Manage Authorization Partners Advisory Component External Systems Search Engine User Information Security Controller
  • 31.
    User Information ModuleGoals Manage users Allow for relationships between users and user generated metadata Manage personal showcase page, profile, preferences Partners Advisory Component External Systems Search Engine User Information Security Controller
  • 32.
    User Interface ModuleGoals Provide a built-in user interface component that can be used out of the box or customized to a particular visual design scheme Support search, faceted browse, circulation integration, user-generated metadata, repository submission, repository content organization, personal showcase pages, collaborative authoring, and metasearch Partners Advisory User Research Web services User Interface Consortium Services
  • 33.
    Consortium Services ModuleGoals Provide services that will meet the needs of multi-institution consortia and larger institutions Partners Advisory Component Web services User Interface Consortium Services
  • 34.
    Web Services GoalsDelivers XC functionality to the XC End User Application and external applications Enables institutions to adopt XC and build their own end-user application Partners Advisory Component Web services User Interface Consortium Services
  • 35.
    XC End-User ApplicationXC Platform Search and browse Administration and maintenance Authoring and self-publishing Import Storage External Systems Controller Export Community Services Consortium Services Indexing Transformation Relationship Web services Search Engine User Security
  • 36.
    Architecture XC PlatformXC End-User Application Content and metadata repositories and services Web interfaces for an institution Library offerings delivered through XC bundled web interface Library offerings delivered through enhancements to existing interfaces