(GIN) Mediator
Download
Report
Transcript (GIN) Mediator
AN ORGANISATION FOR A NATIONAL
EARTH SCIENCE INFRASTRUCTURE PROGRAM
WFS IMPLEMENTATION DISCUSSION
Alistair Ritchie
Senior Information Geoscientist
GeoScience Victoria
Department of Primary Industries
Introduction
• Commercial applications
– Snowflake Software (GO Publisher)
– ERDAS Web (Apollo)
– ESRI
• Bespoke applications
• Open source applications
– Groundwater Information Network (GIN) Mediator
– Deegree WFS (using virtual output formats)
– GeoServer (with Application Schema module)
• GSV Experience
• Summary
Constraints
• Serving Application Schema that:
– comply with OGC Simple Features Profile for GML – Level 1
– extend GML v 3.1
• From Web Feature Services that:
– Meet the OGC WFS Implementation Specification v1.1
– Meet the OGC Filter Specification v1.1
Commercial Applications
• Snowflake Software GO Publisher WFS
–
–
–
–
–
Create GML-SF1 WFSs on Oracle databases
GUI driven database to schema mapping and configuration
Will be used by British Geological Survey for its production services
Not quite GeoSciML ready
Elegance of solution comes at a cost
• ERDAS Web: Apollo
– Formerly Ionic Red Spider
– Uncertain Simple Features Level 1 Support
• ESRI WFS
– No Simple Features Level 1 Support
– Would require a mediated approach
Bespoke Applications
• Implemented at GeoScience Australia and BRGM
(France)
• Intended as interim solutions
• Very tightly coupled to particular schema in particular
databases
• Hard-coded – not configurable
• Limited functionality
• Not compliant with OGC WFS specifications
Deploying a WFS
Steps and Skills
• The following steps are taken when setting up a WFS
• Presented as a bar to give an idea of relative effort
Installation (System administrator, ITS provider)
Data mapping (Database admin/owner, domain expert)
Configuration (WFS user)
Programming or Magic (WFS user*)
• Installation, data mapping, configuration always required
• Programming depends on the solution
* Preferably one you don’t like.
Groundwater Information Network
(GIN) Mediator
• Framework for mediating between a client and a network
of services
• Developed by the Geological Survey of Canada
<<xml>>
GeoSciML
Request
Client
<<gml>>
GeoSciML
Response
GIN
Mediator
<<xslt>>
Request
<<xslt>>
Response
Source WFS(s)
<<xsd>>
Private
Schema
Datastore
Groundwater Information Network
(GIN) Mediator
Open Source
Groundwater Information Network (GIN) Mediator Geol. Survey of Canada
Datastores
Any Web Feature Service
Effort
Install Database Mapping
Skills/Knowledge
Database Management/SQL (data for source service);
Source WFS Configuration;
Sound understanding of target GML schema;
Sound understanding of XSLT;
Apache Cocoon; Building and deploying Java applications
Pros
Extremely powerful;
Can be used to serve complex features from simple feature services;
Perfect for networks of heterogeneous services;
Advanced features such as full vocabulary mapping support
Cons
Excessive solution for most users;
Complicated - configuration of a number of components
GeoSciML/
AuScope Users
Geological Survey of Canada;
British Geological Survey (GeoSciML Testbed – on ArcIMS);
APAT, Italy (GeoSciML Testbed – on ArcIMS)
Config (xsd)
Program (xslt)
Deegree WFS
• Java OCG Web Server Application
• Developed at the University of Bonn, Germany
<<xml>>
GeoSciML
Request
Client
<<gml>>
GeoSciML
Response
Virtual
outputFormat
<<xslt>>
inFilter
<<xslt>>
outFilter
Deegree WFS
<<xsd>>
Private
Schema
Datastore
Deegree WFS
Open Source
Deegree WFS (using virtual output format)
Lat/Lon, University of Bonn
Datastores
Oracle; PostGIS; ArcSDE; Shapefile; ‘Generic SQL’ (incl. SQL Server; DB2)
Effort
Database Mapping
Skills/Knowledge
Database Management/SQL;
Sound understanding of GML schema;
Sound understanding of XSLT
Pros
Serves GeoSciML from one application;
Allows data-type polymorphism;
Stable existing implementations
Cons
Multiple, and tricky, configurations for requests and responses;
Limited Documentation;
Small community;
Dead end: version 2 to be replaced by version 3 – a complete rebuild
GeoSciML/
AuScope Users
GeoScience Victoria (testbed and demonstration services);
Arizona Geological Survey/US Geological Survey;
Czech Geological Survey
Config (xsd)
Program (xslt)
Data-type Polymorphism
One property, but the value can have multiple data types. For example ‘Proportion’:
<gsml:proportion>
<gsml:CGI_TermValue>
<gsml:value codeSpace=“urn:cgi:classifierScheme:GSV:Proportion">
dominant
</gsml:value>
</gsml:CGI_TermValue>
</gsml:proportion>
TERM
Data-type Polymorphism
One property, but the value can have multiple data types. For example ‘Proportion’:
<gsml:proportion>
<gsml:CGI_TermValue>
<gsml:value codeSpace=“urn:cgi:classifierScheme:GSV:Proportion">
dominant
</gsml:value>
</gsml:CGI_TermValue>
</gsml:proportion>
<gsml:proportion>
NUMERIC
<gsml:CGI_NumericRange>
<gsml:lower>
<gsml:CGI_NumericValue>
<gsml:principalValue uom="urn:ogc:def:uom:UCUM:percent">
75
</gsml:principalValue>
</gsml:CGI_NumericValue>
</gsml:lower>
<gsml:upper>
<gsml:CGI_NumericValue>
<gsml:principalValue uom="urn:ogc:def:uom:UCUM:percent">
100
</gsml:principalValue>
. . . ETC . . .
</gsml:proportion>
TERM
RANGE
Deegree WFS
Open Source
Deegree WFS (using virtual output format)
Lat/Lon, University of Bonn
Datastores
Oracle; PostGIS; ArcSDE; Shapefile; ‘Generic SQL’ (incl. SQL Server; DB2)
Effort
Database Mapping
Skills/Knowledge
Database Management/SQL;
Sound understanding of GML schema;
Sound understanding of XSLT
Pros
Serves GeoSciML from one application;
Allows data-type polymorphism;
Stable existing implementations
Cons
Multiple, and tricky, configurations for requests and responses;
Limited Documentation;
Small community;
Dead end: version 2 to be replaced by version 3 – a complete rebuild
GeoSciML/
AuScope Users
GeoScience Victoria (demonstration services);
Arizona Geological Survey/US Geological Survey;
Czech Geological Survey
Config (xsd)
Program (xslt)
GeoServer
(with Application Schema module)
• Java OCG Web Server Application including WFS
• Incorporates the ‘application schema’ module developed
by AuScope
<<xml>>
GeoSciML
Request
Client
GeoServer
<<gml>>
GeoSciML
Response
App-Schema
Module
Datastore
GeoServer
(with Application Schema module)
Open Source
Geoserver (with Application Schema module)
Various incl. AuScope
Datastores
PostGIS; Oracle; ArcSDE; SQL Server; MySQL; Shapefile; Vector Product
Format ; WFS
Effort
Database Mapping
Skills/Knowledge
Database Management/SQL;
Sound understanding of target GML schema
Pros
Serves GeoSciML from one application;
Single configuration for responses and requests;
Wide selection of source datastores;
Strong community with heavy OGC involvement;
Well documented
Cons
No support for data-type polymorphism;
Currently in testing – released in GeoServer v2.0 (beta) in July 2009
GeoSciML/
AuScope Users
Minerals and Resources Tasmania (currently deploying);
GeoScience Victoria (web service back-end); NTGS (future deployment);
PIRSA (test services); Arizona Geological Survey (evaluation);
Growing …
Config (xml)
GSV Experience
Testbeds and Demonstrators
• GeoSciML Testbed 3
• Demonstrator services for AuScope
– GeoSciML and Earth Resources ML
• Used Deegree WFS
– Initially hard (XSLT), ultimately tricky but capable
• Data mapping
–
–
–
–
Where the vast majority of the work is
Database model to community schema
Database content to community vocabularies
Will be required regardless of the solution
• Significant increase in the quality of data delivered
– Content and/or quality improvements are more than worth the effort
GSV Experience
Production Services
• Migrating to Production Services
– To be deployed July/August ’09
– Real time access to ‘publishable’ data in our production systems
– Interim Deegree solution, but …
• Service Oriented Architecture
– Developed a GeoServer web service datastore
– AuScope embedded software engineer
– Service to service mapping
– Will overcome current GeoServer polymorphism shortcomings
• Will serve features from the following schema:
– GeoSciML
– Mineral Occurrences
– GeoSciML Boreholes (medium term)
Summary
Application
Effort
Comments
GeoServer
- Easiest to configure
- Australian community and support
- Ongoing AuScope development (next two years)
- Commercial support available
- Will meet needs of most users
Deegree
- Tricky to configure, requires XSLT skills
- Will meet most GeoSciML use-cases
- Suitable for users serving complex data
GIN Mediator
- Overkill for most users and complex to deploy and configure
- Powerful solution for users with non-OGC or non-community WFSs
Key (Effort)
Installation
Data mapping
Configration (WFS)
Configuration (XSLT)
Finally, and Most Importantly
•
•
•
•
• AuScope is already committed to:
Assisting geological surveys in helping to establish the
Earth Science Information Network
Deploying Mineral Occurrence services and other priority
data types
Continuing development of the open source solutions
Helping other domains get started
• YOU ARE NOT ALONE
AuScope 2007-2011
AN ORGANISATION FOR A NATIONAL EARTH SCIENCE INFRASTRUCTURE PROGRAM
cmp CSIRO Component Model
Internal Systems
Direction of associations
represents flow of data.
Database Serv er
JEE Application Serv er
External Systems
«database»
Oracle
Data Access Layer
«Anything»
Client Applications
«data gateway»
ArcSDE
Vic. Govt. ITS
Business Layer
DMZ
Presentation Layer
W3C Web Serv ices
«Anything»
Client Applications
CGI-GeoSciML
Vocabularies.
Source of GeoSciML data.
OGC Web Feature
Serv ices
Source of Mineral Occurrence data.