Implementing Geographic
Information System Grid
Services Using Distributed
Messaging Systems
Marlon Pierce
SERVOGrid Basics
n SERVOGrid is our project to build a distributed computing
infrastructure to support earthquake simulation codes.
n Distributed Computing Infrastructure
• Services for remotely executing applications, managing distributed files in
logical units, monitoring applications, archiving user projects, and so on.
• Variously called “Grids” (DOE), “Cyberinfrastructure” (NSF), “
e-Science” (UK e-Science program), ….
n The above is sometimes referred to as an “Execution Grid”.
• We designed this around a web service architecture. • See links at the end for more information.
n But what about the data?
• Need ways to access remote data sources through programming
interfaces.
• Practice often is to download (via FTP) entire catalogs and hand edit to
get data you want in the format you want.
SERVO Apps and Their Data
n Disloc: handles multiple arbitrarily dipping dislocations (faults)
in an elastic half-space.
• Relies upon geometric fault models.
n GeoFEST: Three-dimensional viscoelastic finite element model
for calculating nodal displacements and tractions. Allows for realistic fault geometry and characteristics, material properties, and body forces.
• Relies upon fault models with geometric and material properties.
n Virtual California: Program to simulate interactions between
vertical strike-slip faults using an elastic layer over a viscoelastic half-space.
• Relies upon fault and fault friction models.
n RDAHMM: Time series analysis program based on Hidden
Markov Modeling. Produces feature vectors and probabilities for transitioning from one class to another.
Where Is the Data?
n QuakeTables Fault Database
• SERVO’s fault repository for California.
• Compatible with GeoFEST, Disloc, and VirtualCalifornia • http://infogroup.usc.edu:8080/public.html
n GPS Data sources and formats (RDAHMM and others).
• JPL: ftp://sideshow.jpl.nasa.gov/pub/mbh • SOPAC: ftp://garner.ucsd.edu/pub/timeseries
• USGS: http://pasadena.wr.usgs.gov/scign/Analysis/plotdata/
n Seismic Event Data (RDAHMM and others)
• SCSN: http://www.scec.org/ftp/catalogs/SCSN
• SCEDC: http://www.scecd.scec.org/ftp/catalogs/SCEC_DC • Dinger-Shearer: http://www.
scecdc.org/ftp/catalogs/dinger-shearer/dinger-shearer.catalog
What Are Web Services?
n Web Services framework is a way fordoing distributed computing with XML.
• WSDL: Defines interfaces to functions of remote components. This is the programming interface.
• SOAP: Defines the message format that you exchange between components. This carries the messages over the network.
• Web Services are not web pages, CGI, servlets, applets.
n XML provides cross-language support n Suitable for both human and
application clients.
n We built SERVOGrid’s execution grid
services this way.
n We are building data grid components
in the same fashion.
• Allows us to build general purpose client environments like Web portals
User Interface Server
DB Service 1
JDBC DB Job Sub/Mon And File Services Operating and Queuing Systems WSD L WSDL Browser Interface WS DL WSD L WS DL WS
DL WSDL
Viz Service WSDL
Host 1 Host 2 Host 3
IDL GMT
SOAP SOAP
GIS Standards for Data Grids
n
Geographic Information Systems
• ESRI: commercial company with many popular GIS
products.
• Open Geospatial Consortium (formerly OpenGIS
Consortium).
• We will focus on OGC since they define open and
interoperable standards.
n
What are the characteristics of a GIS system?
• Need data models to represent information • Need services for remotely accessing data.
Open GIS Services
n GML abstract data models can encode data but you need
services to interact with the remote data.
n Some example OGC services include
• Web Feature Service: for retrieving GML encode features, like faults,
roads, county boundaries, GPS station locations,….
• Web Map Service: for creating maps out of Web Features
• Sensor Grid Services: for working with streaming, time-stamped data.
n Problems with OGC services
• Not (yet) Web Service compliant
n “Pre” web service, no SOAP or WSDL
n Use instead HTTP GET/POST conventions.
• Often define general Web Service services as specialized standards
n Information services
GML: A Data Model For GIS
n
GML 3.x is a interconnected suite of over 20 connected
XML schemas.
n
GML is an abstract model for geography.
n
With GML, you can encode
• Features: abstract representations of map entities.
• Geometry: encode abstractly how to represent a feature
pictorially.
• Coordinate reference systems
• Topology
• Time, units of measure
Example Use of GML
n The SCIGN (Southern
California Integrated GPS Network) maintains online catalogs of GPS stations.
n Collective data for each site is
made available through online catalogs.
• Using various text formats.
n This is not suitable for
processing, but GML is.
n GML can be used to describe
GPS using Feature.xsd
schema, with values encoded at GPS observations.
Anatomy of WFS (G. Aydin)
n WFS provides three major services as described in OGC specification:
• GetCapabilities: The clients (WMS servers or users) starts with requesting a
document from WFS which describes it’s abilities. When a getCapabilities request arrives, the server dynamically creates a capabilities document and returns this.
• This is OGC’s formalization of metadata, so important to GEON, ESG, etc.
• DescribeFeatureType: After the client receives the capabilities document he/she
can request a more detailed description for any of the features listed in the WFS capabilities document.
• The WFS returns an XML schema that describes the requested feature. • Metadata about a specific entry.
• GetFeature: The client can ask the WFS to return a particular portion of any
feature data.
• GetFeature requests contain some property names of the feature and a Filter
element to describe the query.
• The WFS extracts the query and bounding box from the filter and queries the
feature databases.
• The results obtained from the DB query are converted the feature’s GML
Example WFS Capability Entries
Text block describing any access constraints imposed by the service provider on the WFS or data retrieved from that service. The keyword NONE is reserved to indicate no access constraints are imposed.
AccessConstraints
Contains a text block indicating any fees imposed by the service provider for usage of the service or for data retrieved from the WFS. The keyword NONE is reserved to mean no fees.
Fees
Defines the top-level HTTP URL of this service. Typically the URL of a "home page" for the service.
OnlineResource
Contains short words to aid catalog searching.
Keyword
Descriptive narrative for more information about the server.
Abstract
Human-readable title to briefly identify this server in menus.
Title
A name the service provider assigns to the web feature service instance.
Name
Sample Feature- CA Fault Lines
<gml:featureMember> <fault>
<name>Northridge2</name>
<segment>Northridge2</segment> <author>Wald D. J.</author>
<gml:lineStringProperty> <gml:LineString srsName="null"> <gml:coordinates -118.72,34.243 -118.591,34.17 </gml:coordinates> </gml:LineString> </gml:lineStringProperty> </fault> </gml:featureMember>
n After receiving getFeature
request, WFS decodes this request, creates a DB query from it and queries the
database.
n WFS then retrieves the
features from the database and converts them into GML documents.
n Each feature instance is
wrapped as a
gml:featureMember element.
n WFS returns a
wfs:FeatureCollection
•A WFS can serve multiple feature types data.
•WFS returns the results of GetFeature requests as GML documents (Feature Collections). •Clients may include other
Conclusion and Other Topics
n
We have reviewed Community Grids Lab efforts to
build a GIS-compatible set of data grid services.
• This provides a unified architecture for grid execution and
data grid services.
n
Two other important topics:
• Managing messaging between components.
n NaradaBrokering project led by Dr. Shrideep Pallickara.
n www.naradabrokering.org
• Managing client environments
n Component-based portals: www.collab-ogce.org.
n Command line and scripting interfaces for web services:
More Information
n My email:
n Overview (submitted to ACES special issue of PAGEOPH).
• http://www.servogrid.org/slide/GEM/SERVO/ISERVO_ACES_PAGEOPH.doc
n QuakeSim Project Page:
• http://quakesim.jpl.nasa.gov/
n QuakeSim Portal:
• http://www.complexity.ucs.indiana.edu:8282.
n QuakeTables Fault Database:
• http://infogroup.usc.edu:8080/public.html
n Community Grids Lab GIS Grid Development:
• http://www.crisisgrid.org/.