WEB‐GIS AND WEB COMPUTING

OVERVIEW OF CONCEPTS AND REQUIREMENTS

ULAN TURDUKULOV

DEPARTMENT OF GEO-INFORMATION PROCESSING

FACULTY ITC

UNIVERSITY OF TWENTE OUTLINE

In this short time you will be exposed to number of concepts/definitions such as:

 Distributed GIS systems, Internet GIS/web‐GIS  Client‐Server, thin and thick clients, web services  OGC web services  Software architectures that allow implementation of OGC web services

There are no web‐GIS examples since you will be given number of presentations later in the day.

2 CHANGES workhop 27/11/2012 27.11.2012 2 OVERVIEW OF REQUIREMENTS

Characteristics of Disasters:

Large scale, which means two or more jurisdictions (municipalities, provinces, etc.) will be involldved.

Rapid onset, which means the events give people no time or short time to prepare to evacuate.

Dynamic, which means disasters evolve as they progress.

3 CHANGES workhop 27/11/2012 27.11.2012 3 NEEDS IN DISASTER MANAGEMENT

The need for efficient and effective access to decision‐making information relevant to all phases of risk and emergency management;

The need for colla boration among the agencies at different levels;

The need for the collaboration of different agencies that are in charge of different thematic data.

4 CHANGES workhop 27/11/2012 27.11.2012 4 WHY WEB‐GIS?

Flexible information access / exchange . End‐Users can be both: those that use specialized GIS software and those that use only a web browser

Information sharing and integration . Access multiple Internet Map Servers at the same time– various organizations, etc.

Real‐time information update and distribution

5 CHANGES workhop 27/11/2012 27.11.2012 5 TRADITIONAL GIS

Built on stand‐alone platform.

Hard to communicate among systems.

Users at one end of internet/intranet cannot share information with users at the other end.

6 CHANGES workhop 27/11/2012 27.11.2012 6 INFORMATION SYSTEM ARCHITECTURE

 Layers of an ifinforma tion system

. Presentation Layer Presentation layer . Application logic layer

Application logic layer . Data layer

Data layer

information system

7 7 CHANGES workhop 27/11/2012 27.11.2012 INFORMATION SYSTEM LAYERS

 PttiPresentation layer

. Realizes the (graphical) user interface Presentation layer . Renders the output and accepts user input

to the application layer Application logic layer

. Interface to the application layer Data layer

Information System

8 8 CHANGES workhop 27/11/2012 27.11.2012 INFORMATION SYSTEM LAYERS

 AlitiApplication lilogic layer

. Offers the processing functionalities needed to derive the outputs that Presentation layer the system offers

e.g. complex calculations, Application logic layer statistical analysis, sorting, …

Data layer

Information System

9 9 CHANGES workhop 27/11/2012 27.11.2012 INFORMATION SYSTEM LAYERS

 DtData layer

. Manages and allows access to ddtata sources

Presentation layer

Application logic layer

Data layer

Information System

10 10 CHANGES workhop 27/11/2012 27.11.2012 GI‐APPLICATIONS

User interface ArcMap/ArcScene

Geo-processing tools ArcGIS Geopocessing tools

Database management ArcSDE

Database DBMS

Geo-information System Geo-information System

11 CHANGES workhop 27/11/2012 27.11.2012 11 GI–ARCHITECTURES

From the dldeploymen t perspective differen t architecture styles can be distinguished by combining the defined layers in various ways.

A single or combined layer is call “Tier”

. 1‐Tier (monolithic) . 2‐Tier (client/server) . 3‐Tier . n‐Tier

12 CHANGES workhop 27/11/2012 27.11.2012 12 GI–ARCHITECTURES

1‐Tier (monolithic)

User interface

Geo-processing tools

Database management

Database

13 CHANGES workhop 27/11/2012 27.11.2012 13 GI–ARCHITECTURES

2‐Tiers (client/server)

User interface User interface

Geo-processing tools

Geo-processing tools

Database management Database management

Database Database

14 CHANGES workhop 27/11/2012 27.11.2012 14 GI–ARCHITECTURES

3‐Tiers

User interface

Geo-processing tools

Database management

Database

15 CHANGES workhop 27/11/2012 27.11.2012 15 GI–ARCHITECTURES

n‐Tiers User interface

Geo-processing tools

Database management

Database

16 CHANGES workhop 27/11/2012 27.11.2012 16 CLIENT SERVER ARCHITECTURE

Web browser Presentation Layer

Internet

Application logic layer W3C standards http, XML Web Server

Data layer

17 CHANGES workhop 27/11/2012 27.11.2012 17 TERMINOLOGY

 Distributed GIS is geospatial technologies combined with distributed computing and the standards of Internet.

 Distribdbuted computing is bbdased on client‐server architecture; Client – requests information, Server – responses

 Internet GIS/web‐GIS ◦ Internet refers to the network infrastructure. ◦ Web‐based GIS is one kind of Internet GIS  Based on HTTP protocol, which is one of many applications that runs on Internet (others: SMTP, FTP, Telnet…)

18 CHANGES workhop 27/11/2012 27.11.2012 18 TRANSPORT OF MESSAGES PROTOCOL

 Hypertext Transfer Protocol (http:// has few methods: GETPOSTetcGET,POST,etc..)  An web‐application is identified by its Uniform Resource Locator (URL)

Example‐URL of a simple html‐document: http://mapserver.lmic.state.mn.us/landuse/index.html

Protocol Host & Domain Path Document name

19 CHANGES workhop 27/11/2012 27.11.2012 19 HTTP REQUEST RESPONSE

http://mapserver.lmic.state.mn.us/landuse/index.html

 Client request:  Server response: GET /landuse/index.html . HTTP/1.1 200 OK HTTP/1.1 . Date: Mon, 6 Dec 2010 09:38:34 Host: GMT mapserver.lmic.state.mn.us . Server: Apache/1.3.3.7 (Unix) (Red‐ Hat/Linux) . Content‐Type: text/html; charset=UTF‐8 . ….

Request

Response

Client Server 20 CHANGES workhop 27/11/2012 27.11.2012 20 THIN AND THICK CLEINT

Depending on the location where the actual information processing takes place, two kinds of task distribution strategies can be distinguished: 1. Thin Clients: processing is done on the server side 2. Thick (or Fat) Clients: processing is done on the client side Example: . Imagine a server/client application, that offers the user the func tiona lity to request a rectifie d satellit e image. . How can this organized in a client/server environment?

21 CHANGES workhop 27/11/2012 27.11.2012 21 CLIENT/SERVER TASK DISTRIBUTION

Thin client Server 1. Client offers just a user interface to formulate the request (e.g. to select the image to be rectified) 2. The request is sent to the Storage server 3. Requested data is Input/output Processing retrieved from a storage device (here: an non- rectified image) 4. The retrieved data is processed (here: Communication Communication rectified) 5. Processed data is sent back to the client

22 CHANGES workhop 27/11/2012 27.11.2012 22 CLIENT/SERVER TASK DISTRIBUTION

Thick client Server

. Client provides processing capabilities iilftself (here: rectification would be Storage performed at the client machine) Input/output

Processing . Different from thin clients a fat client has to be equipped with Communication Communication more sophisticated software

23 CHANGES workhop 27/11/2012 27.11.2012 23 GI–ARCHITECTURES (HOW?)

client-side Client Server presentation

Client Server cooperative content processing

Client Server client-side content processing

cooperative Client Server content storage

Presentation Processing Storage

24 CHANGES workhop 27/11/2012 27.11.2012 24 INTEROPERABILITY

Two information systems are interoperable, if they are able to …

System A System B

User interface User interface

… access functions Geo-processing tools Geo-processing tools seamlessly

Database management … transfer data Database management seamlessly

Database Database

25 CHANGES workhop 27/11/2012 27.11.2012 25 INTEROPERABILITY BUT HOW TO …

1. make data seamlessly transferable & accessible?

. Encode data in a standardized, platform & application independent manner

2. access distributed functionality seamlessly?

. Specify and set up an infrastructure of interoperable (software) services, which encapsulate functionality and make it accessible via well specifie d itinter faces

26 CHANGES workhop 27/11/2012 27.11.2012 26 INTEROPERABILITY BUT HOW TO …

1. make data seamlessly transferable & accessible?

XML

2. access distributed functionality seamlessly?

Web Services

27 CHANGES workhop 27/11/2012 27.11.2012 27 THE EXTENSIBLE MARKUP LANGUAGE WHAT IS XML?

(Markup‐) language for the platform independent interchange of structured content on the Web.

Provides a way to encode both structure and data

Open Standard

. Not defined by a single company . Supported by W3C (GML by OGC)

Intended to store the structure and relationship of content in a readily parse‐able format

28 CHANGES workhop 27/11/2012 27.11.2012 28 XML BASICS

Frankfurt 07 13 London 12 17 . . .

29 CHANGES workhop 27/11/2012 27.11.2012 29 WEB SERVICE

Service ConsumerMessage

 A service is a program that communicates by Request Response exchanging messages (XML over HTTP)

Service Provider

30 30 CHANGES workhop 27/11/2012 27.11.2012 GEO‐SERVICES

Some examples:

. A geo‐name service . A geo‐referencing service . A weather data service . A route service . A national atlas service

. Google maps / Google earth . ...

31 CHANGES workhop 27/11/2012 27.11.2012 31 A SERVICE EXAMPLE: GOOGLE MAPS

HTTP Request

To access the Google Maps API geocoder we send a request to: http://maps.google.com/maps/geo? with the following parameters in the URI: . q ‐‐ The address that you want to geocode. . key ‐‐ Your API key. . output ‐‐ The format of the output. Options: xml, kml, csv, json httpp//://ma ps. goo gle.com /ma p/gps/geo?q=99+Hengelosestr aat, +Enschede,+NL&output=xml&key=abcdefg......

32 CHANGES workhop 27/11/2012 27.11.2012 32 A SERVICE EXAMPLE: GOOGLE MAPS

HTTP Response

33 CHANGES workhop 27/11/2012 27.11.2012 33 A SERVICE EXAMPLE: GOOGLE MAPS

34 CHANGES workhop 27/11/2012 27.11.2012 34 WHAT IS THE OGC?

Open Geospatial Consortium, Inc.® (()OGC) . Not‐for‐profit, international voluntary consensus standards organization founded in 1994 . 260+ industry, government, and university members

35 CHANGES workhop 27/11/2012 27.11.2012 35 BASE STANDARDS SET

Catalog services . Catalogue Service (CS‐W) . Geo Digital Rights Management (GeoDRM)

Resource Services . (WMS)  presentation service . (WFS, WFS‐T)  data service . (WCS)  data service . (WPS…) . Geo Processing Workflow ()(GPW…) . (SWE…)

36 CHANGES workhop 27/11/2012 27.11.2012 36 PRESENTATION SERVICE

WbWeb Map SSiervice (WMS)

. Standardized interface for the creation of superimposed map‐lklike views of geographic information . Cascadable, meaning that one WMS can act as a ‘ggyateway’ to other services . WMS is, as of today, the most mature and widest adopted OWS specification

37 CHANGES workhop 27/11/2012 27.11.2012 37 WEB MAP SERVICE (WMS)

Operations

 GetCapabilities . Returns server‐level metadata, description of services and content, acceptable request parameters  GetMap . Returns map image whose geospatial and dimensional parameters are well‐defined  GetFeatureInfo . Returns information about particular features shown on map (optional)

38 CHANGES workhop 27/11/2012 27.11.2012 38 WMS INTERFACE: OPERATION

WMS Service GetCapabilities

Capabilities document with Layer Information WMS Client server interface GetMap

RdRendere d Map Image Legend GetFeatureInfo Roads dataset Water Returns info Buildings about feature

39 CHANGES workhop 27/11/2012 27.11.2012 39 WEB MAP SERVICE (WMS)

Parameters

. Layers . Styles (possibly) . BdiBounding Box . Projection or geographic coordinate reference system . Desired output format . Output size (width, height) . Background transparency or color

40 CHANGES workhop 27/11/2012 27.11.2012 40 SERVICE EXAMPLE: WMS

HTTP Request  The fllfollow ing is the structure of a getcapabilit ies request . address ‐‐ http://geoserver.itc.nl/cgi‐bin/mapserv.exe? . service = WMS . request = getcapabilit ies . version = 1.1.1 . map = D:/Inetpub//mapserver/config.map h//http://geoserver.itc.n l/cgi‐b/bin/mapserv.exe ? map=D:/Inetpub/geoserver/mapserver/config.map& SERVICE=WMS& VERSION=1.1.1& REQUEST=GetCapabilities

41 CHANGES workhop 27/11/2012 27.11.2012 41 WEB FEATURE SERVICE (WFS)

 Standardized interface specification for accessing vector spatial data

. The database used to store the features is opaque to client applications and their only view of the data is through the WFS interface

 WFS output is encoded in GML

 WFS uses a standardized query language (filter encoding specification)

42 CHANGES workhop 27/11/2012 27.11.2012 42 WEB FEATURE SERVICE (WFS)

WFS Operations:

• GetCapabilities • DescribeFeature Type • GetFeature

WFS‐T

• Insert a Feature • Update a Feature • Delete a Feature • Create a new feature

43 CHANGES workhop 27/11/2012 27.11.2012 43 WFS EXAMPLE REQUESTS

44 CHANGES workhop 27/11/2012 27.11.2012 44 WEB PROCESSING SERVICE (WPS)

 Standardized interface that provides client access to pre‐ programmed calculations and/or computation models that operate on spatially referenced data.

 The data required by the service can be dldelivere d across a network, or available at the server.

 The calculation can be simple as, e.g.: . Determining the difference in influenza cases between two different seasons, or complex as, e.g.: . A global climate change model.

45 CHANGES workhop 27/11/2012 27.11.2012 45 WEB PROCESSING SERVICE (WPS)

Operations

 GetCapabilities: allows requests for service metadata documents that describe the abilities of the specific server . SiService ditidescription . Access description . Brief process descriptions

 DescribeProcess: allows requests for detailed information about one or more process(es) . Full process description

 Execute: allows a client to run a specified process . Process execution

46 CHANGES workhop 27/11/2012 27.11.2012 46 WPS IN ACTION ‐ BUFFERING

Client WPS

request htt schema1=“…\PolygonSchema.xsd ”> … $GML_Geometries response BufferDistance /> name=“ Execute”/> request ows:reference="xs:int"/>BuffferDistanceBufferResult …\PolygonSchema.xsd100 ”> response $GML_Geometries <ows:IdentifierBufferResult>Buffer<> defaultSchema=“schemaNS“/> … Network

Based on: P. Schut’s presentation at the OGC TC Meeting in Huntsville 2006: “WPS RFC responses”

47 CHANGES workhop 27/11/2012 27.11.2012 47 GEO‐SERVICES EXTENDED ARCHITECTURE

User Organizations er ation yy

La Thin Clients Thick Clients Applic

Service Portal rvice ayer ee LL

S CS-W WMS WFS-T WPS WCS source Layer ee R Provider Organizations

48 CHANGES workhop 27/11/2012 27.11.2012 48 SOFTWARE COMPONENTS

ESRI StackOracle Stack OSS Stack

ESRI Oracle Other Clients Other Clients Oracle Other Clients Web Maps Open Layers (OS, COTS) (OS, COTS) Mapviewer (OS, COTS) GIS (Mashup)

OGC and W3C OGC and W3C OGC (and W3C) Services Services Services

Oracle Application OSS Server ESRI ArcGIS Server Components e.g. Server and OC4J GeoServer, UMN, Degree

Any DBMS Microsoft SQLServer Oracle Spatial PostGreSQL/PostGIS PostgreSQL DBMS / Oracle Spatial / Etc…

ESRI ArcGIS Server

uDig ESRI Autodesk Map, MapInfo, Desktop Desktop GeoMedia, FME Desktop GIS

49 49 CHANGES workhop 27/11/2012 27.11.2012 SDI ARCHITECTURES BASED ON OSS

Server software stack

Client Thick (desktop) clients Thin (web) clients applications [Grass, Jump,... --- ArcGIS, Google Earth] [OpenLayers, GeoExt,..]

direct Interfaces WMS WCS WFS [JPG, PNG KML, GIF] [GeoTIFF, ...] [GML, shapefile] access

MapServer GeoServer Geonetwork ? Servers [WMS, WFS, WCS] [WFS-T, WMS, WCS] [CSW] [WPS, GPW]

Apache [HTML]

Database PostGIS [vector data & metadata]

50 CHANGES workhop 27/11/2012 27.11.2012 50 SDI ARCHITECTURES BASED ON ESRI STACK

OGC publishing capabilities in ArcGIS Server:

WMS WFS WCS

Map servicesXXX

Geodata XX services Image services X X

51 CHANGES workhop 27/11/2012 27.11.2012 51 SUMMARY

In this short time you have been exposed to:

 Distributed GIS systems  Internet GIS/web‐GIS  HTTP, XML  Client‐Server, thin and thick clients, web services  OGC web services  WMS, WFS(‐T), WCS, WPS…  Software architectures that allow implementation of those services

52 CHANGES workhop 27/11/2012 27.11.2012 52