Web Services and Geologic Data Interchange Simon Cox CSIRO Exploration & Mining
15/11/ Outline Web-hosted information services Geospatial information services Publishing geospatial information Service chains
Web Services HTTP is a lot more than web-pages
15/11/ Evolution of web-page delivery Static webpages URL maps to disk-file Dynamically generated webpages URL maps to a parameterised procedure call Result still only accessible to humans
15/11/ Web services Information services XML(?) packets of re-usable data Computational services bigger parameter set e.g. description of a finite element model!
15/11/ Parameterised request Dynamically generated webpages URL maps to a local procedure call with arguments Each service encodes query differently unique UI typically have a single (browser-hosted) UI for each service tight integration is the norm because of the requirement for advance agreement between client and service Can we have looser integration? yes – if we can standardise query/response syntax this requires a standardised information-view I.e. only possible within an information community
Geospatial Information Services A big community …
15/11/ Open GIS® Consortium Service implemented as a set of operations request-response message pairs carried over http Fine-grained Important component of “Spatial Data Infrastructures” NB – can be implemented on SOAP, but only http is required Web Feature Service Standard interface to geospatial data
15/11/ WFS in detail … Standard request syntax: e.g. GetFeature Standard response: SERVICE=WFS& VERSION=1.0.0& REQUEST=GetFeature& PROPERTYNAME=xmml:collarLocation,xmml:logs& TYPENAME=xmml:Borehole& BBOX=135.1,-34.0,135.2,-33.9 … … … standard request keys FeatureCollection, using a GML application language
15/11/ WFS & Geography Markup Language GetFeature request is cast in terms of the GML representation feature type, properties use element names from the GML representation Conformant WFS must provide a GML response other formats may be provided at discretion of service provider e.g. shapefiles WFS == “virtual GML view” of a data-store SERVICE=WFS& VERSION=1.0.0& REQUEST=GetFeature& PROPERTYNAME=xmml:collarLocation,xmml:logs& TYPENAME=xmml:Borehole& BBOX=135.1,-34.0,135.2,-33.9
Publishing Geospatial Information Adding value to your data-store
15/11/ Private vs. public data models WFS is a façade to a DB or GIS WFS Client WFS Server Data-store normally organised for custodian’s requirements esp. maintenance Published view should match community requirements Responsibility for preparing data is on server-side
15/11/ Community language == interoperability WFS Client WFS Server WFS Client (data mining) WFS Client/ Server WFS Client (simulation) WFS Server Sensor standard message new services can be added dynamically private agreements not required (visualisation)
15/11/ Different views of information SpecimenAu (ppm) Cu-a (%)Cu-b (%)As (ppm)Sb (ppm) ABC Result/observation view: Each Cell gives the result of a single analysis Database insertion and update Feature view: Each Row gives all properties of one specimen or target Coverage view: Each Column = variation of a single property across locations Pattern/anomaly detection
15/11/ Different views == different services? SpecimenAu (ppm) Cu-a (%)Cu-b (%)As (ppm)Sb (ppm) ABC Result/observation view: Cell Feature view: Row Coverage view: Column Multiple interfaces to the same data-store each publishing a different “view” by factoring the data using a different schema
15/11/ Adding more value WFS Client WFS Server publish multiple views of same data (visualisation)(measurements) WFS Client (visualisation) WFS Server (features) WFS Server (coverages) WFS Client (visualisation)
15/11/ Deployment requirements Develop GML Application Language(s) serialisation of community information model XMML + ? WFS server-side software mapping from private to public data models on the server Client applications desktop software must have WFS client back-end applets in standard portals browser-hosted applications Middleware data-source catalogues, service registries, brokering SDI’s
15/11/ Alternatives Publish an XML view of private data model less demanding on server - no-schema mapping on server -> requires more work at the client community interoperability based on standard “private” models (tables) Ship Objects Corba, DCOM tight binding, proprietary platform .NET, Java-objects, SOAP ArcIMS AXL mixes information, presentation, session state
Service chains? Complex behaviour through composition of simple services
15/11/ Combining systems Data Service (Field Geologist) Data Service (Geophysical contractor) Modelling service (CAD) Modelling service (FastFlo) Data Service (Analytical Lab)
15/11/ Data Service (Geological Survey) Service binding standard message new services can be added dynamically no private agreements XMML Over http, , filesystem XMML - “Information bus” Data Service (In Situ sensor) Data Service (Field Geologist) Data Service (Geophysical contractor) Portrayal service Modelling service (CAD) Data Service (Analytical Lab) Modelling service (FastFlo) Modelling service (Geochemists workbench)
15/11/ Take-home Late binding of web-services requires standard request/response syntax Standards for geospatial web-services are available from OGC GML encoding of payload is required. This can 1.merely serialise the private data model 2.publish data according to a community language Public/community language provides greater interoperability but imposes greater organisational challenge
15/11/ Questions?
15/11/