Skip to end of metadata
Go to start of metadata

6-14-2011 Meeting

Webex Recording Find the Webex .arf player here

Powerpoint Presentation

Biodata Development Tech Talk:  In this meeting the Development Lead (Mike Stern) for the Biodata project, will discuss several key areas of the project, and what he views as keys that led to a successful project.  The intent of this discussion is to cover some of the areas below.  Discussion and questions are encouraged.  A slide show is attached for early review.

Project Objectives: A secure, modern, web-oriented, extensible and adaptable system for the capture, storage, curation, and distribution of bioassessment and supporting habitat data commonly collected for NAWQA and other USGS projects. Version 1 to support stream macroinvertebrate, algal periphyton, fish-community and instream habitat data collected using protocols of USGS National Water-Quality Assessment Program (NAWQA) and the USEPA National Rivers and Streams Assessment (NRSA).

  • Project Structure
    • Clients: Project managers/Business analysts
    • Developers: Small team (never > 8 devs at one time)
    • Agile--Both Client and Developer buy in
    • 2 week iterations 3-4 meetings per iteration
    • Daily standups (separate client and developers)
    • 3 main projects (Data Entry, ETL, Reporting/warehousing)
    • Integrations with Legacy Inputs (NWIS Sites, Biotdb, Labs) *
  • Application Features
    • REST services to JS front end...clear decoupling
    • Auto Save with Real time validation (avoid save buttons)
    • Quick Search using index tables
    • Dynamic object hierarchy inflation (with api) *
  • Technology Stack
    • layered java, REST-ful webservice, extJS UI, Oracle
    • JBoss AS, Apache, centOS
    • Key Java libraries: Spring, Ibatis 2, RESTeasy, Jasper Reports
    • Oracle XML tables using hierarchical queries *
  • Development Methodology/Practices
    • Test Driven Development--Make it Break, Make it Work, Make it Pretty
    • Continuous integration: good coverage, encourage early and often check ins
    • Push Button Deploy and 'releases'
    • Light weight process (code reviews, build and deploy, documentation)
    • Optimize when necessary *
  • *Tooling:*Rely on automation to make the developers job 'easy'. Leverage open source tools.
    • SVN
    • Maven
    • Eclipse
    • IReport
    • Jenkins
    • Selenium
    • Remedy *