Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Redesigning desktop applications for the webg g
Wittaker MathotWittaker MathotGreg Pleiss
Presentation GoalsPresentation GoalsPresentation GoalsPresentation Goals
•• Learn why and when you should consider the web as a Learn why and when you should consider the web as a platform for your applicationplatform for your application
•• See a real world example of a redesign from desktop to See a real world example of a redesign from desktop to web in a case study fashionweb in a case study fashion
•• Walk away with a more general design process and set of Walk away with a more general design process and set of considerations that you can apply to your applicationconsiderations that you can apply to your applicationy pp y y ppy pp y y pp
AgendaAgendaAgendaAgenda
•• The Web, GIS, and the The Web, GIS, and the ArcGISArcGIS PlatformPlatform
•• Case StudyCase Study•• Case StudyCase Study–– BackgroundBackground–– Why the web?Why the web?–– Technology StackTechnology Stack–– Design & ArchitectureDesign & Architecture–– Lessons LearnedLessons LearnedLessons LearnedLessons Learned
•• General Design Process & ConsiderationsGeneral Design Process & Considerations
•• Q & AQ & A
Why the Web?Why the Web?Why the Web?Why the Web?
•• Broader accessibilityBroader accessibility•• Simpler deploymentSimpler deployment
** Technology and industry are moving this wayTechnology and industry are moving this wayYou were told toYou were told toEverybody’s doing itEverybody’s doing it
Why the WebWhy the Web NowNow??Why the Web Why the Web NowNow??
•• Infrastructure is Infrastructure is fasterfaster and and cheapercheaper•• Content is Content is moremore accessibleaccessible•• Application development isApplication development is easiereasier•• Application development is Application development is easiereasier•• User experience is User experience is richerricher•• User experience is User experience is moremore collaborativecollaborative
** It’s become a great platform for integrating, sharing, It’s become a great platform for integrating, sharing, and using informationand using information
GIS and the WebGIS and the WebGIS and the WebGIS and the WebA Proven Platform for Web MappingA Proven Platform for Web Mapping
•• Web maps are everywhereWeb maps are everywhere•• Web maps are now familiar to everyoneWeb maps are now familiar to everyone•• Web maps integrate geospatial information forWeb maps integrate geospatial information for•• Web maps integrate geospatial information for Web maps integrate geospatial information for
visualizationvisualization
GIS and the Web are Evolving TogetherGIS and the Web are Evolving TogetherGIS and the Web are Evolving TogetherGIS and the Web are Evolving TogetherMore Than Just Points on a MapMore Than Just Points on a Map
•• VisualizeVisualize•• CreateCreate•• ShareShare•• CollaborateCollaborate•• DiscoverDiscover•• ManageManage•• AnalyzeAnalyze
ArcGISArcGIS 1010ArcGISArcGIS 1010Leverages Advances in Web Technology …Leverages Advances in Web Technology …
Cloud
WebWeb •• VisualizeVisualize•• CreateCreate•• ShareShare
Enterprise
MobileMobile
•• CollaborateCollaborate•• DiscoverDiscover•• ManageManage
Local
•• AnalyzeAnalyze
DesktopDesktop
ToTo MakeMake GIS Available to EveryoneGIS Available to Everyone. . . To . . . To Make Make GIS Available to EveryoneGIS Available to Everyone
ArcGISArcGIS Server 10Server 10ArcGISArcGIS Server 10Server 10Serves Multiple Clients Using StandardsServes Multiple Clients Using Standards--based Web Servicesbased Web Services
Web ClientsWeb Clients
Rich ClientsRich Clients
•• Author Knowledge OnceAuthor Knowledge Once•• Publish to Publish to ArcGISArcGIS ServerServer•• Serve as REST, SOAP, KML, OGCServe as REST, SOAP, KML, OGC
Easily DiscoveredEasily Discovered
ExplorerExplorer
Rich ClientsRich Clients
MobileMobile
•• Easily DiscoveredEasily Discovered•• Use from MultipleUse from Multiple ClientsClients•• Customizable (API’s)Customizable (API’s)
EnterpriseEnterpriseIntegrationIntegrationDesktopDesktop
USEUSE•• Supports:Supports:•• VisualizationVisualization•• AnalysisAnalysis
IntegrationIntegration
SERVESERVE•• QueryingQuerying•• ExtractingExtracting•• EditingEditing
AUTHORAUTHOR
ArcGISArcGIS Server 10Server 10ArcGISArcGIS Server 10Server 10Rich Web Applications and APIs Available OutRich Web Applications and APIs Available Out--ofof--thethe--BoxBox
•• Web ApplicationsWeb Applications–– ArcGISArcGIS Explorer OnlineExplorer Online–– Configurable Flex, JavaScript, and Silverlight applicationsConfigurable Flex, JavaScript, and Silverlight applicationsC g , J S p , S g ppC g , J S p , S g pp
•• Web APIsWeb APIsSS–– JavaScriptJavaScript
–– FlexFlex–– SilverlightSilverlightgg–– .NET, SharePoint.NET, SharePoint–– JavaJava
•• Online Samples and TemplatesOnline Samples and Templates
ArcGISArcGIS Server 10Server 10ArcGISArcGIS Server 10Server 10Provides Flexible Deployment OptionsProvides Flexible Deployment Options
ExplorerExplorer W b Cli tW b Cli tExplorerExplorerRich ClientsRich Clients Web ClientsWeb Clients
•• OnOn--PremisePremise•• Hosted in the CloudHosted in the Cloud•• Both (Hybrid)Both (Hybrid)
USEUSE MobileMobile
DesktopDesktop EnterpriseEnterpriseIntegrationIntegration
Support for Support for Amazon CloudAmazon Cloud
SERVESERVE
OnOn--PremisePremise HostedHosted
ArcGIS comArcGIS comArcGIS.comArcGIS.comEnables Users to Share and Collaborate on Geospatial InformationEnables Users to Share and Collaborate on Geospatial Information
ApplicationsApplications
MultipleMultipleClientsClients
pppp
CommunitiesCommunities
SharingSharing
MashupsMashups
DiscoveryDiscovery
SharingSharingMaps, DataMaps, Data
and Analysisand Analysis
Users Can Create, Share, Find and Use . . . Users Can Create, Share, Find and Use . . . . . . Data, Maps and Applications . . . Data, Maps and Applications
ArcGISArcGIS Desktop 10Desktop 10ArcGISArcGIS Desktop 10Desktop 10Making Desktop GIS Easier and More ProductiveMaking Desktop GIS Easier and More Productive
ArcGISArcGIS 10 Is Here10 Is HereArcGISArcGIS 10 Is Here10 Is HereSimple and PervasiveSimple and Pervasive
•• Extends full GIS capabilities to the webExtends full GIS capabilities to the web•• Continues to improve desktop GISContinues to improve desktop GIS
So then …So then …
** When should you redesign for the web?When should you redesign for the web?y gy g
** How should you redesign for the web?How should you redesign for the web?
Case StudyCase StudyCase StudyCase StudyRedistrictingRedistrictingRedistrictingRedistricting
BackgroundBackgroundBackgroundBackgroundA political process relying on GIS data and workflowsA political process relying on GIS data and workflows
•• Redistricting is the process of redrawing electoral (or other Redistricting is the process of redrawing electoral (or other political) boundariespolitical) boundaries
•• Redistricting is tightly tied to the decennial censusRedistricting is tightly tied to the decennial census–– Updated population counts determine reapportionmentUpdated population counts determine reapportionment–– Updated demographics reveal gerrymandersUpdated demographics reveal gerrymanders
•• Redistricting occurs at many levels (Federal, State, Local)Redistricting occurs at many levels (Federal, State, Local)Redistricting occurs at many levels (Federal, State, Local)Redistricting occurs at many levels (Federal, State, Local)–– Congress & LegislatureCongress & Legislature–– Police, Schools, City CouncilsPolice, Schools, City Councils
•• Redistricting is an iterative processRedistricting is an iterative process–– Requires collaboration, review, and revisionRequires collaboration, review, and revisionq , ,q , ,
User BaseUser BaseProfilesProfiles
•• Legal review of district plansLegal review of district plans
Federal GovernmentFederal Government State & Local GovernmentState & Local Government
C t d bli h i tC t d bli h i t•• Legal review of district plans Legal review of district plans submitted by specific, large submitted by specific, large statesstates
•• Collaborate securelyCollaborate securely
•• Create and publish variety Create and publish variety of district plans (Congress, of district plans (Congress, Police, Schools, etc.)Police, Schools, etc.)
•• Collaborate securelyCollaborate securelyCollaborate securelyCollaborate securely •• Collaborate securelyCollaborate securely
Advocacy GroupsAdvocacy GroupsGeneral PublicGeneral Public
A l i dA l i d•• Analyze, review, and Analyze, review, and comment on proposed district comment on proposed district plansplans
C t d h lt tiC t d h lt ti
•• Analyze, review, and Analyze, review, and comment on proposed district comment on proposed district plansplans
•• Create and share alternativeCreate and share alternative•• Create and share alternative Create and share alternative district plansdistrict plans
Create and share alternative Create and share alternative district plansdistrict plans
••Collaborate securelyCollaborate securely
User BaseUser BaseUser BaseUser BaseRelative sizingRelative sizing
Federal GovernmentFederal Government State & Local GovernmentState & Local Governmento oo o
Advocacy GroupsAdvocacy GroupsGeneral PublicGeneral Public
Business ProblemBusiness ProblemBusiness ProblemBusiness ProblemMeeting the needs of a broad spectrum of usersMeeting the needs of a broad spectrum of users
•• There is a large, and growing, public interest in the There is a large, and growing, public interest in the upcoming process of redefining electoral districts upcoming process of redefining electoral districts following the 2010 censusfollowing the 2010 census
•• Need to provide a solution that will empower both GIS and Need to provide a solution that will empower both GIS and nonnon GIS stakeholdersGIS stakeholdersnonnon--GIS stakeholdersGIS stakeholders
•• Need to provide a solution that will support all aspects of Need to provide a solution that will support all aspects of p pp pp pp pthe political processthe political process
–– Creating & PublishingCreating & PublishingSharing & CollaborationSharing & Collaboration–– Sharing & CollaborationSharing & Collaboration
–– Discovery & ReviewDiscovery & Review
ChallengesChallengesChallengesChallengesExtending the reach of Redistricting applicationsExtending the reach of Redistricting applications
•• Large pool of potential users, but they have a shortLarge pool of potential users, but they have a shortLarge pool of potential users, but they have a short Large pool of potential users, but they have a short attention span (minimize costs)attention span (minimize costs)
Wid f ‘ ti l lit ’Wid f ‘ ti l lit ’•• Wide range of ‘geospatial literacy’Wide range of ‘geospatial literacy’–– GIS ProfessionalsGIS Professionals–– General PublicGeneral Public
•• Largest potential user base is nonLargest potential user base is non--GIS community, but GIS community, but i ti ff i d kti ti ff i d kt b d li ti f GISb d li ti f GISexisting offerings are desktopexisting offerings are desktop--based applications for GIS based applications for GIS
professionalsprofessionals
•• Collaboration and sharing of data must be secureCollaboration and sharing of data must be secure
Why Redistricting for the web?Why Redistricting for the web?Why Redistricting for the web?Why Redistricting for the web?
•• CostCost
•• AccessibilityAccessibility•• AccessibilityAccessibility
•• Sharing & CollaborationSharing & Collaboration
…because we were told to, right? No.
Why Redistricting for the webWhy Redistricting for the web NOWNOW??Why Redistricting for the web Why Redistricting for the web NOWNOW??
•• The platform is readyThe platform is ready
•• The next major push is 10 years awayThe next major push is 10 years away•• The next major push is 10 years awayThe next major push is 10 years away
…so what did we do? And how did we do it?
Technology StackTechnology StackL i th d kt d th bL i th d kt d th bLeveraging the desktop and the webLeveraging the desktop and the web
•• ArcGIS Server 10ArcGIS Server 10M S iM S i–– Map ServicesMap Services
–– Feature ServicesFeature Services–– Geometry ServicesGeometry Services
GIS UGIS U
ArcGIS DesktopArcGIS DesktopAuthorsAuthors
•• ArcGIS.comArcGIS.com–– Online Base MapsOnline Base Maps–– GeocodingGeocoding ServicesServices
Web UsersWeb UsersGIS UsersGIS Users
–– Sharing & DiscoverySharing & Discovery•• ArcGIS Desktop 10ArcGIS Desktop 10
–– Layer PackagesLayer Packagesy gy g–– Map PackagesMap Packages
•• Other TechnologiesOther Technologiesgg–– Adobe FlexAdobe Flex–– Amazon CloudAmazon Cloud–– Oracle RDBMSOracle RDBMS GeodatabasesGeodatabases
ArcGIS OnlineArcGIS Online
ArcGIS ArcGIS ServersServers
Oracle RDBMSOracle RDBMS
Solution ArchitectureSolution Architecture
•Create & Publish Plans•Review & Comment on Plans•Discover & Consume Services•Standard Compactness Analysis
Rich Web ClientsRich Web ClientsFlash-capable Browser
ArcGIS ServerFlex API
RedistrictingFlex App•Standard Compactness Analysis
ArcGIS ServerArcGIS Server ArcGIS ServerArcGIS Server
Flex APIFlex App
OperationalLayers
Services
GroupManagement
Services
Base MapServices
UserMap
Services
GeometryService
FeatureData
Services
•Cached Maps•Communities•User Data
•Census Data•Tracts•Block Groups
•Layer Packages•Map Packages•Mash-ups
p•Blocks
•User Data•District Plans
ArcGIS comArcGIS com Managed ServicesManaged ServicesArcGIS.comArcGIS.com Managed ServicesManaged Services
•Access Local Data•Advanced Compactness Analysis
ArcGIS Desktop
ArcObjectsRedistricting
DesktopDesktop
y•Author & Publish Content•Discover & Consume Services
j.NET SDK
gAdd-in
Key Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedApplication DevelopmentApplication Development
•• User Experience: User Experience: Flex API provides sufficiently rich user Flex API provides sufficiently rich user experience for basic redistricting workflowsexperience for basic redistricting workflows
–– Polygon aggregationPolygon aggregationyg gg gyg gg g–– Polygon splittingPolygon splitting–– Visualization, analysis, & reportsVisualization, analysis, & reports
•• Performance: Performance: Use of Feature Service allowed geometries Use of Feature Service allowed geometries to be delivered once to client applicationto be delivered once to client application
•• Scalability: Scalability: ServerServer--side vs. Clientside vs. Client--side tradeside trade--offsoffsCustom Flex code = lower cost for scalabilityCustom Flex code = lower cost for scalability–– Custom Flex code = lower cost for scalabilityCustom Flex code = lower cost for scalability
–– Geometry Service = lower cost for developmentGeometry Service = lower cost for development
Key Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedKey Considerations & Lessons LearnedMaps and DataMaps and Data
•• Data Management: Data Management: Work with minimally sized data setsWork with minimally sized data sets–– Counties, block group, and block polygonsCounties, block group, and block polygons–– Many operations performed at county or block group levelMany operations performed at county or block group levely p p y g py p p y g p–– Per state operationPer state operation
D t S itD t S it H t d OH t d O ii•• Data Security: Data Security: Hosted vs. OnHosted vs. On--premisepremise–– ‘Private’ groups provide security for hosted/managed services‘Private’ groups provide security for hosted/managed services–– OnOn--premise deployment allows for physical isolation and data premise deployment allows for physical isolation and data p p y p yp p y p y
security when requiredsecurity when required
•• Data Content:Data Content: Leverage existing content where possibleLeverage existing content where possible•• Data Content: Data Content: Leverage existing content where possibleLeverage existing content where possible–– Identify gap fill needs early in design processIdentify gap fill needs early in design process––Data processing and caching takes timeData processing and caching takes timep g gp g g
SummarySummarySummarySummary
•• Sometimes web AND desktop is the right answerSometimes web AND desktop is the right answerSometimes web AND desktop is the right answerSometimes web AND desktop is the right answer–– Introduction of web allows for extending the reach of solution Introduction of web allows for extending the reach of solution –– Inclusion of desktop allows for delivery of rich GIS contentInclusion of desktop allows for delivery of rich GIS content
•• Web architecture provides reusable foundation for delivery Web architecture provides reusable foundation for delivery of more comprehensive Elections market solutionof more comprehensive Elections market solutionpp
•• Election Day ReportingElection Day Reporting•• Campaign ManagementCampaign Management•• Precinct ManagementPrecinct ManagementPrecinct ManagementPrecinct Management•• Outreach (e.g. Get Out the Vote)Outreach (e.g. Get Out the Vote)
N d l t ti b i d lN d l t ti b i d l•• New deployment options = new business modelsNew deployment options = new business models–– Managed services (Managed services (SaaSSaaS, , IaaSIaaS))–– OnOn--premise deployment premise deployment p p yp p y
Design ProcessDesign ProcessDesign Process Design Process &&& &
ConsiderationsConsiderationsConsiderationsConsiderations
Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebPrerequisitesPrerequisites
•• Learn about web technology optionsLearn about web technology options•• Understand the potential user baseUnderstand the potential user base•• Establish vision & business driversEstablish vision & business drivers•• Establish vision & business driversEstablish vision & business drivers•• Compile use casesCompile use cases•• Map functional (business) requirements to use casesMap functional (business) requirements to use cases•• Map nonMap non--functional (IT) requirements to use casesfunctional (IT) requirements to use cases
Look Beyond Current UsersLook Beyond Current Users & Application …& Application …… Consider … Consider Who Could Be Using Application, and HowWho Could Be Using Application, and How
Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebDesign ProcessDesign Process
1.1. Review and evaluate use casesReview and evaluate use cases–– Map appropriate technologies to each use caseMap appropriate technologies to each use case
•• Can the technology support functional requirements?Can the technology support functional requirements?gy pp qgy pp q•• Can the technology support nonCan the technology support non--functional requirements?functional requirements?
–– PerformancePerformance–– Scalability (number of users)Scalability (number of users)–– Interactivity (richness)Interactivity (richness)
–– Determine what level of customization is requiredDetermine what level of customization is required
Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebDesign ProcessDesign Process
2.2. Design SolutionDesign Solution•• Identify …Identify …
–– Application(s) to support use casesApplication(s) to support use cases–– Data stores Data stores (features, related attributes, imagery, etc.)(features, related attributes, imagery, etc.)
–– Web services Web services (maps, models, mosaics, etc)(maps, models, mosaics, etc)
•• Develop a solution architectureDevelop a solution architectureD i k t f th tD i k t f th t•• Design key components of the systemDesign key components of the system
–– Access to content via web servicesAccess to content via web services–– Geospatial business logicGeospatial business logic–– The user experienceThe user experience–– The user experienceThe user experience
•• Prototype early to mitigate riskPrototype early to mitigate risk•• Plan for the development and deploymentPlan for the development and deployment
Taking Taking Into Consideration ….Into Consideration ….
Designing Access to ContentDesigning Access to ContentDesigning Access to ContentDesigning Access to ContentUsing Web Services Instead of Direct Data AccessUsing Web Services Instead of Direct Data Access
•• Web applications access data through web servicesWeb applications access data through web services–– No longer have direct access databaseNo longer have direct access database–– Authoring of web content must be deliberate and thoughtfulAuthoring of web content must be deliberate and thoughtfulg gg g–– Different security modelDifferent security model
•• Web services providing data access:Web services providing data access:–– Map servicesMap services–– Feature servicesFeature services
Web Services
Feature servicesFeature services–– GeodataGeodata servicesservices–– Image servicesImage services
G iG i ii
Authored Resources
–– GeoprocessingGeoprocessing servicesservices Data & Imagery
Designing Access to ContentDesigning Access to ContentDesigning Access to ContentDesigning Access to ContentUsing Web Services Instead of Direct Data AccessUsing Web Services Instead of Direct Data Access
•• Map ServicesMap Services–– Don’t just move desktop maps onto serverDon’t just move desktop maps onto server–– Organize into …Organize into …O gO g
•• BasemapsBasemaps–– Consider full or partial cachingConsider full or partial caching–– Requires time to buildRequires time to build
•• Operational LayersOperational Layers–– Use optimized maps (MSD) where possibleUse optimized maps (MSD) where possible
–– Use best practices for web authoringUse best practices for web authoringp gp g–– Use map service publishing toolbarUse map service publishing toolbar
For feature data that must be highlyFor feature data that must be highlyFor feature data that must be highlyFor feature data that must be highlyinteractive or edited, consider interactive or edited, consider Feature Services…Feature Services…
Designing Access to ContentDesigning Access to ContentDesigning Access to ContentDesigning Access to ContentUsing Web Services Instead of Direct Data AccessUsing Web Services Instead of Direct Data Access
•• Feature ServicesFeature Services–– New Feature at New Feature at ArcGISArcGIS 1010–– Returns features instead of map imagesReturns features instead of map imagesp gp g–– Especially useful when:Especially useful when:
•• Content must be highly interactive (hover tips, etc)Content must be highly interactive (hover tips, etc)•• Data must be editable through web interfaceData must be editable through web interface•• Data must be editable through web interfaceData must be editable through web interface•• Application has small operational datasets (performance)Application has small operational datasets (performance)
•• Image ServicesImage Services–– Available at 9.3.1, but improved at 10Available at 9.3.1, but improved at 10
•• New mosaic dataset used by both Desktop and ServerNew mosaic dataset used by both Desktop and Servery py p•• Simplifies and streamlines publishing processSimplifies and streamlines publishing process
–– Consider when managing your own image libraryConsider when managing your own image library
Designing Geospatial Business LogicDesigning Geospatial Business LogicDesigning Geospatial Business LogicDesigning Geospatial Business LogicConsider TradeConsider Trade--offs Between Optionsoffs Between Options
•• Consider where your business logic should live to Consider where your business logic should live to maximize:maximize:
–– Ease of developmentEase of developmentpp–– Reusability by other applicationsReusability by other applications–– Portability to other technologiesPortability to other technologies
Web Application
Client-side Module
•• Consider:Consider:–– GeoprocessingGeoprocessing Models / ServicesModels / Services
AGS Customp gp g
–– Server Object Extensions (SOE) Server Object Extensions (SOE) –– Custom Web Services w/ Custom Web Services w/ ArcObjectsArcObjects
ClientClient side Modulesside Modules
ArcGIS Server
GP
AGSWeb Services
Custom Web Services
SOE–– ClientClient--side Modulesside Modules Models SOE
Designing the User ExperienceDesigning the User ExperienceDesigning the User ExperienceDesigning the User ExperienceThink Simple, Think FastThink Simple, Think Fast
•• Today’s web user has high expectationsToday’s web user has high expectations–– Easy to use, simple, intuitiveEasy to use, simple, intuitive–– Fast, interactiveFast, interactive,,
•• Don’t overcomplicate the interfaceDon’t overcomplicate the interface–– Design with use cases in mind, not just feature functionDesign with use cases in mind, not just feature function–– Don’t make the user think too muchDon’t make the user think too much
•• May influence technology choicesMay influence technology choices–– Flex and Silverlight vs. JavaScriptFlex and Silverlight vs. JavaScript–– Map services vs. feature servicesMap services vs. feature services–– Cached maps vs. optimized mapsCached maps vs. optimized maps
Planning the DevelopmentPlanning the DevelopmentPlanning the DevelopmentPlanning the DevelopmentConsider Skills Required for Modern Web DevelopmentConsider Skills Required for Modern Web Development
•• Today’s web APIs are easier to useToday’s web APIs are easier to use–– Less experience requiredLess experience required–– Barrier of entry is lowerBarrier of entry is loweryy–– More available outMore available out--ofof--thethe--boxbox
•• Requires new skills to be successfulRequires new skills to be successful–– User experienceUser experience–– Information integrationInformation integrationInformation integrationInformation integration–– Creative thinkingCreative thinking
Planning the DeploymentPlanning the DeploymentPlanning the DeploymentPlanning the DeploymentConsider TradeConsider Trade--offs Between Onoffs Between On--Premise and Hosted OptionsPremise and Hosted Options
•• OnOn--Premise vs. HostedPremise vs. Hosted
•• Considerations:Considerations:•• Considerations:Considerations:–– Your IT operations (maintainability)Your IT operations (maintainability)–– Scalability requirementsScalability requirements–– Availability requirementsAvailability requirements–– Security requirementsSecurity requirements–– Operational costsOperational costsOperational costsOperational costs
•• Infrastructure Infrastructure •• StaffingStaffing
–– License costsLicense costs–– License costs License costs OnOn--PremisePremise HostedHosted
SSSummarySummary
Redesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebRedesigning Desktop Applications for the WebCarefully Consider the Options and TradeCarefully Consider the Options and Trade--offs …offs …
•• Evaluate whether the web makes sense as a platform for Evaluate whether the web makes sense as a platform for meeting some or all of your needsmeeting some or all of your needs
–– Consider the potential user baseConsider the potential user basepp–– Consider functional and nonConsider functional and non--functional requirementsfunctional requirements–– Don’t wing itDon’t wing it
•• Design a solution that takes into consideration …Design a solution that takes into consideration …–– Your needs and skillsYour needs and skills–– Today’s web environmentToday’s web environment–– Today’s web userToday’s web user
ArcGISArcGIS best practices and patternsbest practices and patterns–– ArcGISArcGIS best practices and patternsbest practices and patterns
… and Design… and Design Deliberately for the WebDeliberately for the Web
Q & AQ & AQ & AQ & A