Post on 30-Dec-2015
transcript
www.csiro.au
Interoperability and architectures
Simon Cox
CSIRO Exploration and Mining
23 May 2006
NR Interoperability 2 of 71
Outline
Precedent – the SEE Grid demonstrator/use-case
WFS refresher
The Natural Resources puzzle
SOA model - publish-find-bind?
Registries are out-of-scope for this workshop
focus only on bind leg
“informational service interface profile”
www.csiro.au
NR Interoperability 4 of 71
NR Interoperability 5 of 71
NR Interoperability 6 of 71
NR Interoperability 7 of 71
NR Interoperability 8 of 71
NR Interoperability 9 of 71
NR Interoperability 10 of 71
NR Interoperability 11 of 71
NR Interoperability 12 of 71
NR Interoperability 13 of 71
NR Interoperability 14 of 71
NR Interoperability 15 of 71
NR Interoperability 16 of 71
NR Interoperability 17 of 71
NR Interoperability 18 of 71
NR Interoperability 19 of 71
Status quo: Different formats and standards
Data Structures
Proprietary Software
Versions of Software
User
NR Interoperability 20 of 71
The vision: Same format and standards
User
GML for Natural Resource Information
NRML
NRML
NRML
NR Interoperability 21 of 71
Standard informational service profiles
Business case revolves around:
Existence of multiple sources of same information types
Users want to replace or merge data sources, re-compose service chains, on demand at run time
Providers are willing to cooperate
regulatory push
market pull
Technical requirements
non-intrusive
discoverable
IPR protection, access and authentication control, accounting
orderly governance framework
NR Interoperability 22 of 71
The mechanism: OGC Web Feature Service
GML WFSServer
Data-source organised for custodian’s requirements
Community-specific GML application language
TigerGML, LandGML, GeoSciML, CSML, MarineXML, NRML etc
private public boundary
WFSClient
HTML
NR Interoperability 23 of 71
Standard transfer format allows multiple data sources
WFSClient
WFSServer
WFSServer
B
WFSServer
C
NR Interoperability 24 of 71
PIRSAWeb Feature Service (WFS)
Common Interface Binding – GML/XMML
GA Geochemistry
Feature Data Source
DOIRGeochemistry
FeatureData Source
DOIRWeb Feature Service (WFS)
GAWeb Feature Service (WFS)
Geoserver (Open Source)
PostGIS (Open Source)
OraclePostGIS (Open Source)
CLIENT APPLICATIONS
DATA ACCESS SERVICES
DATA SOURCES
WebMap Composer
GA Reports Application
PIRSA Geochemistry
FeatureData Source
Summary architecture
NR Interoperability 25 of 71
Data re-use
WFSClient
WFSServer
multiple views of same data
(features)
SOSClient
SOSServer
(observations)
WCSServer(coverages)
WCSClient
NR Interoperability 26 of 71
Combining with observation service
WFSClient
WFSServer
WFS/SOSClient/Server
(orchestration)
WFSClient
(simulation)
(mapping)
WFSClient (analysis &reporting)
SOSServer
Sensor
BPEL?
NR Interoperability 27 of 71
Service implemented as a set of operations
“REST” - request-response message pairs
carried over http
Fine-grained
~1-1000 features
GetFeature request
feature type
properties of interest – projection clause
filter condition – selection clause
Web Feature Service
WFS details
NR Interoperability 28 of 71
Report client
http://www.ga.gov.au/wfs/reader/wfsGeochemReaderHome.jsp
Many servers, one report
NR Interoperability 29 of 71 PIRSA DOIR GA
http://cgsrv3.arrc.csiro.au/seegrid/savedapps/filter
Many servers, one map
Mapping Client
NR Interoperability 30 of 71
NR Interoperability 31 of 71
Combine their data with your data
NR Interoperability 32 of 71
GML-based data can be …. Rendered into a
queryable map …
… formatted into a
report or ….
… read and used by any
WFS/GML enabled application
Pre-requisite: community-standard data model/encoding
One service – many uses
NR Interoperability 33 of 71
The Natural Resource Information Infrastructure puzzle (some pieces)
Data Bases /Systems
InformationProductsInformation
ProductsInformationProducts
XMLGML
document
StyleLayer
descriptor
“ARO”application
Web servicesWMSWFS
Schema.XSD
Processes
FeatureCatalogue UML
Abstract model
SensorSensor
Sensor
NR Interoperability 34 of 71
InformationProductsInformation
ProductsInformationProducts
SupportBusiness needsNRM planning &Investment decisions
Are createdby
Processes
That use
Data Bases /Systems
Are modelledby
UMLAbstract model
Are describedin
Information ProductTemplate (metadata)
FeatureCatalogue
That specifies
Is implementedby
Schema.XSD
“ARO”application
Sends request / query
Returns response
XMLGML
document
Is validatedby
Accesses
Accesses
Web servicesWMSWFS
Used todescribe
StyleLayer
descriptor
Is displayedwith
Are accessed through
SensorSensor
Sensor
Are fed by
Workshop Scope
NR Interoperability 35 of 71
Use-cases define requirements
Who are the users?
give them names!
What do they want?
tell a detailed story, sketch wireframes
“first X, then Y, visualized this way, allowing selection of Z”
Analyze the requests and data flow to determine the objects and features of interest
www.csiro.au
Domain modelling
Simon Cox
CSIRO Exploration and Mining
23 May 2006
NR Interoperability 37 of 71
Geographic Information Models
Viewpoints: Features, coverages and observations
NR Interoperability 38 of 71
How the world is seen: Fields vs. objects
mapped-objects“Feature” viewpoint
earth-observations“Coverage” viewpoint
NR Interoperability 39 of 71
1. Classic geometry-centric GIS approach
One shape per feature …
well suited to drawing maps
strictly an implementation strategy for portrayal
hides the (semantic) business object
Tenement
Points, lines and polygons are primary objects
Annotated with a set of attributes, often a row of scalar values
layer name => semantics
NR Interoperability 40 of 71
2. Conceptual object model: features
Digital objects correspond with identifiable, typed, objects in the real world
mountain, road, specimen, event, tract, catchment, wetland, farm, IBRA, bore, reach, property, lease-area
Feature-type is characterised by a specific set of properties
Specimen
ID (name)
description
mass
processing details
sampling location
sampling time
related observation
material
…
NR Interoperability 41 of 71
Variation of a property across the domain of interest
For each element/position in a spatio-temporal domain, a value from the range can be determined
Discrete or continuous domain
Domain is often a grid
N.B. Arc/Info “coverage” == multi-geometry domain, attribute-table for each element
3. Spatial function: coverage
(x1,y1)
(x2,y2)
NR Interoperability 42 of 71
Feature properties
For “normal” features, the value of each property is constant on the feature
spatial values are just another property
multiple geometries possible, e.g. scale dependence, dimensionality
Some properties may vary across the feature
property value is described by a coverage
Specimen
ID (name)
description
mass
processing details
sampling location
sampling time
related observation
material
…
NR Interoperability 43 of 71
Cross-sections through information
Specimen Au (ppm) Cu-a (%) Cu-b (%) As (ppm) Sb (ppm)
ABC-123 1.23 3.45 4.23 0.5 0.34 A Row gives properties of one feature
A Column = variation of a single property across a domain (i.e. set of locations)
A Cell describes the value of a single property, often obtained by observation or measurement
NR Interoperability 44 of 71
4. Property-value estimate: Observation
An Observation is
an Event
time, location, responsible-party
whose result is an estimate of the value of some Property
= Determinand, Measurand, Analyte, Phenomenon
of its Feature-of-interest
e.g. tract, catchment, sampling-station, specimen
obtained using a specified Procedure
e.g. sensor, algorithm, model, process-chain, simulation
NR Interoperability 45 of 71
Observation model – Value-capture-centric view
An Observation is an Event whose result is an estimate of the value of some Property of the Feature-of-interest, obtained using a specified Procedure
NR Interoperability 46 of 71
Feature-of-interest centric view
Specimen
ID (name)
description
material
mass
processing details
sampling location
sampling time
related observation
…
Properties
attributes
association rolenames
NR Interoperability 47 of 71
Observation model
Defines the terminology for linking items of interest in observational science
NR Interoperability 48 of 71
Observations and coverages
If the property value is not invariant across the feature-of-interest
varies by location, in time
the corresponding observation result should be a coverage
individual values must be tied to the location within the domain, so the result will be an array of e.g.
time-value
position-value
stationID-value …
NR Interoperability 49 of 71
Domain modelling
Primarily involves domain-specific specializations of the second-layer (wrt Observation model):
Features-of-interest
feature-type catalogue for the domain
Determinands/properties
property dictionary or ontology
Procedures
standard procedures
A common vocabulary for these domain types must be adopted by the community
NR Interoperability 50 of 71
Example: AWDIP model
NR Interoperability 51 of 71
Information service requests
Information services will be based around the domain feature- types
e.g. “please tell me about”:
all properties of that tract/catchment/well
i.e. the values of all associated observations
the history of salinity at that station
i.e. the salinity time-series/temporal coverage with the station as the FoI
the reliability of that salinity value
i.e. the procedure and sampling parameters for the observation
NR Interoperability 52 of 71
Several views of the same information
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
Used for:
Quality/confidence assessment
Result calibration
Database insertion and update
Feature view
Assembled by:
Aggregation of multiple Observation/result having same featureOfInterest
Used for:
Object descriptionCoverage view
Assembled by:
Using suitable sampling regime on feature-of-interest
Aggregation of multiple Observation/result having same observedProperty
Used for:
Property variation
Pattern/anomaly/feature detection
NR Interoperability 53 of 71
Processing/value-adding chains
make homogeneous Observations according to a sampling regime
pixels, stations, clock-ticks
assemble results into a discrete Coverage
image, log, time-series
detect a Feature
anomaly, intelligence
Observations initiate chain leading to feature detection
make heterogeneous Observations on a pre-existing feature
patient, artefact, catchment
assemble results into description of set of Feature properties
Observations provide metadata on property values
NR Interoperability 54 of 71
Section view
Sometimes they appear together
Properties
Map view Survey
Continuous logs
Intervals
Horizons
Point observations
Position is 1-D arc-length from collar
Collar (Point Property)
Shape (Curve Property)
Samples
NR Interoperability 55 of 71
Which viewpoint? What are you interested in?
… describing a discrete object ? - Feature
property set characterizes feature type
associated observations provide property metadata
… variation of property within domain ? - Coverage
domain = feature of interest
e.g. tract, swath, time-period
associated observations provide results to populate coverage
… data acquisition event/process/quality ? - Observation
explicit procedure, capture time
NR Interoperability 56 of 71
OGC Information Service interfaces
Web Map Service
Catalog Service
Web Feature Service
Web Coverage Service
Sensor Observation Service
Sensor Planning Service (tasking)
Sensor Alert Service (subscription)
Web Processing Service
NR Interoperability 57 of 71
Value-adding chain
Observation
estimate of value of a property for a single specimen/station/location
data-capture, with metadata concerning procedure, operator, etc
Coverage
compilation of values of a single property across the domain of interest
data prepared for analysis/pattern detection
Feature
object having geometry & values of several different properties
1. classified object, snapshot for transport
geological map elements
2. object created by human activity, artefact of investigation
borehole, mine, specimen
www.csiro.au
Formalizing the model using UML as the conceptual schema language
Simon Cox
CSIRO Exploration and Mining
24 May 2006
NR Interoperability 59 of 71
Model of a specific feature-type
Specimen
ID (name)
description
material
mass
processing details
sampling location
sampling time
related observation
…
Static properties
attributes
association rolenames
NR Interoperability 60 of 71
GML serialization
<sa:SampledSpecimen gml:id="abc123">
<gml:description>Specimen collected in Dales Gorge, Karijini</gml:description>
<gml:name>Dales Gorge specimen #1</gml:name>
<sa:material>rock</sa:material>
<sa:mass uom="kg">1.21</sa:mass>
<sa:processingDetails xlink:href="urn:x-ogc:def:nil:OGC:unknown"/>
<sa:relatedObservation xlink:href="http://www.seegrid.csiro.au/observations/abc_123_o1"/>
<sa:samplingLocation>
<gml:Point gml:id="ot2p">
<gml:pos srsName="urn:x-ogc:def:crs:EPSG:6.3:62836405">
-22.0 136.0
</gml:pos>
</gml:Point>
</sa:samplingLocation>
<sa:samplingTime>
<gml:TimeInstant gml:id="ot1t">
<gml:timePosition>2005-01-11T17:22:25.00</gml:timePosition>
</gml:TimeInstant>
</sa:samplingTime>
</sa:SampledSpecimen>
NR Interoperability 61 of 71
UML – Class Diagrams
Information Structure
c.f E-R, plus
several distinct varieties of relationships
associations
association roles
association direction
inheritance
realization
aka interface
class attributes may have complex type
NR Interoperability 62 of 71
Sampling features hierarchy
NR Interoperability 63 of 71
UML extension mechanism - stereotypes
Specialized meta-elements(Class types)
<<FeatureType>>
<<Type>>
<<DataType>>
<<Enumeration>>
<<CodeList>>
<<Union>>
<<BasicType>>
(ISO 19103/19136 profile)
NR Interoperability 64 of 71
UML extension mechanism – constraints
OCL may be used to express additional constraints
NR Interoperability 65 of 71
UML extension mechanism – Tagged values
Formal annotations – typically implementation details
Also see package tagged values
NR Interoperability 66 of 71
UML/GML
ISO 19103 & ISO 19136 provide 2 things:
modelling pattern
based on General Feature Model
implemented as a profile of UML and usage patterns
which leads directly to an XML Schema
components
base classes
implementation of utility classes & data-types from ISO 19107, 19108, 19111, 19123
NR Interoperability 67 of 71
“GML Application Schema”
follows patterns
rolenames on associations
navigability & cardinality
etc
utilizes base classes and utility components
<<FeatureType>> → specializes gml:AbstractFeature
<<Type>> → specializes gml:AbstractGML
incl. gml:AbstractGeometry
GenericName → gml:CodeType
GM_Object → gml:AbstractGeometry
etc
NR Interoperability 68 of 71
Standard packaging – Hollow World
UML Template
Pre-loaded with the ISO 19100 series models and others for which canonical GML or GML-conformant implementations are available
ISO 19103 – basic data types
ISO 19107 – geometry & topology
ISO 19108 – temporal objects & reference systems
ISO 19111 – spatial position & coordinate reference systems
ISO 19115 – metadata (mostly dataset-oriented)
ISO 19136/GML
SweCommon, O&M, Sampling
Geo – solid geometry elements
Configuration file to map UML elements to their canonical XML Schema representation
various namespaces
NR Interoperability 69 of 71
Direct GML serialization
<?xml version="1.0" encoding="UTF-8"?>
<om:Observation gml:id="obsTest1"
xmlns:om="http://www.opengis.net/om"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:gml="http://www.opengis.net/gml"
xsi:schemaLocation="http://www.opengis.net/om ../om.xsd">
<gml:description>Observation test instance</gml:description>
<gml:name>Observation test 1</gml:name>
<om:time>
<gml:TimeInstant gml:id="ot1t">
<gml:timePosition>2005-01-11T16:22:25.00</gml:timePosition>
</gml:TimeInstant>
</om:time>
<om:location xlink:href=" http://some.interested.org/stationS1"/>
<om:procedure xlink:href="urn:x-ogc:object:feature:Sensor:OGC:scales"/>
<om:observedProperty xlink:href="urn:x-ogc:def:phenomenon:OGC:mass"/>
<om:featureOfInterest xlink:href="http://some.interested.org/vegetables/instances/banana1"/>
<om:result xsi:type="gml:MeasureType" uom="urn:x-ogc:def:uom:OGC:kg">0.28</om:result>
</om:Observation>
NR Interoperability 70 of 71
Challenges
Non-invariant properties encoding “coverages” in the result
array of
time-value
position-value
stationID-value
Establishing standard catalogues/dictionaries: Properties/Phenomena
Procedures/Instruments
Record schemata
Patterns for specialization Assay-measurement
WQ-observation
Met-observation
www.csiro.au
Thank You
CSIRO Exploration and Mining
Name Simon Cox
Title Research Scientist
Phone +61 8 6436 8639
Email Simon.Cox@csiro.au
Web www.seegrid.csiro.au
Contact CSIRO
Phone 1300 363 400
+61 3 9545 2176
Email enquiries@csiro.au
Web www.csiro.au