Transcript WebServices
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
12/04/2016
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
12/04/2016
4
Web services
Information services
XML(?) packets of re-usable data
Computational services
bigger parameter set
e.g. description of a finite element model!
12/04/2016
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
12/04/2016
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
12/04/2016
8
WFS in detail …
Standard request syntax:
Standard response:
e.g. GetFeature
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
standard request keys
<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>
FeatureCollection, using a
GML application language
12/04/2016
9
WFS & Geography Markup Language
GetFeature 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=GetFeature&
PROPERTYNAME=xmml:collarLocation,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
12/04/2016
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
12/04/2016
12
Community language == interoperability
WFS
Client
(data mining)
WFS
Client
WFS
WFS
Server
Server
(visualisation)
WFS
Client
(simulation)
WFS
Client/
Server
Sensor
standard message
new services can be added dynamically
private agreements not required
12/04/2016
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
12/04/2016
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
12/04/2016
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
12/04/2016
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
ArcIMS
AXL mixes information, presentation, session state
12/04/2016
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
(FastFlo)
12/04/2016
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
(FastFlo)
(In Situ
sensor)
XMML - “Information bus”
12/04/2016
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
12/04/2016
22
Questions?
http://xmml.arrc.csiro.au
12/04/2016
23
12/04/2016
24