ArcGIS Server Working with Consumer Viewers...2008/03/20  · ArcGIS Server Complete &...

Preview:

Citation preview

11

ArcGIS Server ArcGIS Server Working with Consumer ViewersWorking with Consumer Viewers

Jo FraleyJo Fraley

ArcGIS Server Complete & interoperable Server-Based GIS

Making GIS Knowledge Available To Anyone . . . Making GIS Knowledge Available To Anyone . . . . . . Integrates With Other Systems Via Standards. . . Integrates With Other Systems Via Standards

UseUse

ServeServe

AuthorAuthor

BrowserBrowserDesktopDesktop 3D Viewers3D Viewers

ArcGIS ServerArcGIS Server

MobileMobile EnterpriseEnterpriseEnvironmentEnvironment

OpenOpenAPIsAPIs

• Mapping• 3-D Visualization• Modeling & Analysis• Geo-Data Management

•• CompleteComplete•• InteroperableInteroperable•• ServerServer--BasedBased•• GISGIS

Web Controls

Web TierWeb Tier

Front endsFront ends

CompositeApplications

MobileApplications

Browser Applications

ArcGISExplorer

ArcGISDesktop

2D Mapping 3D Globe Geodatabase Locator Geoprocessing Image

Back endBack endGIS ServerGIS Server

Our focus in today’s Tech Update

Map Caching Map Caching WorkflowsWorkflows

JS API’s

WebServiceInterfaces

RES

T

WM

S

WFS

-T

KM

L

SOA

P

WC

S

GoogleEarth

Web Controls

Web TierWeb Tier

Front endsFront ends

CompositeApplications

MobileApplications

Browser Applications

ArcGISExplorer

ArcGISDesktop

2D Mapping 3D Globe Geodatabase Locator Geoprocessing Image

Back endBack endGIS ServerGIS Server

ArcGIS Server 9.2 and Google Earth

Map Caching Map Caching WorkflowsWorkflows

JS API’s

WebServiceInterfaces

RES

T

WM

S

WFS

-T

KM

L

SOA

P

WC

S

GoogleEarth

Review: What is a Web service?Review: What is a Web service?

•• Standard way of integrating Web based applications Standard way of integrating Web based applications using XML, SOAP, WSDL, and UDDIusing XML, SOAP, WSDL, and UDDI

•• Share business logicShare business logic•• Language neutralLanguage neutral•• Operating system neutralOperating system neutral

55

WebServices

SOAPWSDL

UDDI

Enablesdiscovery of Is accessed

using

DescribesEnables

Communicationbetween

Binds to

Review: What is XML?Review: What is XML?

•• Extensible Markup LanguageExtensible Markup Language•• Customized tagsCustomized tags•• Enables theEnables the

–– DefinitionDefinition–– TransmissionTransmission–– ValidationValidation–– InterpretationInterpretation

of data between applications and between organizations.of data between applications and between organizations.

66

Review: What is SOAP?Review: What is SOAP?

•• Used to stand for Used to stand for ‘‘Simple Object Application ProtocolSimple Object Application Protocol’’•• Application communication over the InternetApplication communication over the Internet•• XML Messages over HTTPXML Messages over HTTP•• Web StandardWeb Standard

77

Review: What is WSDL?Review: What is WSDL?

•• Web Services Description LanguageWeb Services Description Language•• XMLXML--based languagebased language•• Describes what functions are availableDescribes what functions are available

88

Review: What is UDDI?Review: What is UDDI?

•• Universal Description, Discovery and IntegrationUniversal Description, Discovery and Integration•• RegistryRegistry•• Businesses can publish service listing on the internetBusinesses can publish service listing on the internet•• Discovery of servicesDiscovery of services

99

How does this work?How does this work?

1010

WebServices

SOAPWSDL

UDDI

Enablesdiscovery of

Is accessedusing

Describes

EnablesCommunication

between

Binds to

Publish a servicePublish a service

1111

http://jfraley/arcgis/services/WashingtonDC/MapServer

1212

ExportMapImage

1313

ExportMapImage Request

1414

http://jfraley/arcgisoutput/_ags_map3de394f7432....jpg

ExportMapImage Response

1515

http://jfraley/arcgisoutput/_ags_map3de394f7432....jpg

How do we integrate with Google Earth?How do we integrate with Google Earth?

•• KML KML –– Keyhole Markup LanguageKeyhole Markup Language

•• SOAP SOAP

1616

ArcGIS Server 9.2

KMLKML

1717

http://jfraley/arcgis/services/ArcGIS_Explorer/OR_Ecoregions/MapServer/KmlServer

SOAPSOAP

1818

Web Controls

Web TierWeb Tier

Front endsFront ends

CompositeApplications

MobileApplications

Browser Applications

ArcGISExplorer

ArcGISDesktop

2D Mapping 3D Globe Geodatabase Locator Geoprocessing Image

Back endBack endGIS ServerGIS Server

Questions?

Map Caching Map Caching WorkflowsWorkflows

JS API’s

WebServiceInterfaces

RES

T

WM

S

WFS

-T

KM

L

SOA

P

WC

S

GoogleEarth

Web Controls

Web TierWeb Tier

Front endsFront ends

CompositeApplications

MobileApplications

Browser Applications

ArcGISExplorer

ArcGISDesktop

2D Mapping 3D Globe Geodatabase Locator Geoprocessing Image

Back endBack endGIS ServerGIS Server

ArcGIS Server 9.3 and Google Earth, Microsoft Virtual Earth, and Google Maps

Map Caching Map Caching WorkflowsWorkflows

JS API’s

WebServiceInterfaces

RES

T

WM

S

WFS

-T

KM

L

SOA

P

WC

S

GoogleEarth

What is REST?What is REST?

•• Representational State TransferRepresentational State Transfer•• Simple InterfaceSimple Interface•• Requests to the REST API are through HTTP GETSRequests to the REST API are through HTTP GETS•• Hierarchy of ResourcesHierarchy of Resources•• Browser is the new command lineBrowser is the new command line

2121

ArcGIS Server 9.3 REST APIArcGIS Server 9.3 REST API

•• All GIS Services are exposed as resourcesAll GIS Services are exposed as resources–– Service level metadataService level metadata

•• Some resources have operationsSome resources have operations–– Map Service (export, find, identify)Map Service (export, find, identify)–– Map Service Layers (query)Map Service Layers (query)–– Image Services (export)Image Services (export)–– Geocode Service (findAddressCandidates, Reverse Geocode)Geocode Service (findAddressCandidates, Reverse Geocode)–– Geoprocessing (execute, submitjob)Geoprocessing (execute, submitjob)–– Geometry Service (project, simplify, and others)Geometry Service (project, simplify, and others)

2222

ArcGIS Server 9.3 REST APIArcGIS Server 9.3 REST API

•• Resources and operations results can be returned as:Resources and operations results can be returned as:

–– HTML (Services ExplorerHTML (Services Explorer--default)default)

–– IMAGE (direct streamed image)IMAGE (direct streamed image)

–– KML (Google Earth, Google Maps, Virtual Earth)KML (Google Earth, Google Maps, Virtual Earth)

–– JSON (developer)JSON (developer)

•• JavaScript Object NotationJavaScript Object Notation

2323

Give me an example…

• Base Map URL: http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Petroleum/KGS_OilGasFields_Kansas/MapServer/

• Export operationbaseUrl/export?bbox=-102,34.7,-94,42&f=image

Exports map based on query parameters specified in the

URL

Give me an example…

{ "href" : " http://sampleserver1.arcgisonline.com/arcgisoutput/_ags_map94286ed135fa43229455188ecb140e9a.png ",

"width" : 400,

"height" : 400,

"extent" : { "xmin" : -102.0, "ymin" : 34.35, "xmax" : -94.0, "ymax" : 42.35, "spatialReference" : {"wkid" : 4326} },

"scale" : 8405265.02512876 }

baseUrl/export?bbox=-102,34.7,-94,42&f=json

Services ExplorerServices Explorer

2626

Services ExplorerServices Explorer

2727

2828

2929

3030

UC 2007 Tech SessionsUC 2007 Tech Sessions 3131

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Geocode_USA/GeocodeServer/findAddressCandidates

3232

http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Locators/ESRI_Geocode_USA/GeocodeServer/findAddressCandidates?Address

=8615+westwood+center+dr&City=vienna&State=va&Zip=&f=html

ArcGIS Server Supports MashupsSupporting Consumer and Enterprise mashups

DesktopSupported Web ClientsSupported Web Clients ArcGIS ClientsArcGIS Clients

Consumer MappingConsumer Mapping

Mashup

Virtual Earth\Google Maps

Google Earth

Explorer

OpenLayersOpenLayers

Web Map

Yahoo PipesYahoo Pipes

Adobe Flex/Java Fx/SilverlightAdobe Flex/Java Fx/Silverlight

Other Web ClientsOther Web Clients

RESTREST

RESTREST

RESTREST

REST/

SOAP

REST/

SOAP

KML/REST

KML/RESTSOAPSOAP

How do we integrate with Google Earth?How do we integrate with Google Earth?

•• KML KML –– Keyhole Markup LanguageKeyhole Markup Language

•• SOAP SOAP –– Simple Object Application ProtocolSimple Object Application Protocol

•• KML/RESTKML/REST

3434

ArcGIS ArcGIS 9.29.2

New @New @ArcGIS 9.3ArcGIS 9.3

3535

3636

3737

UC 2007 Tech SessionsUC 2007 Tech Sessions 3838

3939

Front endsFront ends

CompositeApplications

MobileApplications

Browser Applications

ArcGISExplorer

ArcGISDesktop

ArcGIS Server 9.3 (Front ends) More accesible to web developers

• New Java Script– Lower web developer entry level bar– Free web development vs licensed web development– ArcGIS Server is Google Maps and Virtual Earth friendly– Available online

Complete collection of JavaScript librariesComplete collection of JavaScript librariesfor building web mapping applicationsfor building web mapping applicationsthat access ArcGIS Server services.that access ArcGIS Server services.

JS API’s

GoogleEarth

Building Mashups with the JavaScript APIBuilding Mashups with the JavaScript API

4141

Give me an exampleGive me an example……

4242

4343

4444

UC 2007 Tech SessionsUC 2007 Tech Sessions 4545

Google Maps

4646

Web Controls

Web TierWeb Tier

Front endsFront ends

CompositeApplications

MobileApplications

Browser Applications

ArcGISExplorer

ArcGISDesktop

2D Mapping 3D Globe Geodatabase Locator Geoprocessing Image

Back endBack endGIS ServerGIS Server

Questions?

Map Caching Map Caching WorkflowsWorkflows

JS API’s

WebServiceInterfaces

RES

T

WM

S

WFS

-T

KM

L

SOA

P

WC

S

GoogleEarth

Recommended