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