310 likes | 398 Views
Development Collaboration Workshop 2010. Iris. Field Motivation. Field needs an advanced set of integrated DSS tools Situational awareness beyond current capabilities of AWIPS Event logging/storm reporting Cataloging of impacts/concerns Contact management (spotters, EM, etc.)
E N D
Field Motivation • Field needs an advanced set of integrated DSS tools • Situational awareness beyond current capabilities of AWIPS • Event logging/storm reporting • Cataloging of impacts/concerns • Contact management (spotters, EM, etc.) • Sharing of local office DSS data to assist in service backup • Mapping data interface – common application to display all data • Field needs a single framework for future field innovation efforts
Iris Motivation • Build Data Compatibility / Build DSS Solutions • Central collection and distribution point for many types of data • Replace multitude of programs, databases, and data formats with a single structure and location where this information is stored and retrieved • Facilitate sharing of information between offices, programs, regional and national headquarters • Provide common interface from which forecasters can easily determine if forecast weather will have an impact on particular NWS stakeholders.
What is Iris? • A database framework engineered to manage many types of NWS data: • customer contact information, criteria and thresholds, spotter information, communication logs, equipment status, office/community events, weather events and storm reports, NWS products, and verification • Products broken down and stored in their atomic parts Development being done with industry standards AND consistent with AWIPS Extended technologies
Background • Grew from field efforts to address DSS needs; each application using similar data • StormLog (spotter management / report logging) • PANDA (verification) • SevereClear (situational awareness) • Various spreadsheets / contact management • Each application required its own database and decoders • Info entered multiple times; hard to manage or share, duplication of effort • Group of field/regional staff banded together and engineered concept of single database structure for all applications • Often without easy ways to support backup modes
BackgroundContinued • Iris team developed current goals/structure/framework • Sought out and conducted own training on technologies • Field/Regional staff developing in spare time • ITOs, SOOs, WCMs, Forecasters, Program Mgrs • Using patch work equipment • Progress has been good...given part-time aspect • IAB/RITT/OS&T funded 2 developer workshops (January 2010, August 2010)
Architecture IrisCore Database Postgres + PostGIS Persistence Hibernate Spring RPC Jabsorb Web Client Qooxdoo
Database • Postgres • PostGIS extensions • Contains Pre-populated quality controlled NWS and General GIS data
Persistence Layer • Hibernate • ORM (Object Relational Model) • Translates objects between database and Java • Hibernate Spatial • Allows use of spatial data and spatial restrictions in ORM • Write queries in HQL, SQL, or Criteria
Spring • Dependency Injection • Connection of objects in configuration files • Relieves righting of lots of boilerplate code • Security • Spring MVC • Spring AOP • Integrates well with Hibernate
Jabsorb • RPC framework between java objects and JavaScript • Exchange done in JSON • Have written custom marshalling and unmarshalling for GIS object, using GeoJSON
Qooxdoo • JavaScript framework • Adapted to work with Jabsorb • Also integrated with OpenLayers • Built Iris Javascript framework on top of Qooxdoo • Uses Python compilation to build and minify code for deployment.
Development environment • Subversion • Maven • Eclipse • Trac • Agile Development process • Broken out so the client developers only need to setup small environment to get working • Distributed Development
Maven • Project Dependency • Dependency management through pom.xml • This version controlled • Project Lifecycle Management • Clean, Build, Deploy, Package and configure from build scripts
Distributed Development • NWSChat • GoToMeeting • Bi-weekly conf calls • Planning and code sprint meetings
Iris WebClient Applications • Initial phase: implement 4 DSS applications – Iris Web: • Next Generation Local Storm Report (LSR) Program • Contact Management • Impacts Catalog • Situational awareness display • All using a single database and client application framework • Allows for ease of local data sharing, especially for service backup situations
Iris Web Client Application • Next Generation LSR Program • Easy collection and logging of storm reports • More accurate location data • GIS enabled data • Multiple exporting formats to meet customer needs • Will meet Service Assessment action from Enterprise, AL assessment (recommendation 3c) • Currently being tested in some field offices • Awaiting hardware, hosting issues to be solved
Iris Web Client Application • Contact Management (in development/testing) • Allow field/regional office to collect, store, share, and use contact information • Spotters, partners/customers, agency contacts, media logs, calendars, etc • Can integrate this data with the other applications
Iris Web Client Application • Impacts Catalog (in planning phase) • Tool to organize and utilize individual core partners’ weather impact criteria • Learn their needs and decisions, input the weather impacts into Iris Web • Means to begin capturing impacts based verification (developing service based matrices) • Searchable, GIS database puts local impact information in hands of forecasters to better provide DSS
Iris Web Client Application • Situational Awareness Display (in development/testing) • Mapping data interface – The common application to all applications • Queryable mashup of all data (live and archived) • Forecasters can keep track of warnings, reports, radar, contacts, and quick verification....all in one display • Will meet Service Assessment action from Super Tuesday Tornado assessment (recommendation 6)
Scheduled Milestones • Development cycle is managed through Sprints • Sprint to happen on a month cycle • Backlog
Major Data and Design Elements • All data modeled in POJO (Plain Old Java Objects) • Javascript mapping is to standard (JSON and GeoJSON) • Using industry standards and conventions • Spring, Hibernate, PostGIS, Maven, Agile development • Store existing NWS products in Spatial database • Correlation of Spatially related data
Use Case one (Contact Management) • Office needs to manage contact list • EMAs • Spotters • Places to call to validate storm impact • Data needs to be spatially related and queried spatially • Shared among office for backup operations
Use Case two • Impacts catalog • Decision support • Need to manage weather related criteria • Example is iNWS • Needs to be formally integrated across all offices • Need to be able to spatial correlate to forecast and warning data, for alerting
Areas of interest and overlap • Share same architectural elements as AWIPS • Camel, Hibernate, Spring, Quartz • We all deal with spatially related data • This project provides the backbone for iNWS, and Ridge II data ingest
Current Iris Connections • Iris concept established through other OSIP projects • RIDGE 2 radar (OSIP 05-072) • iNWS mobile dissemination application (OSIP 09-017) • Next Generation LSR Program (OSIP 09-013) • NWSChat (OSIP 08-020) • Collaborating w/GSD on Integrated Hazards Information System (IHIS) (OSIP 04-008) • Lots of common ground between the projects • Working with OCWWS/HSD to meet action item from Red River Service Assessment for AHPS
Potential Overlaps • WES • Need for same data • Playback of archived data for training and review • Case review • ADVISOR • Situational awareness
Long-Term Goals – NWS Use of IrisBe the standard database framework for all NWS weather operations (consolidate systems/databases) “Achieving the NextGen weather vision will require increased compatibility among NOAA systems (e.g., through common data standards and formats), the enterprise infrastructure to link the systems to one another, and intensified cooperation among the NOAA system owners.” Build compatibility
Future • Delivery of Virtualized development server to CRH • Integration with NWSChat • Integration with Twitter • Deployment on Operational server
Questions Jason.Burks@noaa.gov Darone.Jones@noaa.gov