Logo GISdevelopment.net

GISdevelopment > Proceedings > GITA > 2000


GITA 2002 | GITA 2001 | GITA 2000 | GITA 1999 | GITA 1998 | GITA 1997 |  
Sessions

Data development and evolution

Engineering and design applications

Exploiting field and mobile technologies

Invited presentations

It's a brave new world

Leveraging web-based technologies

Mobilizing the enterprise

Operations support

People issues

System architecture

The best of the rest

Uniting the enterprise

User perspectives

Work management solutions



GITA 2000


System Architecture


Up-Time All the Time: Designing GIS for High Availability

The GIS Environment
GIS implementations today are prototypical client/server environments, minimally consisting of clients, servers, storage, and a network. On the front end are the clients, or users, accessing applications and data. Clients’ systems most commonly run the Windows NT operating system on an Intel platform. Clients can be “thin”, loosely defined as using a graphical user interface (GUI) to access applications that execute on a server; or “fat”, meaning that the spatial applications process on the client hardware. On the back end are data servers, providing access to what are often very large data sets of both spatial and tabular data through a standard programming or user interface. The hardware platforms for these data servers are quite often larger servers, running UNIX or Windows NT. These same hardware systems may also run the enterprise’s applications, including the GIS. Increasingly though, the trend in GIS development is the introduction of a middle tier, forming a three-tier client/server implementation. In such a configuration, the GIS and other applications would be physically moved off the data server and placed on the middle tier.

Two important benefits of this type of configuration are
  1. Each system can be scaled and tuned to most efficiently provide the type of service required of it;
  2. Functional applications can be run in a different operating environment than the database.
In either client/server model, data is stored centrally on a server system. Clients access the data by making requests over the network to a program on the server. The server program coordinates the clients’ access to the data, and satisfies clients’ requests by accessing the data store and responding to the clients.

Risks to the Environment
Inherent to any application environment are various potential system failures that can cause the applications and the data to not be accessible to their users. These failures can be caused by hardware crashes, software faults, or environmental problems. They can occur on the client systems, on the data or application servers, on the storage systems, or on the network. It is incumbent on those responsible for implementing a GIS – or any mission-critical application – to consider all potential causes of failure, assess their impact, and plan accordingly. In the context of a High Availability solution, our interest lies with the continued accessibility of applications and data served by the second and third tiers of a client/server implementation.

Conversely, a High Availability solution does not specifically address the loss of a client, storage device, or network. A client failure, while annoying, is generally not critical, and easily recoverable. Often a reboot solves the problem, or the user can move to another system. Whatever the case, other users are totally unaffected by the situation.

A disk failure can cause loss of data, and will affect however many users access any files stored on the failed volume. It is decidedly more critical than a client failure, but is solved by RAID (Redundant Array of Independent Disks) technology, with mirroring and striping. While a RAID solution is an integral and essential component of a complete High Availability solution, it is not a topic unique to High Availability, and hence is not a focus of this paper.

Similarly, network failure can be catastrophic. Clearly if a network becomes unavailable, users cannot access the application or data servers. Proper planning to minimize its occurrence and reduce its impact is necessary for any implementation that requires continuous uptime. However, treatment of redundant networks is also a separate topic, and is not treated by this paper.

Page 2 of 5
| Previous | Next |

Applications | Technology | Policy | History | News | Tenders | Events | Interviews | Career | Companies | Country Pages | Books | Publications | Education | Glossary | Tutorials | Downloads | Site Map | Subscribe | GIS@development Magazine | Updates | Guest Book