ArcGISServerPresentation by liaoxiuli

VIEWS: 116 PAGES: 39

									  ArcGIS Server
The Good, the Bad, and the
Steve Foster
GIS Programmer
 City of Frisco
    What does Server do
   1. Client requests a map from Server
    by specifying layers and extent

   2. Server renders the requested map
    and returns an image (i.e. jpg) to the
    client (Note: cached images are pre-rendered)

   3. Client displays image for user
     The Good
Available at
or your any ESRI salesman
                                The Good

   Web application: Allows
    distribution of spatial
    data to anyone with a

   Map utilizes full window!

   Centralized
    management reduces
    cost of ownership

   Heir apparent to ArcIMS

* Source: ESRI System Design Strategies
                                  ArcGIS Mobile
  Lightweight applications
  that run on a variety of

                                                 Requires Advanced
                                                  Enterprise level of
                                                  Server $$$
Locally cached data for
disconnected operation,
 Syncs when connected

Photos taken from
             The Good (continued)
   Ability to integrate with Enterprise applications through web
   Flexible
    • Choose from Java or .NET
   Powerful
    • Custom geoprocessing tasks developed with Model builder
    • Limited editing of layers
    • Support for most ESRI extensions
           Network Analyst
           Spatial Analyst
           3D Analyst
           Sever Data Interoperability
Easy to create Out-Of-
  The-Box website

  Wizard based
  Relatively low skill level required
1. Use ArcMap to create your map document
2. Use ArcCatalog to publish map service
 3. Use ArcGIS
Server Manager
 to create your
OR Use Visual Studio with Map Template
Use ArcCatalog to Manage ArcGIS Server
 Your Done!
It really is that easy
     The Bad
Or at least not so good
                        The Bad
   Web application
    • Limited by the technology (HTML)
          The best web apps don’t measure up to a good
           desktop app
    • Different browsers (IE, Netscape, Firefox, etc)
      makes testing more difficult
    • Timing problems in a multi-threaded
      environment can be difficult to debug
   Relatively new product, Support personnel
    not up to speed yet
W   Source: System Design Strategies, Dave Peters, ESRI, 2007
Poor Documentation of ADF
    Complex Development Environment
   Much more complex than extending
    ArcGIS desktop
   Several different technologies
    • HTML, ASP.NET, AJAX, VB and/or C#,
   Requires Microsoft Visual Studio
   Requires a fairly high skill level to
    customize code
 True curves causes errors in Identify
 Certain combinations of null and non-
  null values in table cause search to fail
 Zoom function sometimes fails to
  refresh map (Timing problem with window
 resize event)
 Map tiles sometime fail to draw (source
 file for toolbar incorrectly specified
 Caching does not work correctly when
  “PrimaryMapLayer” is set to a non-cached
  layer (Documentation omission).
 TOC collapses when refreshed (wrote my
 TOC update contains 100’s of repeated
  elements. (SP4)
 Dynamic rendering speed unnecessarily
  slow. Depends on what layers are in the
  map, not what is drawn.
 Custom cursors don’t behave correctly
   If possible…wait for Server 9.3
    •   Faster?
    •   Improved Diagnostics (log files)
    •   Major additions to Documentation
    •   Microsoft ASP.NET AJAX Final release
    •   Print task
   Use Mozilla Firefox with Firebug extension
    for debugging
   Use Fiddler with IE (not as good but some
    bugs limited to IE)
Use Visual Studio to set properties of controls
Edit the Source to reposition elements
Debugging: Monitor Event Viewer for ASP Errors
   Server is slow
   Keep it simple
   Cache everything possible / minimize
    dynamic rendering
   Keep symbology simple on dynamic
    layers, Use optimized symbol set
   Online seminar: Authoring and
    Publishing Optimized Map Services
           Oops! I
                            City of Frisco Server Configuration
 Client     didn’t
Browser   budget for

 Client                   Web
           Reverse                            ArcIMS          SDE /
Browser                  ArcGIS
            Proxy                              Server        SQL 2005
                       (SOM, SOC)
            Server                           (internal)       Server
            (ISA)                               Frisco6:
 Client                     ArcServer:           Xeon
                       Dual Xeon/Dual Core
Browser                  3.0 GHz (8Gb)
                                             2.4 GHz (2Gb)


 WWW          DMZ                       Secure Internal Network
   ESRI Developer Network (EDN)
    •   Discussion Forums
    •   Latest Documentation
   EDN Media Kit ($1500/yr)
    •   ArcGIS Server (all editions) & extensions
    •   ArcIMS
    •   ArcGIS Engine & Extensions
    •   ArcGIS Image Server
    •   ArcView (+$500), ArcEditor(+$1500), ArcInfo (+$2500)
   ESRI Developers Blog
    •   Examples of code customization
   ESRI Developer Summit
    • March 17-20 Palm Springs
   ESRI Training
    •   Developing Applications with ArcGIS Server Using the Microsoft .NET Framework
                  Create an Error Log
    Private Sub Page_Error(ByVal sender As System.Object, ByVal e As System.EventArgs)
      Handles MyBase.Error
        Dim exception As Exception = Server.GetLastError()

   Date.Now.ToString("yyyy-MM-dd") & "," & Date.Now.ToString("HH:mm:ss") & "," &
   Session.SessionID & ", PAGE ERROR TEXT: " & exception.ToString & vbCrLf, True)

       callErrorPage("Page_Error", exception)

     End Sub

•     Note: Add to Default.aspx.vb
        Toolbar: Adding Tools & Commands
   Sample TOOL
    •   ' Zoom in to the rectangle area defined by user.
    •     Public Class ZoomRect
    •        Implements IMapServerToolAction
    •       Sub ServerAction(ByVal args As ToolEventArgs) Implements IMapServerToolAction.ServerAction
    •         Dim map As ESRI.ArcGIS.ADF.Web.UI.WebControls.Map = CType(args.Control, ESRI.ArcGIS.ADF.Web.UI.WebControls.Map)

    •          Dim pea As RectangleEventArgs = CType(args, RectangleEventArgs)
    •          Dim peanut As System.Drawing.Rectangle = pea.ScreenExtent

    •          If peanut.Height < 15 And peanut.Width < 15 Then
    •             Dim center As Integer
    •             'Y
    •             center = peanut.Y + (peanut.Height / 2)
    •             peanut.Height = map.Height.Value / 2
    •             peanut.Y = center - (map.Height.Value / 4)
    •             'X
    •             center = peanut.X + (peanut.Width / 2)
    •             peanut.Width = map.Width.Value / 2
    •             peanut.X = center - (map.Width.Value / 4)
    •          End If

    •          map.Zoom(peanut, True)
    •       End Sub 'IMapServerToolAction.ServerAction

    •    End Class 'ZoomRect

   Sample COMMAND
    •     ' Zoom to the Extent of City
    •    Public Class ZoomFullExtent
    •       Implements IMapServerCommandAction

    •       Sub ServerAction(ByVal info As ToolbarItemInfo) Implements IServerAction.ServerAction
    •         Dim map As ESRI.ArcGIS.ADF.Web.UI.WebControls.Map = CType(info.BuddyControls(0),

    •          map.Extent = New ESRI.ArcGIS.ADF.Web.Geometry.Envelope(2450000, 7080000, 2511000, 7132000)

    •       End Sub 'IMapServerToolAction.ServerAction

    •    End Class
          Frisco GIS Team
   Susan Olson
   John Morley
   Amy Rose
   Bud Videan
   Brian Macke
          Coming Attractions
   NCTCOG Regional GIS Meeting
   May 22, 2008
   Frisco City Hall (96°50’4”W 33°9’N)
   Integration of Spatial and Business
    data systems at the City of Frisco
   Frisco Interactive maps at

   Frisco Home page:

   This presentation will be available on
    our GIS page

To top