System Requirements Software and Hardware Geog 469 GIS Workshop System Requirements Software and Hardware
Outline What are software requirements of GIS? Evolution of GIS software Terms related to GIS software Types of GIS software systems GIS software vendors What are hardware requirements of GIS? Classifying system functions Two types of network configuration Four types of system interface (client/server architectures) Determining adequate system interface and network configuration Longley reading is available in the department office
The evolution of GIS software Toolbox approach (command line) 1980s~ Graphic User Interface (GUI) Simplify user interaction with a GIS Customization capability Creation of GIS applications tailored to the needs of major markets (e.g. government, utilities, military, and environment) 1990s~ Distributed GIS Example: demographic analyst can begin with exploring data through American Fact Finder on the internet, then move on to more complex functions in desktop GIS
The evolution of customization 1980s ~ 1990s GIS vendors provide proprietary customization capability (e.g. AML, Avenue) No standard customization systems existed Programmers had to learn different macro languages to develop applications 2000 ~ 2010 Industry-standard programming language like Visual Basic, Python, or Javascript for customization Programmers work with software components, and more easily assemble them into larger systems
Basic terms for GIS software Presentation, business logic, data Client, server Stand-alone vs. client/server Thin client vs. thick client Middleware - application server
Elements of an application Three key elements of application Presentation: provide interaction with users Business logic: perform operations Data: data management Application can be functionally divided into Client: make a request Server: fulfills the request
Stand-alone GIS vs. Client-server GIS If the three elements reside in the same machine, the application is called stand-alone e.g. ArcInfo in the Sherman lab “ArcGIS for Desktop” If the three elements reside in different machines, the application is called client-server e.g. web browser acts as client remote from the server where data and business logic reside Can be implemented with different network configurations on LANs and WANs, e.g.“ArcGIS for Server”
Thin client vs. thick client Three application elements can be divided into client and server at any point (a to e: a, c, e are components; b and d are connections) System with partitioning point closer to “a” is said to have thin client (i.e., light work load in client a -b) The system whose partitioning point is closer to e is said to have thick client (i.e., heavy work load in client a - d)
Middleware For client to communicate with the server, we need translator to link them. Intermediate connection component is called middleware or application server e.g. ArcSDE functionality links ArcInfo (client) and DBMS (server) in enterprise-wide GIS (although ArcSDE ha sbeen subsumed into ArcGIS for Server)
Types of GIS software Desktop GIS software Server GIS Developer/professional GIS Mobile GIS Other types of GIS software
Levels of desktop GIS software Focus functions Products Cost ($) GIS viewer Display, query, mapping ArcReader free Desktop mapping GIS Data use, mapping ArcView ArcEditor 1k-2k Professional GIS Data collection, editing, DB administration, advanced geoprocessing ArcInfo (ArcGIS for Desktop) 7k-20k
Server GIS GIS runs on a computer handling concurrent processing requests from a range of networked clients Lower cost per user Typical costs range between $ 5k-25k Examples of implemented system include Mapquest.com Realtor.com Census.gov e.g. Autodesk MapGuide, ESRI ArcGIS for Server, MapInfo MapXtreme
Developer GIS Component-based software development Used to build a specific-purpose GIS application Most of products are built on top of Microsoft’s .Net technology Typical cost ranges between $ 1k-5k e.g. Blue Marble Geographics GeoObjects, ESRI ArcGIS Engine, MapInfo MapX
Mobile GIS GIS software for mobile and personal use on hand-held systems Based on location positioning technology (GPS) and wireless networking Typical cost ranges between $400-600 e.g. Autodesk OnSite, ESRI ArcPad, Intergraph Intelliwhere
Other types of GIS software Raster analysis ERDAS IMAGINE, Clark Labs’ Idrisi $ 500-10K CAD-based Autodesk Map 3D, Bentley GeoGraphics $ 3k – 5k Middleware Autodesk GIS Design Server, ESRI ArcSDE, MapInfo SpatialWare $ 10k – 25k DBMS Spatial extension of DBMS servers (e.g. Oracle Spatial)
GIS software vendor ESRI Intergraph Autodesk GE Energy Focus on hard-core GIS users ArcGIS Intergraph Began with computer graphic GeoMedia Autodesk CAD-based company Map 3D GE Energy Purchase of UK-based GIS firm Small World (2000) Market share see Figure 7.10 (p. 166) from Longley et al (2005)
GIS software survey 2005 Commercial products http://www.pobonline.com/POB/Protected/Files/PDF/POB0605-GISsoftwareSurvey.pdf Open Source products http://www.spatialanalysisonline.com/SoftwareFree.pdf
Classify system functions Class 1 functions Functions that have an extremely high frequency of use; system users heavily rely on them Must be proven to present, and operationally efficient Class 2 functions Functions that are essential and are heavily used Must be in place and be efficient Class 3 functions Least-used functions Need to be present, but not necessarily efficient This classification will be helpful in making a recommendation of software For example, the software that does not support class X function might be automatically disqualified.
Total function utilization table Frequency of use Business workflow Function class Function1 129 Work A Class 1 Function2 42 Work B Class 2 Function3 23 Work C Function4 8 Work D Class 3 … IPD + MIDL
Two basic network types Local Area Networks (LAN) Support high-bandwidth communications over short distances High-speed access data Within a building or localized environment Wide Area Networks (WAN) Support communications between remote locations Lower-bandwidth than LAN Internet is a global WAN
Four types of system interface: client-server architectures What does it look like? Which one to choose? How do I choose them? Central file server with workstation clients Central DBMS server with workstation clients Centralized application processing with terminal clients Web transaction processing with browser or workstation clients
1. Central file server with workstation clients Data is retrieved from the server and processed on the workstation Client contains presentation and business logic (i.e. thick clients) Server contains data management Requires the transfer of large amounts of data from the server to the client High demand for bandwidth Best deployed over LANs
2. Central DBMS server with workstation clients Data is retrieved from the server by the DBMS and map rendering is processed on the workstation Only the data required to support the client display be transferred because DBMS filters data needed Reduce demands on the network Best deployed over LANs
3. Centralized application processing with terminal clients Data and application software are both stored and run on servers Significantly reduces network bandwidth requirements Will be best deployed over WANs
4. Web transaction processing with browser or workstation clients Application software and data files reside on servers Web browser displays information products via Internet or Intranet (i.e. thin client) Requires sequential support for a large number of user transactions Can be best deployed over WANs
Four types of system architecture based on previous descriptions 1 2 3 4 Thick clients Thin clients Large amount of data transfer Small amount of data transfer Small # users Large # users 1. Central file server with workstation clients 2. Central DBMS server with workstation clients 3. Centralized application processing with terminal clients 4. Web transaction processing with browser or workstation clients
Interface and Communication Technologies The relation between system interface and network configuration Data volume File server or DBMS server? Level of computing complexity, number of users Thick client or thin client? Web transaction? Wait tolerance Emergency dispatch will require low wait tolerance, and thus demand high bandwidth Technology life cycle Organization policies and standards
Review - Typology of GIS Software Software type Desktop Viewer Mapping Professional Server Developer Mobile Middleware… System architecture Stand-alone Client/server Thick clients {file server, DBMS server} Thin clients {citrix, web}
Team Discussion Consider your GIS project: What functions are needed in your project based on frequency of use? Identify GIS functions needed to create information products as well as to put data into the system (data readiness) Identify Class 1, 2, 3 functions Consider GIS software survey Can you identify software to be disqualified based on class X function requirements? Recommendations for software fucntions for your project Why make those recommendations?