Post on 29-Nov-2014
description
The Practical Aspects of Web GIS
using ArcGIS Server
David Crosby – Esri
Jeff Smith – Esri
Garima Vyas - Esri
Goals
• Esri product history and history of web GIS
• Esri model for GIS on the web
• What are web services?
• REST and SOAP
• Esri APIs
• Samples and Demonstration
Web GIS – Principles and Applications
• Esri Press book by Pinde
Fu and Jiulin Sun
• Published November 2010
• Available at Amazon.com
Esri Web Product History
• ArcView IMS Late
• MapObjects IMS 1990’s
• ArcIMS – early 2000 (SDE and Shapefiles)
- The START of Esri web collaboration with IMS services
• ArcGIS Server – around 2005
• Grown parallel to technology
• ArcIMS Used ActiveX, Cold Fusion, servlets
• ArcGIS Server takes advantage of SOAP, REST
Web GIS
• Historically, GIS was mainframes, then servers and
desktops – this was expensive!
• The web is an ideal platform for GIS
• The web allows for collaboration
- Data, maps, models, computing power!
Mashups
• Discover and search online
• Mix content from different sources – through
SERVICES!
• Not available? Make your own content and add to
others to create value-added applications
• Most important thing is make data available for
others
1. Web Services – the Esri Approach
Source: Web Applications, Principles and Applications, Esri Press 2010
What are web services?
A method of communication between two electronic devices
exposed over the Internet
Clients consume remote objects and functionality
Examples:
- Data Providers: Yellow pages, search engine
- Service Providers: Credit card authentication
- GIS: map, locator, geodata, feature…services
How do web services work?
Two primary architectures: SOAP and REST
Requests and responses are made via HTTP protocol
Example of a typical request/response
Web ServiceWeb Service
Client
HTTP Request
HTTP
Response
What is SOAP?
Simple Object Access Protocol
XML-based protocol for accessing a web service
Language and platform independent
Messages are negotiated and transmitted via HTTP
Used in Web ADF in Server Manager web applications
Sample SOAP Message
POST /InStock HTTP/1.1
Host: www.example.org
Content-Type: application/soap+xml; charset=utf-8
Content-Length: nnn
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-
encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
HTTP Protocol
SOAP Document
HEADER (Optional)
Delivery Info.
BODY
Method Parameters
http://sampleserver1.arcgisonline.com/ArcGIS/services?wsdl
What is REST?
REpresentational State Transfer
Not a language, rather a design pattern
Services are exposed as resources
Resources are available on the web over HTTP
Client addresses resources via a URL
REST principles
Addressable resources are referenced via a URL
(usually referred to as the noun)
Representations of these resources are returned in
various formats, e.g. json, html, xml, etc.
Resources have operations such as PUT, GET, POST,
and DELETE (usually referred to as verbs)
ArcGIS Server REST API
Web interface to ArcGIS Server services
Resources and operations exposed via URLs
Server catalog is a well-known endpoint
A simple view of your ArcGIS Server
- .NET = http://<host>/arcgis/rest/services
- Java = http://<host>:8399/arcgis/rest/services
ArcGIS Server REST API example
• Examples
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services
http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Specialty/
ESRI_StatesCitiesRivers_USA/MapServer/export?bbox=-125,6.9,-
66.1,66.8
SOAP and REST Requests
SOAP Request:
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:body pb="http://www.acme.com/phonebook">
<pb:GetUserDetails>
<pb:UserID>12345</pb:UserID>
</pb:GetUserDetails>
</soap:Body>
</soap:Envelope>
REST Request:http://www.acme.com/phonebook/UserDetails/12345
SOAP vs. REST?
REST is lightweight whereas SOAP has more XML
markup
REST potentially easier to implement
REST is generally more agile with development
REST does not require toolkits to build
SOAP adheres to rigid type checking
*Ultimately, they are both web services and that is
what counts!
ArcGIS APIs
• Web APIs
- ArcGIS API for JavaScript
- ArcGIS API for Flex
- ArcGIS API for Silverlight
• Device APIs
- ArcGIS Mobile SDK – Windows Mobile Phones and
Pocket PCs.
- ArcGIS API for iOS
- ArcGIS API for Windows Phone 7 (newer technology)
- ArcGIS API for Android
Web Application Examples
• ArcGIS Javascript API - Summit Map(2009 ESRI Mashup Challenge Winner)
• ArcGIS Flex API - DTSAgile Exec Mashup(2010 ESRI Mashup Challenge winner)
• ArcGIS Silverlight API - Silverlight Showcase
Questions?
Thank you!