building .net applications using the arcgis server web adf
Post on 30-Oct-2014
23 Views
Preview:
DESCRIPTION
TRANSCRIPT
Building .NET Applications UsingBuilding .NET Applications Usingthe ArcGIS Server Web ADF and ASP.NET AJAXthe ArcGIS Server Web ADF and ASP.NET AJAX
Art HaddadArt HaddadRex HansenRex Hansen
ESRI Developer Summit 2008ESRI Developer Summit 2008 11
Schedule
• 75 minute session60 65 minute lecture– 60 – 65 minute lecture
– 10 – 15 minutes Q & A following the lecture
• Cell phones and pagersp p g
• Please complete the session survey – we take your
ESRI Developer Summit 2008ESRI Developer Summit 2008
feedback very seriously!
22
AgendaAgenda
•• Overview of the Web Application Developer Framework Overview of the Web Application Developer Framework (ADF)(ADF)(ADF)(ADF)
•• Highlights of 9.3Highlights of 9.3•• Q & AQ & AQ & AQ & A
ESRI Developer Summit 2008ESRI Developer Summit 2008 33
.NET WEB APPLICATION.NET WEB APPLICATIONOverviewOverview
.NET WEB APPLICATION .NET WEB APPLICATION DEVELOPER FRAMEWORKDEVELOPER FRAMEWORK
ESRI Developer Summit 2008ESRI Developer Summit 2008 44
Web Applications / Development Web Applications / Development –– In contextIn context
ESRI Developer Summit 2008ESRI Developer Summit 2008 55
Web Application Development takes many formsWeb Application Development takes many forms
•• Client Side developmentClient Side developmentAll things happen on clientAll things happen on client -- JavaScriptJavaScript–– All things happen on client All things happen on client -- JavaScriptJavaScript
–– Only talk to services through HTTP/Get/Post/PutOnly talk to services through HTTP/Get/Post/Put–– Limited platform/environmentLimited platform/environment
•• Server Side developmentServer Side development–– Traditional ASP.NET/JSF/Cold FusionTraditional ASP.NET/JSF/Cold Fusion
S SS S–– Some JavaScript, most logic is on the web or server tierSome JavaScript, most logic is on the web or server tier–– At 9.2, the ADF was mostly server developmentAt 9.2, the ADF was mostly server development
•• HybridHybridHybridHybrid–– A well balanced combination of client and server logicA well balanced combination of client and server logic–– At 9.3, Web ADF “is” a Hybrid development platform At 9.3, Web ADF “is” a Hybrid development platform
ESRI Developer Summit 2008ESRI Developer Summit 2008 66
What does it take to become an ADF Developer?What does it take to become an ADF Developer?-- Web Development 101Web Development 101 ---- Web Development 101 Web Development 101 --
•• Must be familiar with Web DevelopmentMust be familiar with Web DevelopmentASP NETASP NET–– ASP.NETASP.NET
•• C# OR VB.NETC# OR VB.NET–– ASP.NET AJAXASP.NET AJAX
•• JavaScriptJavaScript•• Partial Post backsPartial Post backs•• Application ServicesApplication Services
–– HTML/CSSHTML/CSS
•• Have Familiarity with IISHave Familiarity with IIS–– Performance, Scalability, ASP.NET Worker ProcessPerformance, Scalability, ASP.NET Worker Process
ESRI Developer Summit 2008ESRI Developer Summit 2008 77
Web Application Developer FrameworkWeb Application Developer FrameworkWeb Application Developer FrameworkWeb Application Developer Framework
Web ControlsWeb Controls
Web ServerWeb Server
Web BrowserWeb BrowserTasksTasks
Web Controls
Web Server
Web BrowserTasks
Web ADF JavaScript
Library
Web ADF JavaScript
Library
Web ADF JavaScript
Library
Web ADF JavaScript
Library
TaskFramework
TaskFramework
Web ADF JavaScript
Library
Web ADF JavaScript
Library
TaskFramework
ADF Core classesADF Core classes
Common Data Source APICommon Data Source API cscs
ADF Core classes
Common Data Source API csCommon Data Source APICommon Data Source APIA
rcG
ISS
erv
er
Arc
GIS
Serv
er
Arc
IMS
Arc
IMS
Arc
Web
Arc
Web
OG
C\
WM
SO
GC
\W
MS
Gra
ph
icG
rap
hicCommon Data Source API
Arc
GIS
Serv
er
Arc
IMS
Arc
Web
OG
C\
WM
S
Gra
ph
ic
Data SourcesData SourcesAA
Data SourcesA
ESRI Developer Summit 2008ESRI Developer Summit 2008 8888
ArcGISServerArcGISServer
ArcIMSArcIMS ArcWebArcWeb OGC\WMSOGC\WMS
ArcGISServer
ArcIMS ArcWeb OGC\WMS
Web GIS UI ComponentsWeb GIS UI Components
•• Provides common GIS user interface componentsProvides common GIS user interface componentsProvides access to service capabilitiesProvides access to service capabilities–– Provides access to service capabilitiesProvides access to service capabilities
•• Visualization, Query, AnalysisVisualization, Query, Analysis–– Access to multiple servicesAccess to multiple servicespp
•• Visual and NonVisual and Non--visual Componentsvisual Components–– Web ControlsWeb Controls
•• ASP.NET AJAXASP.NET AJAX•• Scriptable Map componentScriptable Map component•• Tasks and ResultsTasks and Results
–– Resource managersResource managers
M G iM G i
ESRI Developer Summit 2008ESRI Developer Summit 2008
•• Map, GeoprocessingMap, Geoprocessing
99
Web ADF ControlsWeb ADF Controls
•• AJAX enabledAJAX enabled•• MultiMulti--source consolidationsource consolidation
–– Resource blendingResource blending•• Rich outRich out--ofof--thethe--boxbox
functionality functionality
•• Visual Studio integrationVisual Studio integrationVisual Studio integrationVisual Studio integration–– Web MappingWeb Mapping
Application templateApplication template
ESRI Developer Summit 2008ESRI Developer Summit 2008 1010
Web ADF Data SourcesWeb ADF Data Sources
•• Generic framework for supporting multiple ServicesGeneric framework for supporting multiple Services•• Manages interaction between Web controls and dataManages interaction between Web controls and data•• Manages interaction between Web controls and data Manages interaction between Web controls and data
sourcessources•• Extensible architectureExtensible architectureExtensible architectureExtensible architecture
Data source Resource Functionality
ESRI Developer Summit 2008ESRI Developer Summit 2008 1111
Web ADF Task FrameworkWeb ADF Task Framework
•• Extensible Framework that can be used to build reExtensible Framework that can be used to build re--usable workflowsusable workflowsusable workflowsusable workflows
•• Results orientedResults oriented–– Task Results Container that provides common view into the Task Results Container that provides common view into the pp
results of queries and analysisresults of queries and analysis–– Map control is considered a visual task results containerMap control is considered a visual task results container
ESRI Developer Summit 2008ESRI Developer Summit 2008 1212
Web ADF Task FrameworkWeb ADF Task Framework
•• Different Skill levels can take advantage of the Task Different Skill levels can take advantage of the Task Framework in different waysFramework in different waysFramework in different waysFramework in different ways–– Add data directly to the Results Container (e.g. Identify Tool)Add data directly to the Results Container (e.g. Identify Tool)–– Create a User Control as a Page DeveloperCreate a User Control as a Page Developer–– Develop a Composite web control for ArcGIS Server Manager Develop a Composite web control for ArcGIS Server Manager
integrationintegration
ESRI Developer Summit 2008ESRI Developer Summit 2008 1313
Web ADF Tasks in the boxWeb ADF Tasks in the box
•• Search Search –– Search Attributes of a layerSearch Attributes of a layer
•• Find AddressFind Address–– Use locator services to perform geocoding tasksUse locator services to perform geocoding tasks
•• Find PlaceFind PlaceG tt h i A W bG tt h i A W b–– Gazetteer search using ArcWeb Gazetteer search using ArcWeb
•• QueryQuery–– Perform queries against layer attributesPerform queries against layer attributes
•• GeoprocessingGeoprocessing•• GeoprocessingGeoprocessing–– Gather inputs for published Geoprocessing tools and models and execute Gather inputs for published Geoprocessing tools and models and execute
using this taskusing this task•• EditorEditor
–– Web based geodatabase editing (versioned and nonWeb based geodatabase editing (versioned and non--versioned edits are versioned edits are allowed)allowed)
•• PrintPrintSi l i ti th t id b i ti f th b li tiSi l i ti th t id b i ti f th b li ti
ESRI Developer Summit 2008ESRI Developer Summit 2008
•• Simple printing that provides web printing for the web applicationSimple printing that provides web printing for the web application
1414
9.3 SDK and Documentation9.3 SDK and Documentation
•• Developer RoadmapDeveloper Roadmap•• Web ADFWeb ADF•• Web ADFWeb ADF
–– Comprehensive Class Library ReferenceComprehensive Class Library Reference–– Enhanced discussion topicsEnhanced discussion topicspp
–– MigrationMigration–– AJAX PatternsAJAX Patterns–– JavaScript Discussion and Library ReferenceJavaScript Discussion and Library ReferenceJavaScript Discussion and Library ReferenceJavaScript Discussion and Library Reference
•• Let’s See itLet’s See it
ESRI Developer Summit 2008ESRI Developer Summit 2008 1515
DEMODEMOWeb ADF Sample ApplicationWeb ADF Sample Application
DEMODEMO
ESRI Developer Summit 2008ESRI Developer Summit 2008 1616
ARCGIS SERVER 9.3ARCGIS SERVER 9.3Highlights of the .NET Web ADF Highlights of the .NET Web ADF
ARCGIS SERVER 9.3ARCGIS SERVER 9.3
ESRI Developer Summit 2008ESRI Developer Summit 2008 1717
Highlights of the ADF with ArcGIS Server 9.3
• Improved PerformanceFaster Map Blending– Faster Map Blending
– More Client-side behavior
• Better/Enhanced Developer Experiencep p– Fully integrated with ASP.NET AJAX– Fully supported and public Web ADF client JavaScript Library
S S– Visual Studio 2008 Support– Better SDK and Documentation
• Improved User ExperienceImproved User Experience– ASP.NET AJAX Web Mapping Application
ESRI Developer Summit 2008ESRI Developer Summit 2008
PERFORMANCEPERFORMANCEImprovedImproved
PERFORMANCEPERFORMANCE
ESRI Developer Summit 2008ESRI Developer Summit 2008 1919
Dynamic and Cached service blending
• At 9.2, the Web ADF maintained a map-centric tiling scheme– One global tiling scheme for the map
• In 9 3 each resource can maintain a tiling scheme• In 9.3, each resource can maintain a tiling scheme
DynamicDynamic CachedCached
ESRI Developer Summit 2008ESRI Developer Summit 2008
Web ADF Performance Enhancements
• Minimize ASP.NET Page LifecycleASP NET HTTP Handler designed to streamline dynamic map– ASP.NET HTTP Handler designed to streamline dynamic map image generation by skipping page lifecycle
• Improved Client-side Logic– Client-server messages (Web ADF CallbackResults) serialized
using JSON– Minimize AJAX requests to the server by leveraging client-side– Minimize AJAX requests to the server by leveraging client-side
logic
• Smarter Animation logic and Activity Indicator– New JavaScript Animation library– Integrated progress bar
M i t
ESRI Developer Summit 2008ESRI Developer Summit 2008
• Many more improvements…– Overview, TOC, MIME Image Handling, etc.
ResourceResource--centric tilingcentric tiling
DEMODEMO
gg
DEMODEMO
ESRI Developer Summit 2008ESRI Developer Summit 2008 2222
Web ControlsWeb ControlsEnhanced and ImprovedEnhanced and Improved
Web ControlsWeb Controls
ESRI Developer Summit 2008ESRI Developer Summit 2008 2323
Web ADF Web ADF –– Web ControlsWeb Controls
•• Web Controls continue to thrive in 9.3Web Controls continue to thrive in 9.3Map TOC Overview ResourceManagers MapTips NavigationMap TOC Overview ResourceManagers MapTips Navigation–– Map, TOC, Overview, ResourceManagers, MapTips, Navigation, Map, TOC, Overview, ResourceManagers, MapTips, Navigation, Toolbar, etc.Toolbar, etc.
–– ADF Web Controls are ADF Web Controls are Script ControlsScript Controls
•• Extend ASP.NET AJAX clientExtend ASP.NET AJAX client--side functionalitiesside functionalities•• WebControls that can provide script references and WebControls that can provide script references and
i t d i t (i i l ti IS i tC t l)i t d i t (i i l ti IS i tC t l)script descriptors (i.e. implementing IScriptControl) script descriptors (i.e. implementing IScriptControl) without relying on an external object. without relying on an external object.
•• We can describe both the serverWe can describe both the server--side and theside and the•• We can describe both the serverWe can describe both the server--side and the side and the clientclient--side functionalities in a single place.side functionalities in a single place.
ESRI Developer Summit 2008ESRI Developer Summit 2008 2424
Web Control enhancements
• MapScriptable work with events– Scriptable, work with eventson the Map via JavaScript
• MapResourceManager– Layer Formats
• “MapTips”– Points, lines, polygons
• TasksMap and results interaction– Map and results interaction
– Override layer formatson results
ESRI Developer Summit 2008ESRI Developer Summit 2008
• Graphics Layer– RenderOnClient
New Web controls in the Visual Studio toolbox
• MapCopyrightText• PrintTask• PrintTask• ColorPicker• ContextMenu• ContextMenu• New ASP.NET AJAX behavior
– DocExtenderDocExtender– HoverExpandExtender
ESRI Developer Summit 2008ESRI Developer Summit 2008
Visual Studio 2008 SupportVisual Studio 2008 Support
•• IDE IntegrationIDE Integration•• ASP NET AJAX Web Mapping ApplicationASP NET AJAX Web Mapping Application•• ASP.NET AJAX Web Mapping ApplicationASP.NET AJAX Web Mapping Application•• .NET 3.5 .NET 3.5 supportsupport•• Enhanced JavaScript DebuggingEnhanced JavaScript Debugging•• Enhanced JavaScript DebuggingEnhanced JavaScript Debugging•• JavaScript JavaScript IntellisenseIntellisense**
ESRI Developer Summit 2008ESRI Developer Summit 2008 2727
Web Mapping Application template
• ASP.NET AJAX based (includes ScriptManager)T k i l d d i• Tasks included as menu items
ESRI Developer Summit 2008ESRI Developer Summit 2008
Graphic Layers, Layer Formats and MapTipsGraphic Layers, Layer Formats and MapTips
DEMODEMO
p y , y p pp y , y p p
DEMODEMO
ESRI Developer Summit 2008ESRI Developer Summit 2008 2929
Migration to 9.3
• Automated (Web Mapping Application only)– Manager migrationg g
• Sites.xml• Update files and references• Convert to 9.3 WMACo e t to 9 3
– Migration utility• Program menu item
Web Mapping Application pp g ppMigration Utility
• Manual– Add reference to System.Web.Extensions.dlldd e e e ce to Syste eb te s o s d– Optionally
• change assembly version referenceScriptManager not required
ESRI Developer Summit 2008ESRI Developer Summit 2008
– ScriptManager not required
9.2 to 9.3 Migration Matrix9.2 to 9.3 Migration Matrix
Migration Upgrade ManualApplications in ✔ ✔ ✗Applications in Manager
✔ ✔ ✗
Modified Manager Applications
✔ ✗pp
WMA Template ✔ ✗
Custom ADF Web Application
✗ ✗ ✔Application
Key: ✔ = Yes✔ = Yes✗ = No
= Possible
ESRI Developer Summit 2008ESRI Developer Summit 2008 3131
DEMODEMOMigrating 9.2 to 9.3Migrating 9.2 to 9.3
DEMODEMO
ESRI Developer Summit 2008ESRI Developer Summit 2008 3232
ASP.NET AJAX and 9.3ASP.NET AJAX and 9.3WEB ADFWEB ADF
ASP.NET AJAX and 9.3ASP.NET AJAX and 9.3
ESRI Developer Summit 2008ESRI Developer Summit 2008 3333
ASP.NET AJAX and 9.3ASP.NET AJAX and 9.3
Client-side Server-side9.29.29.39.3
ArcGIS Server .NET Web ADFArcGIS Server .NET Web ADF
ArcGIS Server .NET Web ADF
Microsoft .NET Framework
ArcGIS Server .NET Web ADF
Microsoft ASP.NET AJAX
Microsoft .NET FrameworkMicrosoft ASP.NET AJAX
Some challenges…Some challenges…
ESRI Developer Summit 2008ESRI Developer Summit 2008
Some challenges…Some challenges…
Why use ASP.NET AJAX with the Web ADF?Why use ASP.NET AJAX with the Web ADF?
•• Many requests from the User CommunityMany requests from the User Community•• Easier to implement AJAX solutions using existingEasier to implement AJAX solutions using existing•• Easier to implement AJAX solutions using existing Easier to implement AJAX solutions using existing
ASP.NET patternsASP.NET patterns–– Simplifies Web control integration into an AJAX environment Simplifies Web control integration into an AJAX environment –– Maintains post back properties Maintains post back properties –– view state, event validationview state, event validation
•• Many features out of the box that our users needMany features out of the box that our users need
•• Object oriented Event driven modelObject oriented Event driven model•• Object oriented, Event driven modelObject oriented, Event driven model•• Simplifies synchronization between client and serverSimplifies synchronization between client and server•• Cross Browser JavaScript libraryCross Browser JavaScript library•• Cross Browser JavaScript libraryCross Browser JavaScript library
•• Many More…Many More…
ESRI Developer Summit 2008ESRI Developer Summit 2008 3535
Working with AJAXWorking with AJAX
•• Many different ways of Implementing an AJAX Web Many different ways of Implementing an AJAX Web ApplicationApplicationApplicationApplication–– ASP.NET Call Back FrameworkASP.NET Call Back Framework
•• Supported at 9.2Supported at 9.2pppp–– ASP.NET AJAX Partial PostASP.NET AJAX Partial Post--back modelback model
Web ADF at 9.3, supports bothWeb ADF at 9.3, supports both
ESRI Developer Summit 2008ESRI Developer Summit 2008 3636
Benefits of the different AJAX PatternsBenefits of the different AJAX Patterns
•• Benefits of a Callback solution:Benefits of a Callback solution:Very lightweight on server/response sizesVery lightweight on server/response sizes––Very lightweight on server/response sizesVery lightweight on server/response sizes
––Controls are never rendered during a callback, and the Controls are never rendered during a callback, and the control lifecycle is shorter control lifecycle is shorter •• Less load on the serverLess load on the serverLess load on the serverLess load on the server
•• Benefits of a Partial Post back solution:Benefits of a Partial Post back solution:Controls are fully initialized and rendered during aControls are fully initialized and rendered during a––Controls are fully initialized and rendered during a Controls are fully initialized and rendered during a partial post back partial post back •• All controlAll control--events are triggered during their entire lifecycleevents are triggered during their entire lifecycle
––UpdatePanel content can be completely reUpdatePanel content can be completely re--renderedrenderedUpdatePanel content can be completely reUpdatePanel content can be completely re rendered rendered during a partial post back during a partial post back •• Controls can act as triggers to when initiating a partial post Controls can act as triggers to when initiating a partial post
backbackC li t ith th ASP NET AJAX b t l d thC li t ith th ASP NET AJAX b t l d th
ESRI Developer Summit 2008ESRI Developer Summit 2008
––Compliant with the ASP.NET AJAX web controls and the Compliant with the ASP.NET AJAX web controls and the AJAX Control Toolkit.AJAX Control Toolkit.
Support for the ASP.NET AJAX UpdatePanel Support for the ASP.NET AJAX UpdatePanel -- ASP NET AJAX Web ControlASP NET AJAX Web Control
•• Update Panel is for “AJAX’ifying” nonUpdate Panel is for “AJAX’ifying” non--AJAX AJAX
-- ASP.NET AJAX Web ControlASP.NET AJAX Web Control
enabled controls. enabled controls. –– Supports triggers between web controlsSupports triggers between web controls–– Works with partial postbacksWorks with partial postbacks
•• So…So…O t l l d f ll AJAX bl dO t l l d f ll AJAX bl d–– Our controls are already fully AJAX enabled. Our controls are already fully AJAX enabled.
––UpdatePanel is not required with Web ADF Controls.UpdatePanel is not required with Web ADF Controls.•• Web ADF controls can operate as a trigger for UpdatePanelsWeb ADF controls can operate as a trigger for UpdatePanelsWeb ADF controls can operate as a trigger for UpdatePanelsWeb ADF controls can operate as a trigger for UpdatePanels•• NonNon--Web ADF controls (including controls in UpdatePanels) Web ADF controls (including controls in UpdatePanels)
can trigger partial postbacks and update Web ADF controls. can trigger partial postbacks and update Web ADF controls.
ESRI Developer Summit 2008ESRI Developer Summit 2008
Using ASP.NET AJAX and the Update PanelUsing ASP.NET AJAX and the Update Panel
DEMODEMO
g pg p
DEMODEMO
ESRI Developer Summit 2008ESRI Developer Summit 2008 3939
Web ADF JavaScriptWeb ADF JavaScript
•• Enhances the Web ADF Web Controls and FrameworkEnhances the Web ADF Web Controls and FrameworkClient side functionality and behaviorsClient side functionality and behaviors–– Client side functionality and behaviorsClient side functionality and behaviors
•• Built using ASP.NET AJAX as the base libraryBuilt using ASP.NET AJAX as the base library–– Support for well known MS AJAX PatternsSupport for well known MS AJAX Patternspppp–– http://ajax.asp.net/docshttp://ajax.asp.net/docs
•• Event DrivenEvent Driven–– Respond to map events directly in browser using the Scriptable Respond to map events directly in browser using the Scriptable
Map ControlMap Control
•• Object OrientedObject Oriented•• Object OrientedObject Oriented–– Full object model and SDK detailing how to use itFull object model and SDK detailing how to use it
ESRI Developer Summit 2008ESRI Developer Summit 2008 4040
Benefits of the Web ADF JavaScript library
• Leverage browser technologies to improveoverall application performance and capabilitiescapabilities
• Documented, accessible and supported Browser
Web ADF JavaScript Libraries
Microsoft AJAX JavaScript Library
Web Server
ESRI Developer Summit 2008ESRI Developer Summit 2008
Controls
Web ADF JavaScript ExamplesWeb ADF JavaScript Examples
•• Get the map object and add an event listenerGet the map object and add an event listener
•• Center map on a pointCenter map on a pointvar center = new ESRI.Geometries.Point(100,0)map.panTo(center);
ESRI Developer Summit 2008ESRI Developer Summit 2008
Web ADF JavaScriptWeb ADF JavaScript
DEMODEMO
pp
DEMODEMO
ESRI Developer Summit 2008ESRI Developer Summit 2008 4343
SummarySummary
•• Comprehensive Application Development Framework Comprehensive Application Development Framework Built on Microsoft Standard Web TechnologiesBuilt on Microsoft Standard Web Technologies–– Built on Microsoft Standard Web TechnologiesBuilt on Microsoft Standard Web Technologies
•• Improved PerformanceImproved Performance•• Better/Enhanced Developer ExperienceBetter/Enhanced Developer ExperienceBetter/Enhanced Developer ExperienceBetter/Enhanced Developer Experience
–– Quality releaseQuality release–– ASP.NET AJAX based JavaScript LibraryASP.NET AJAX based JavaScript Library–– Visual Studio 2008 SupportVisual Studio 2008 Support
•• Better User Experience in the Web mapping applicationBetter User Experience in the Web mapping application
ESRI Developer Summit 2008ESRI Developer Summit 2008 4444
In Conclusion…In Conclusion…
•• Other recommended sessions and meetingsOther recommended sessions and meetingsBuilding and Extending Tasks for ArcGIS Server NET WebBuilding and Extending Tasks for ArcGIS Server NET Web–– Building and Extending Tasks for ArcGIS Server .NET Web Building and Extending Tasks for ArcGIS Server .NET Web ApplicationsApplications
•• All sessions are recorded and will be available on EDNAll sessions are recorded and will be available on EDN–– Slides and code will also be availableSlides and code will also be available
•• Please fill out session surveys!Please fill out session surveys!
•• Still have questions?Still have questions?11 T h t lk D Th t M t th TT h t lk D Th t M t th T1.1.Tech talk, Demo Theatres, Meet the TeamTech talk, Demo Theatres, Meet the Team2.2.“Ask a Developer” link on web page“Ask a Developer” link on web page
•• www.esri.com/devsummit/techquestionswww.esri.com/devsummit/techquestions
ESRI Developer Summit 2008ESRI Developer Summit 2008
4545
Thank you.Thank you.
•• Questions?Questions?
ESRI Developer Summit 2008ESRI Developer Summit 2008 4646
top related