Web Services and Geologic Data Interchange
Simon Cox
CSIRO Exploration & Mininghttp://www.em.csiro.au
20/04/23 2
Outline
Web-hosted information services
Geospatial information services
Publishing geospatial information
Service chains
Web Services
HTTP is a lot more than web-pages
20/04/23 4
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
20/04/23 5
Web services
Information services XML(?) packets of re-usable data
Computational services bigger parameter set
e.g. description of a finite element model!
20/04/23 6
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
Geospatial Information Services
A big community …
20/04/23 8
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
20/04/23 9
WFS in detail …
Standard request syntax: e.g. GetFeature
Standard response:
http://wfs.my.big.org&
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
<gml:FeatureCollection gml:id=“C23"> <gml:boundedBy> … </gml:boundedBy> <gml:featureMembers> <xmml:Borehole gml:id="R456"> <xmml:collarLocation … /> <xmml:logs> … </xmml:logs> … </xmml:Borehole> … </gml:featureMembers></gml: FeatureCollection>
standard request keys FeatureCollection, using a GML application language
20/04/23 10
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
http://wfs.my.big.org&
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
20/04/23 12
Private vs. public data models
WFS is a façade to a DB or GIS
WFSClient
WFSServer
Data-store normally organised for custodian’s requirements esp. maintenance
Published view should match community requirements
Responsibility for preparing data is on server-side
20/04/23 13
Community language == interoperability
WFSClient
WFSServer
WFSClient
(data mining)
WFSClient/Server
WFSClient
(simulation)
WFSServer
Sensor
standard message new services can be added dynamically private agreements not required
(visualisation)
20/04/23 15
Different views == different services?
Specimen
Au (ppm)
Cu-a (%) Cu-b (%) As (ppm) Sb (ppm)
ABC-123 1.23 3.45 4.23 0.5 0.34
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
20/04/23 16
Adding more value
WFSClient
WFSServer
publish multiple views of same data
(visualisation) (measurements)
WFSClient
(visualisation)
WFSServer
(features)
WFSServer(coverages)
WFSClient
(visualisation)
20/04/23 17
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
20/04/23 18
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
20/04/23 20
Combining systems
Data Service
(Field Geologist)
Data Service
(Geophysical contractor)
Modelling service
(CAD)
Modelling service (FastFlo)
Data Service (Analytical
Lab)
20/04/23 21
Data Service (Geological Survey)
Service binding
standard message new services can be added dynamically no private agreements
XMMLOver http,
email, 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)
20/04/23 22
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
20/04/23 23
Questions?
http://xmml.arrc.csiro.au
20/04/23 24
Top Related