690 likes | 814 Views
Best Practices in Geospatial SOA. NSDI Cooperative Agreements Program (CAP) 2008 Best Practices in Geospatial Service Oriented Architecture (SOA) Project Contacts: Neil Devadasan , ndevadas@iupui.edu Jeff Ehman , jeffe@imagemattersllc.com Jeff Harrison, jharrison@cubewerx.com. Topics.
E N D
Best Practices in Geospatial SOA NSDI Cooperative Agreements Program (CAP) 2008 Best Practices in Geospatial Service Oriented Architecture (SOA) Project Contacts: Neil Devadasan, ndevadas@iupui.edu Jeff Ehman, jeffe@imagemattersllc.com Jeff Harrison, jharrison@cubewerx.com
Topics • Introduction • What is SOA? Some Common Definitions • Defining Requirements and Processes • Designing and Deploying SOA • Questions
Introduction • For the US Federal Government’s Geospatial Line of Business (LoB) effective design and deployment of Service Oriented Architecture (SOA) using Web Services will determine the success of shared access to geospatial data and applications.
Maps and location-aware technology Users Citizens Services Oriented Architecture (SOA) Governance Geospatial Web Services... Geospatial Assets Federal Data Providers
CAP 2008 Category 2 Projects • Government and industry leaders design, deploy, and document reusable geospatial services and applications using SOA. • Solutions satisfy multi-agency requirements by modeling business processes & related data and service components. • Documents best practices to educate federal agencies on design, implementation, and application of government-wide services for Geospatial LoB.
Participants • Image Matters and EPA • The Polis Center, Indiana University, USGS and NWS • CubeWerx and US Army Corps of Engineers (with support from The Carbon Project)
Users Citizens What’s the best way to deploy SOA for our Geo-Assets? Services Oriented Architecture (SOA) Governance Geospatial Web Services... Geospatial Assets Data Providers
Example of the Challenge • Quick look at interagency processes enabled by geospatial SOA • For example, regulatory permitting that requires data from US Army Corps of Engineers, EPA, USGS and others…
EPA & COE Managers EPA Analysts Services Oriented Architecture (SOA) Governance Geospatial Web Services... Geospatial Assets USGS Contextual Layers WMS USGS NHD WFS FWS NWI WFS
What is SOA? • SOA is software architecture oriented toward Services • Service-oriented architecture (SOA) describes a category of composite applications composed of service provider and service consumer components. • SOA segregates business logic and offers location transparency for the service providers and consumers. • The SOA approach lets you replace or upgrade individual components in the application without affecting other components or the process as a whole.
Common Definitions 1. metadata describing the operations and geographic information available at a server [ISO 19128 draft]
Developing geoSOA Elicit Requirements Model Business Process Monitor and Manage Design Integrate and Build Test and Deploy
Defining Requirements and Processes Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
CONOPs Use Cases
Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
Geospatial Infrastructure Concept of Operations (CONOPs) 1 Flood forecast are issued Online stream gauges Building Property Assessment, Socio-Demographics DEM 2 Geo-Spatial Flood Maps are Generated 3 Building and Property Losses are Generated USGS Water Data 4 Socio-Demographic Statistics are Generated Meteorologist Concerned Citizen Flood planner Hydrologist Socio-Demographic Statistics Building and Property Losses Flood Forecast Geo-Spatial Flood Maps Local Government Data Emergency Responder Data/ Service Provider
Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
Geospatial Infrastructure Concept of Operations (CONOPs) NSDI Framework Data/ Service Provider Data/ Service Provider 1 - Authentication Data/ Service Provider Data/ Service Provider Data/ Service Provider 2 - Single Sign-On User User User User User User User 3 - Access Control Data Provider Registry Agent 2.Discover 1.Publish Provider User 3.Access Web Application Data and Services Data/ Service Provider Data/ Service Provider Other SDI
Use Cases Manage Users Access by Geography Access by Feature Manage Roles Access by Role Manage Credentials Security Manager NSDI End User ‘Jeff’ Access by Operation Type Manage Groups USACE Data Provider Update by Operation Type Manage Access Control Rules Update by Feature USACE End User ‘Keith’ Authorize Users NSDI Data Provider Deploy Data Portal Provider Update by Role
Designing and Deploying SOA Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
User Steps • Zoom to AOI • Select NWI polys • Initiate WPS and name results set • View/Add/Save metadata • List processed features • Examine map • Add contextual layers
Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
Designing a Geospatial SOA • A SOA solution will provide a very cost effective solution • SOA provides a platform to perform complex business processes • Without SOA developing a process to cater all partners was unattainable • SOA is inherently distributed with multiple services • Service applications are heterogeneous • It provides synchronous and asynchronous access to PI • Complexity of service orchestration is handled by • Accepted solution is BPEL • Acts like the “middle man” or the “centralized web service” • BPEL keeps process state in schema • BPEL coordinates synchronous and asynchronous communication • BPEL performs Receive, Assign, Invoke and Reply activities • BPEL processes are deployed on ESB based on JBI
Design Translating requirements into UML, documenting the process.
Translating UML into BPEL workflow: service composition and execution. LINK TO BPEL GRAPHIC.
Flooding • Floods cause more death and destruction of property than any other natural hazard in the United States • 75% of all federally declared disasters are flood-related. • The June 2008 floods in Indiana, Illinois, Iowa, and other parts of the Midwest reinforced the importance of this problem. • <20 deaths but potentially billions of dollars in damage.
What can be done? • Flood planning, forecasting, and emergency response can all be greatly enhanced by integration of online Web services. • Existing services include online NWS stream gauges and Weather forecasting services. • Our project goal is to couple these to flood modeling services, loss estimation services, and mapping services. • Connect these services end-to-end as workflows. • Provide planning capabilities to mitigate extreme events. • Provide alert systems to quickly estimate at-risk areas • Automate and streamline loss estimation to simplify disaster declartations.
Project Study Area • Ravenswood neighborhood of Indianapolis. • Frequent flooding; site of IMA Virginia B. Fairbanks Art and Nature Park • Extensive historical data, detailed elevation data, building inventory
Users Citizens Access-Control NSDI Project Analysis NSDI Project Services Oriented Architecture (SOA) Services NSDI Project Governance Geospatial Assets Data Providers
Login Client Access Control WFS Request & Response Authentication SOA Design and Role-based Access Control Scenario 1: NSDI Client accessing a local resource WFS Request Cookie WFS Response IMS WFS Identity Management Web Server NSDI Framework site
Login Client WFS Request Cookie WFS Response WFS Request WFS Request & & Access Control Access Control Authentication Response Response CI Federation Fine grain accessControlrules: NRCan Client: Feature Constraints Spatial ExtentConstraints SOA Design and Role-based Access Control Scenario 2: NSDI Client accessing a remote resource Other Client IMS WFS Identity Management Web Server IMS WFS Identity Management Web Server NSDI Framework site Other SDI (Critical Infrastructure site)
Demonstration Architecture WMS &WFS Access Control Rules Gaia Viewer Carbon Arc HTTPS IMS Access Control Rules Access Control Rules WMS WFS CubeSTOR
Testing - Role-based Access Control • Access Control by – • Role • Geography • Feature • OGC Operation • Roles – • NSDI User – ‘Jeff’ • EOC User – ‘Keith’ • DataProvider – ‘Edric’ • WFS to Secure SDI client Island of Galveston Jeff Keith Edric