1 / 20

BioPortal Software Development Process - Enterprise-level, Custom Web Application

This project focuses on the software development process for BioPortal, an industrial-strength, mission-critical, and robust custom web application specific to the ontology community. It aims to deliver an enterprise-level, production-quality software with a tailored user experience and interface design.

nathant
Download Presentation

BioPortal Software Development Process - Enterprise-level, Custom Web Application

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BioPortal Core 1 @ Stanford University Lynn Murphy Archana Vembakam

  2. BioPortal GRANT Topics • Goal • Software development process – how we achieve our goal • Demo

  3. Goal - What are we trying to produce? • Enterprise level, production quality software • Industrial-strength, mission critical, robust, scalable • Custom web application • Functionality specific to the ontology community • User experience and interface design tailored • Not generic

  4. Software Development Process - How we achieve our goal Dec 2005 Jan 2006 Mar 2006 Feb 2006 Oct 2005 Nov 2005 Project Start Effective Start Date for Archana and Lynn Analysis andSoftwareRequirementsGathering Design Development Testing Deployment

  5. Software Development Process:Analysis / Requirements • Extracted requirements from grant proposal • Gathered functional requirements from Berkeley regarding current OBO at Sourceforge • Many requirements general, high level - translation into specific tasks necessary • Developed functional requirements document which identified users, user roles, and large list of functional requirements for the project • Requirements drive the design and architecture of system – early identification of requirements key • Must have, nice to have (rank) • Changing requirements slows development

  6. BioPortal Functionality Overview • Ontology submission • Submission pipeline • Validation - file type/completeness, syntax, content • Versioning • Ontology metadata • Categorize ontologies • Associate provenance & ontology editing info with particular ontology classes • Support a web-of-trust platform for rating ontology quality

  7. Workflow Ontology Submission File / VersionSubmission OBO Librarian Review User Interface Convert file toLexGrid DB Schema Basic Validation No Success? Control back to UI Yes Indexing Using LexGrid BackgroundProcessing Success? File toHolding Bin Format Validation Yes Alignment - PROMPT No Success? User NotifiedBy Email Yes Further Validation DB Status Change DB Status Change No Yes Success?

  8. BioPortal Functionality Overview - Continued • Ontology indexes and services • All ontology content in the BioPortal is parsed, validated, and indexed • URIs for all terms, even if none provided • Term alignment across ontologies • Terminological services (LexGrid - Mayo) • Double metaphone, exact and partial search • Web services for users and applications • Find ontology terms • Map free-text to ontologies

  9. BioPortal Functionality Overview - Continued • Ontology visualization • Tree display • Graph-based visualization • Interactive visualization (Jambalaya - UVic) • Ontology navigation (UVic) • Personalized guidance (degree-of-interest modeling) • Tools to let users focus on ontology subsets pertinent to their context (e.g., data to be annotated) • Pictorially-guided navigation of ontologies • Ontology subsets based on biological scale (organ/tissue/cell/molecule) • Ontology alignment and difference • Alignment - find related ontologies • Difference - track changes in versions of ontologies

  10. BioPortal Functionality Overview:Ontology Visualization Dynamically-generated graph to display subsets of large ontologies

  11. BioPortal Functionality Overview:Ontology Visualization Jambalaya provides graphical metaphors for dynamically navigating ontologies

  12. BioPortal Functionality Overview:Ontology Visualization Pictorial-guided ontology navigation Work by Nigam Shah

  13. Software Development Process:Phased Development • Developed project plan – functionality developed in phases • Phase 1 - build framework / subsystem which will translate into a scalable, robust application • “Unsexy before sexy” • Functionality • Authorization / Authentication – sign in, sign out, user registration, password assistance, account maintenance • Ontologies – tabular list, category (tree) list, view (text), download • New ontology submission – file upload and metadata capture, versioning • Metadata – view details, update, download in XML • Versions – list, view details, update, version submission

  14. Software Development Process:Design • Investigated software resources – Protégé, PROMPT, LexGrid • Necessary to install, determine features and examine code to determine if and how technologies could be used • Example: installed LexGrid, determined functionality gaps, communicated requirements to Mayo • Looking beyond Phase 1 to future phases so other teams can begin needed work now • Researched technology stack (Java, JBoss, Java Server Faces, JMS, etc.) • Prototyped functionality – authentication / authorization, serving files through Apache / Tomcat, connection between user interface and session beans, etc. • Designed architecture

  15. Software Development Process:Design Considerations • Disparate user interface – need for remote and local access • Distributed transactions • Cache • Aspect oriented programming (AOP) • Background and message driven processing • Rapid development (POJO) • SOAP • Authentication and Authorization

  16. Architecture Apache Web Server WebDAV File access module JBoss Application Server User Interface JSF, JSP, Servlets, Applets, CSS, HTML Generic Subsystem JAAS Authorization &Authentication Session Beans Message DrivenBeans JMS Messaging Entity Beans Soap Services External access LexGrid API Protégé API PROMPT API Java Mail Oracle Database

  17. Software Development Process: Development • Yay! We finally get to code!  • Spent time setting up development environment – Subversion, build scripts, etc. • Began coding mid-January – approximately 6 weeks • ~70 Java files, 20+ screens already • Writing production code – not one-off development

  18. Software Development Process: Testing & Deployment Testing • Need to develop unit tests so that new features can be incorporated without introducing instability • Crucial to be able to roll out later phases Deployment • Ongoing meetings with various Stanford IT departments • Cost benefit analysis as to where BioPortal should be hosted • Backup and failover strategy, power considerations, hardware specifications, machine configurations

  19. Demo • Demo is actual working code – not one-off development • Design, color scheme, layout will change • No navigational features (tabs, etc.) • Data hand-entered for purposes of testing and demo – may be inaccurate

  20. Summary • Goal is production quality, enterprise level custom web application • Development processes in place to ensure quality, robust, supportable software • Functionality introduced in phases – base system and framework first • Requirements drive architecture • Phase 1 rollout • Approximate date – June • Gating factors • Moving files, their versions and associated metadata from current Sourceforge site • Availability of production environment • Logo • ???

More Related