SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
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



                         HTTP Request
      Web Service
                                          Web Service
        Client
                         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


  HTTP Protocol
 SOAP Document                        POST /InStock HTTP/1.1
                                      Host: www.example.org
 HEADER (Optional)                    Content-Type: application/soap+xml; charset=utf-8
Delivery Info.                        Content-Length: nnn

                                      <?xml version="1.0"?>
                                      <soap:Envelope
    BODY                              xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
                                      soap:encodingStyle="http://www.w3.org/2001/12/soap-
 Method Parameters
                                      encoding">

                                      <soap:Body xmlns:m="http://www.example.org/stock">
                                           <m:GetStockPrice>
                                           <m:StockName>IBM</m:StockName>
                                           </m:GetStockPrice>
                                      </soap:Body>
                                      </soap:Envelope>


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
Web Application Demo
   ArcGIS Viewer for Flex
Thank you!
    Questions?
Esri Web Applications February11 2011

Weitere ähnliche Inhalte

Was ist angesagt?

REST and ASP.NET Web API (Tunisia)
REST and ASP.NET Web API (Tunisia)REST and ASP.NET Web API (Tunisia)
REST and ASP.NET Web API (Tunisia)Jef Claes
 
Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketchIT Weekend
 
Beginning Serverless Applications with AWS SAM
Beginning Serverless Applications with AWS SAMBeginning Serverless Applications with AWS SAM
Beginning Serverless Applications with AWS SAMharprits10
 
Seguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSeguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSaul Mamani
 
Rails in the Cloud
Rails in the CloudRails in the Cloud
Rails in the Cloudiwarshak
 
Client Side MVC with Backbone and Rails
Client Side MVC with Backbone and RailsClient Side MVC with Backbone and Rails
Client Side MVC with Backbone and RailsTom Z Zeng
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web AppsKranthi Lakum
 
Harnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIsHarnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIsCarlos Pedrinaci
 
Active server pages
Active server pagesActive server pages
Active server pagesstudent
 
Active Server Page(ASP)
Active Server Page(ASP)Active Server Page(ASP)
Active Server Page(ASP)Keshab Nath
 
Active server pages
Active server pagesActive server pages
Active server pagesmcatahir947
 
Serverless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet UpServerless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet UpAmazon Web Services
 
Pros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppPros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppRavi Teja
 
Web Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri MishraWeb Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri MishraSheshadri Mishra
 
Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2Derek Gusoff
 

Was ist angesagt? (19)

REST and ASP.NET Web API (Tunisia)
REST and ASP.NET Web API (Tunisia)REST and ASP.NET Web API (Tunisia)
REST and ASP.NET Web API (Tunisia)
 
Web services automation from sketch
Web services automation from sketchWeb services automation from sketch
Web services automation from sketch
 
Beginning Serverless Applications with AWS SAM
Beginning Serverless Applications with AWS SAMBeginning Serverless Applications with AWS SAM
Beginning Serverless Applications with AWS SAM
 
Seguridad en Servicios Web .Net
Seguridad en Servicios Web .NetSeguridad en Servicios Web .Net
Seguridad en Servicios Web .Net
 
Rails in the Cloud
Rails in the CloudRails in the Cloud
Rails in the Cloud
 
Introduction ASP
Introduction ASPIntroduction ASP
Introduction ASP
 
Client Side MVC with Backbone and Rails
Client Side MVC with Backbone and RailsClient Side MVC with Backbone and Rails
Client Side MVC with Backbone and Rails
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
What Is Ajax
What Is AjaxWhat Is Ajax
What Is Ajax
 
Harnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIsHarnessing the Crowds for Automating the Identification of Web APIs
Harnessing the Crowds for Automating the Identification of Web APIs
 
xaml overview
xaml overviewxaml overview
xaml overview
 
Active server pages
Active server pagesActive server pages
Active server pages
 
Active Server Page(ASP)
Active Server Page(ASP)Active Server Page(ASP)
Active Server Page(ASP)
 
Active server pages
Active server pagesActive server pages
Active server pages
 
Serverless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet UpServerless-AWS SAM CLI Session: Developer Meet Up
Serverless-AWS SAM CLI Session: Developer Meet Up
 
Pros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside AppPros and Cons of developing a Thick Clientside App
Pros and Cons of developing a Thick Clientside App
 
Web Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri MishraWeb Service Testing By Sheshadri Mishra
Web Service Testing By Sheshadri Mishra
 
Hawaii Pacific GIS Conference 2012: Real-Time Data Acquisitions - Bringing In...
Hawaii Pacific GIS Conference 2012: Real-Time Data Acquisitions - Bringing In...Hawaii Pacific GIS Conference 2012: Real-Time Data Acquisitions - Bringing In...
Hawaii Pacific GIS Conference 2012: Real-Time Data Acquisitions - Bringing In...
 
Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2Share point saturday presentation 9 29-2012-2
Share point saturday presentation 9 29-2012-2
 

Ähnlich wie Esri Web Applications February11 2011

Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overviewRaveendra Bhat
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursRestlet
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic OverviewKhan625
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic OverviewRajkattamuri
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServicesKhasim Cise
 
Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Jackson F. de A. Mafra
 
What is API - Understanding API Simplified
What is API - Understanding API SimplifiedWhat is API - Understanding API Simplified
What is API - Understanding API SimplifiedJubin Aghara
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule EsbAnand kalla
 
API Reliability Guide
API Reliability GuideAPI Reliability Guide
API Reliability GuideNick DeNardis
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsPast, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsSmartBear
 
Restful Web Services
Restful Web ServicesRestful Web Services
Restful Web ServicesAngelin R
 
Build Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJSBuild Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJSTaiseer Joudeh
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptxssuserae0316
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolMasud Rahman
 
Building Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API GatewayBuilding Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API GatewayAmazon Web Services
 

Ähnlich wie Esri Web Applications February11 2011 (20)

Web Services - A brief overview
Web Services -  A brief overviewWeb Services -  A brief overview
Web Services - A brief overview
 
Web Services
Web ServicesWeb Services
Web Services
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
Mule Webservices
Mule WebservicesMule Webservices
Mule Webservices
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic Overview
 
WebServices Basic Overview
WebServices Basic OverviewWebServices Basic Overview
WebServices Basic Overview
 
Soap and Rest
Soap and RestSoap and Rest
Soap and Rest
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServices
 
Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015Phalcon 2 High Performance APIs - DevWeekPOA 2015
Phalcon 2 High Performance APIs - DevWeekPOA 2015
 
What is API - Understanding API Simplified
What is API - Understanding API SimplifiedWhat is API - Understanding API Simplified
What is API - Understanding API Simplified
 
SOAP Service in Mule Esb
SOAP Service in Mule EsbSOAP Service in Mule Esb
SOAP Service in Mule Esb
 
API Reliability Guide
API Reliability GuideAPI Reliability Guide
API Reliability Guide
 
Past, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web AppsPast, Present and Future of APIs of Mobile and Web Apps
Past, Present and Future of APIs of Mobile and Web Apps
 
Restful Web Services
Restful Web ServicesRestful Web Services
Restful Web Services
 
Build Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJSBuild Modern Web Apps Using ASP.NET Web API and AngularJS
Build Modern Web Apps Using ASP.NET Web API and AngularJS
 
Ntg web services
Ntg   web servicesNtg   web services
Ntg web services
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.ppt
 
Web-Services!.pptx
Web-Services!.pptxWeb-Services!.pptx
Web-Services!.pptx
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access Protocol
 
Building Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API GatewayBuilding Serverless Backends with AWS Lambda and Amazon API Gateway
Building Serverless Backends with AWS Lambda and Amazon API Gateway
 

Esri Web Applications February11 2011

  • 1. The Practical Aspects of Web GIS using ArcGIS Server David Crosby – Esri Jeff Smith – Esri Garima Vyas - Esri
  • 2. 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
  • 3. Web GIS – Principles and Applications • Esri Press book by Pinde Fu and Jiulin Sun • Published November 2010 • Available at Amazon.com
  • 4. 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
  • 5. 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!
  • 6. 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
  • 7. 1. Web Services – the Esri Approach Source: Web Applications, Principles and Applications, Esri Press 2010
  • 8. 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
  • 9. 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 HTTP Request Web Service Web Service Client HTTP Response
  • 10. 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
  • 11. Sample SOAP Message HTTP Protocol SOAP Document POST /InStock HTTP/1.1 Host: www.example.org HEADER (Optional) Content-Type: application/soap+xml; charset=utf-8 Delivery Info. Content-Length: nnn <?xml version="1.0"?> <soap:Envelope BODY xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap- Method Parameters encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope> http://sampleserver1.arcgisonline.com/ArcGIS/services?wsdl
  • 12. 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
  • 13. 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)
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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!
  • 18. 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
  • 19. 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
  • 20. Web Application Demo ArcGIS Viewer for Flex
  • 21. Thank you! Questions?