Web Services and Geologic Data Interchange Simon Cox
Web Services and Geologic Data Interchange Simon Cox CSIRO Exploration & Mining http: //www. em. csiro. au
Outline § Web-hosted information services § Geospatial information services § Publishing geospatial information § Service chains 16/09/2020 2
Web Services HTTP is a lot more than web-pages
Evolution of web-page delivery § § Static webpages § http: //my. big. org/people/fred. html § URL maps to disk-file Dynamically generated webpages § http: //my. big. org/catalogue? item=358 § § URL maps to a parameterised procedure call Result still only accessible to humans 16/09/2020 4
Web services § Information services § XML(? ) packets of re-usable data § Computational services § bigger parameter set § e. g. description of a finite element model! 16/09/2020 5
Parameterised request § Dynamically generated webpages § § § http: //my. big. org/catalogue? item=358 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 16/09/2020 6
Geospatial Information Services A big community …
Standard interface to geospatial data Web Feature Service § 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 16/09/2020 8
WFS in detail … § Standard request syntax: § Standard response: § e. g. Get. Feature http: //wfs. my. big. org& SERVICE=WFS& VERSION=1. 0. 0& REQUEST=Get. Feature& PROPERTYNAME=xmml: collar. Location, xmml: logs& TYPENAME=xmml: Borehole& BBOX=135. 1, -34. 0, 135. 2, -33. 9 § standard request keys <gml: Feature. Collection gml: id=“C 23"> <gml: bounded. By> … </gml: bounded. By> <gml: feature. Members> <xmml: Borehole gml: id="R 456"> <xmml: collar. Location … /> <xmml: logs> … </xmml: Borehole> … </gml: feature. Members> </gml: Feature. Collection> § Feature. Collection, using a GML application language 16/09/2020 9
WFS & Geography Markup Language § Get. Feature request is cast in terms of the GML representation § feature type, properties use element names from the GML representation http: //wfs. my. big. org& SERVICE=WFS& VERSION=1. 0. 0& REQUEST=Get. Feature& PROPERTYNAME=xmml: collar. Location, xmml: logs& TYPENAME=xmml: Borehole& BBOX=135. 1, -34. 0, 135. 2, -33. 9 § 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 16/09/2020 10
Publishing Geospatial Information Adding value to your data-store
Private vs. public data models § WFS is a façade to a DB or GIS WFS Client WFS Server § § Published view should match community requirements § Responsibility for preparing data is on server-side Data-store normally organised for custodian’s requirements § esp. maintenance 16/09/2020 12
Community language == interoperability WFS Client (data mining) WFS Client WFS Server (visualisation) WFS Client (simulation) § WFS Client/ Server Sensor standard message § § new services can be added dynamically private agreements not required 16/09/2020 13
Different views == different services? § Result/observation view: Cell Specimen Au (ppm) Cu-a (%) Cu-b (%) As (ppm) Sb (ppm) ABC-123 1. 23 3. 45 4. 23 0. 5 0. 34 § § 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 16/09/2020 15
Adding more value § WFS Client WFS Server (visualisation) (features) WFS Client WFS Server (visualisation) (measurements) WFS Client WFS Server (visualisation) (coverages) publish multiple views of same data 16/09/2020 16
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 16/09/2020 17
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 § Arc. IMS § AXL mixes information, presentation, session state 16/09/2020 18
Service chains? Complex behaviour through composition of simple services
Combining systems Data Service Modelling service (Field Geologist) (CAD) Data Service (Analytical Lab) Data Service (Geophysical contractor) Modelling service (Fast. Flo) 16/09/2020 20
Service binding § standard message new services can be added dynamically § § no private agreements Data Service (Field Geologist) Data Service (Analytical Lab) Data Service Modelling service (CAD) Data Service (Geochemists workbench) (Geological Survey) Data Service (Geophysical contractor) Modelling service XMML Over http, email, filesystem Portrayal service Modelling service (Fast. Flo) (In Situ sensor) XMML - “Information bus” 16/09/2020 21
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. 2. § merely serialise the private data model publish data according to a community language Public/community language provides greater interoperability § but imposes greater organisational challenge 16/09/2020 22
Questions? § http: //xmml. arrc. csiro. au 16/09/2020 23
16/09/2020 24
- Slides: 23