Esri Web Applications February11 2011
description
Transcript of Esri Web Applications February11 2011
![Page 1: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/1.jpg)
The Practical Aspects of Web GIS
using ArcGIS Server
David Crosby – Esri
Jeff Smith – Esri
Garima Vyas - Esri
![Page 2: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/2.jpg)
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
![Page 3: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/3.jpg)
Web GIS – Principles and Applications
• Esri Press book by Pinde
Fu and Jiulin Sun
• Published November 2010
• Available at Amazon.com
![Page 4: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/4.jpg)
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
![Page 5: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/5.jpg)
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!
![Page 6: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/6.jpg)
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
![Page 7: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/7.jpg)
1. Web Services – the Esri Approach
Source: Web Applications, Principles and Applications, Esri Press 2010
![Page 8: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/8.jpg)
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
![Page 9: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/9.jpg)
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
![Page 10: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/10.jpg)
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
![Page 11: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/11.jpg)
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
![Page 12: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/12.jpg)
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
![Page 13: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/13.jpg)
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)
![Page 14: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/14.jpg)
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
![Page 15: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/15.jpg)
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
![Page 16: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/16.jpg)
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
![Page 17: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/17.jpg)
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!
![Page 18: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/18.jpg)
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
![Page 19: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/19.jpg)
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
![Page 21: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/21.jpg)
Questions?
Thank you!
![Page 22: Esri Web Applications February11 2011](https://reader033.fdocuments.net/reader033/viewer/2022051313/547e1ceeb37959892b8b5459/html5/thumbnails/22.jpg)