20
Core 1 @ Stanford University BioPorta BioPorta l l Lynn Murphy Archana Vembakam

Core 1 @ Stanford University BioPortal Lynn Murphy Archana Vembakam

Embed Size (px)

Citation preview

  • Slide 1
  • Core 1 @ Stanford University BioPortal Lynn Murphy Archana Vembakam
  • Slide 2
  • Goal Software development process how we achieve our goal Demo Topics GRANT BioPortal
  • Slide 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
  • Slide 4
  • Software Development Process - How we achieve our goal Analysis and Software Requirements Gathering DesignDevelopmentTestingDeployment Oct 2005 Nov 2005 Dec 2005 Feb 2006 Jan 2006 Mar 2006 Project Start Effective Start Date for Archana and Lynn
  • Slide 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
  • Slide 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
  • Slide 7
  • File / Version Submission Basic Validation Further Validation Background Processing File to Holding Bin User Notified By Email OBO Librarian Review Convert file to LexGrid DB Schema Indexing Using LexGrid Alignment - PROMPT User Interface Control back to UI Success? DB Status Change Workflow Ontology Submission Format Validation Success? DB Status Change Yes No Yes No Yes
  • Slide 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
  • Slide 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
  • Slide 10
  • BioPortal Functionality Overview: Ontology Visualization Dynamically-generated graph to display subsets of large ontologies
  • Slide 11
  • BioPortal Functionality Overview: Ontology Visualization Jambalaya provides graphical metaphors for dynamically navigating ontologies
  • Slide 12
  • Work by Nigam Shah BioPortal Functionality Overview: Ontology Visualization Pictorial-guided ontology navigation
  • Slide 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
  • Slide 14
  • Software Development Process: Design Investigated software resources Protg, 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
  • Slide 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
  • Slide 16
  • JAAS Authorization & Authentication JBoss Application Server JMS Messaging Java Mail Generic Subsystem Oracle Database Soap Services External access WebDAV File access module Apache Web Server User Interface JSF, JSP, Servlets, Applets, CSS, HTML Message Driven Beans Session Beans Entity Beans PROMPT APIProtg APILexGrid API Architecture
  • Slide 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
  • Slide 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
  • Slide 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
  • Slide 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 ???