Sunday, February 01, 2009

Open-Geospatial Web Services

Background map graphic from OGC® CGDI Interoperability Project

It's obvious we live in an interconnected world - where collaboration and data sharing are more important than ever. To solve tomorrow's challenges we need to collaborate and share data among communities, but don't (and won't) have all the information we need in one place. Data is coming from local, state, provincial, federal, global, and commercial sources. In this environment, some level of interoperability is needed to exchange information and services. Geospatial web service standards (SOA) are available now to accomplish this task - not perfect but a great start. Lets take a look at one of these services - a Web Feature Service (WFS). A WFS defines an interface for specifying requests for retrieving geographic features across the Web using platform-independent calls. But you might wonder whether something like...

http://frameworkwfs.usgs.gov/framework/wfs/wfs.cgi

...identifies a service. Why would you say that? Because if you ping the URL directly you get an exception. But wait, there's more going on here - lets look at the basics. First, what's a Web Service?

- A Web Service is an Interface that describes a set of operations that are network accessible using standard Internet protocols.
- A Web Service can be spontaneously discovered, combined, and recombined to provide a solution to the user's problem or request.
- A Web Service is described using a standard, formal XML notion, called its Service Description.

NOTE - These are not really my words, but adapted from IBM, Microsoft, and Sun definitions

So what are the characteristics of a Web Service? Well, it's a platform and implementation independent software component that can be -

- Described using a Service Description language
- Discovered through a standard mechanism
- Invoked through a declared API, usually over a network
- Composed, or "chained" with other services.

Again, not my words but adapted from Graham, Simeonov, Boubez, Davis, Daniels, Nakamura, Neyama 2002

So with this in mind, what's an 'open-geospatial' Web Service? It's -

- An Interface that describes a set of Operations that are network accessible using standard Internet protocols
- Described using a standard, formal XML notion, called its Capabilities (the Service Description)
- Invoked through declared interfaces, usually over a network, mostly to return Maps, Features, Coverages or Metadata (but can also do analysis and processing)
- Can be spontaneously discovered, combined, and recombined to provide a solution to the user's problem or request

OK great. So to get an idea about one of the Operations on this Web Service, plug this request into your web browser to get the Service Description -

http://frameworkwfs.usgs.gov/framework/wfs/wfs.cgi?Request=GetCapabilities

What you get back from the request is the Service Description (called the Capabilities) - an XML document that describes the functionality of the WFS. Obviously, there's lots more we can discuss on this topic, and we will - but getting the Service Description for the Open-Geospatial Web Service is a start.

WFS is not the only way to get features from a service and not perfect - for example there can be a great deal of variability between WFS. But WFS is an international standard available now. These SOA standards provide the foundation for technical interchange of data. If national and international efforts don't use them, we'll wind up costing solution developers billions.

- Jeff

0 Comments:

Post a Comment

<< Home