Lecture 3: Geospatial Web Services • • • • • From Web sites to Web services Geospatial Web service functions Web service types Interoperability and geospatial service standards Optimizing Web services From Web sites to Web services The need for web services • • Limitations of early web GIS (Fig 3.1): Isolated systems, difficult to resuse and integrate Tightly coupled client and server, inflexible to change. A web service is a program that runs on a web server and exposes programming interface to other programs on the web. • The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over an network". It has an interface described in a machine-processible format (specifically Web Services Description Language-WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.“ • A comparison of web pages and web services: -Web pages are for users to read and understand. In HTML format. -Web services are for other computer programs to call. Composed of web-based programmable components. Results are in XML, JSON, or other structured formats. Limitations of early web GIS Three roles in a complete web service Geospatial industry support of web services: three main categories of Web GIS products (Fig. 3.3) 1. Server product, e.g., ArcGIS Server: publish maps, data, and analytic models, enable SaaS (Software as a Service). 2. Geospatial Web portals (Geoportals) which serve as brokers b/w server provider and consumer. 3. Client products: either geo-browsers or custom applications development Geospatial Web service functions Map services: most common geospatial web service • Allow clients to request maps for a specific geographic extent; maps returned in an image format. • Cached (fulfiling requests with pre-created tiles from a cache, also called tiled service) or dynamic (server renders the map each time a request comes in). • 2D or 3D (G. Earth, MS Bing Maps 3D, ArcGIS Online globe). Data Services • Allow clients to query, edit, and synchronize data over the Web. Including: • Feature editing services • Search services: index and search GIS resources(e.g., data layer, table, whole enterprise database). • Image services: provide access to raster data (e.g., RS, DEM) • Geodata synchronization services: periodically replicate or synchronize data updates b/w distributed geodatabases in different locations. Analytical services • Perform GIS analysis functions, e.g.: • Geocoding/reverse geocoding services • Transportation network analyst services (routing, calculating service area, finding the closest facility). • Geometry services: buffer, merge, split, area/length, projection, … • Geoprocessing services: share functions or models with the Web. E.g., Solar potential calc. Metadata Catalog Services • Meta data: data about data. • Allow publishing and searching metadata. • Compare: - Data search service: indexes data, especially attribute tables, directly. - Metadata catalog service indexes metadata. • E.g. : ArcGIS Server Geoportal Extension. Web Service Types: SOAP and REST (Formats of communication b/w server and client) SOAP-based web services SOAP, Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services. relies on Extensible Markup Language (XML) for its message format relies on other Application Layer protocols, most notably HTTP or Simple Mail Transfer Protocol (SMTP), for message negotiation and transmission. REST-style Web Services Representational State Transfer (REST) is a style of software architecture for distributed systems such as the WWW. REST has emerged as a predominant Web service design model. A RESTful web service (also called a RESTful web API) is a web service implemented using HTTP and the principles of REST. In the most common RESTful Web services, the client sends all parameters in the request URL. SOAP vs. REST Geospatial Service Standards Interoperability Web Service Standards • Web service standards specify the format of HTTP requests and HTTP responses. The standards facilitate interoperability. • Main standards body: -Open Geospatial Consortium (OGC) (http://www.opengeospatial.org/) -ISO/TC211 -W3C (World Wide Web Consortium) Geospatial Service Standards Main Web Service Standards • WMS (Web Map Service): maps rendered in a pictorial format (PNG, JPEG, GIF,…). E.g. NASA Earth Observations. http://neo.sci.gsfc.nasa.gov/Search.html • WFS (Web Feature Service): R/W geographic features in vector format. Two classes: Basic WFS (read-only), and Transactional WFS (WFS-T). E.g., National Digital Forecast Database. • WCS (Web Coverage Service): supports e-retrival of geospatial data as “coverages”, including RS images, digital air photos, DEM, and other point measurement data. WCS returns raw data, while WMS returns a visual representation. WCS for raster, WFS for vector. • GIS4930/5935/6110 class lab example: http://students.uwf.edu/trj11/MyWebGIS/lab3/ Other Web Service Standards • CSW (Catalog Service for the Web), e.g., ArcGIS Server Geoportal Extension • OpenLS (OpenGIS Location Services) • WPS(Web Processing Service): for geospatial processing services. • SWE (sensor web enablement). Related Standards • GML (geographical markup Language): is the XML grammar defined by OGC) to express geographical features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographic transactions on the Internet. • KML and KMZ: Keyhole Markup Language is an XML notation for expressing geographic annotation and visualization within Internetbased, two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth. KML files are often distributed in KMZ files, which are zipped files that include KML and its asscoated images and icons. • GeoRSS: an emerging standard for encoding location as part of a Web feed. (Web feeds are used to describe feeds ("channels") of content, such as news articles, blogs entries. The name "GeoRSS" is derived from RSS (Really Simple Syndiction), the most known Web feed and syndication format. Optimizing Web services by Caching in Advance • Map caching is a very effective way to make your Web map service run faster. • When you create a map cache, the server draws the entire map at several different scales, and stores copies of the map images. • The server can then distribute these images whenever someone asks for a map. • It's much quicker for server to hand out a cached image than to draw the map each time someone requests it. • Also called map tiling. Each image is a tile.