Logo GISdevelopment.net

GISdevelopment > Proceedings > GITA > 2001


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

A tangled web of pure opportunity

Directions for data

Forging the future

How they did it - and what's next

Integrating work management

Mobile solutions- taking it to the streets

Operations support

People make the difference

Systems architecture

The local government perspective

Tying IT all together

Vertical applications


GITA 2001


System Architecture


Successful Development of Multi-Tiered GIS Applications


Software Architecture
An understanding of software architecture is needed to identify the layering strategy that can be exploited. Typically software engineers try to separate the system into distinct areas of functionality. Client/server applications usually implement what is referred to as the Three Tier Architecture. This architecture divides the application into a presentation layer, a business layer, and a data/data access layer, each of which can be replaced without causing or requiring a lot of redesign to the other layers. The presentation layer is usually installed on the computer the user is accessing and it does not contain any business logic - it is only responsible for presenting data to the user. This layer is referred to as the Graphical User Interface (GUI) and it is what the users see and interact with. The business layer is also commonly installed on the computer the user is accessing, but it is not required to be located here. This logic may be installed on a separate computer and accessed by the presentation layer, but this is normally not the case with client/server applications. Keeping the business logic layer on the same computer as the presentation layer increases performance and reduces the amount of network traffic. The business layer is responsible for maintaining user based functionality - it does not provide any type of presentation media. When a user invokes a tool or command from the user interface, the business logic is called upon to perform the operation. The data layer for enterprise based client/server applications is typically accessed from a server running a relational database. This enables every client to access the same data without duplication. Databases provide data to the business and presentation layers. Some business logic may be maintained in the form of stored procedures, triggers, or constraints but it is up to the application designers and developers to understand that it is stored in proprietary database formats and can not be reused with other databases. There is no reason why all three layers of a client/server based application can't be installed and maintained on the same computer, but this is normally exercised only in isolated cases where data is replicated or used only by a single user.



Web based internet applications follow the same layering strategy, only the different layers are commonly distributed on different computers, possibly in remote locations. The client computer is only equipped with a thin web browser used as the presentation media. The user interacts with the browser to perform common actions and view data formatted into a web page. The business logic and the logic that formats the data into a web page is located on a separate computer called the Application Server or Web Server. As the numbers of users on a web based application increases, it may become necessary to add more that one Application Server to balance the load of large numbers of clients. In this case, the same software components that provided the business logic can be installed on each of the Application Servers. The Application Servers access the database server to retrieve, create, update, and delete data. This layering architecture is what is commonly referred to as a thin client or browser based client because the client computer has none of the number crunching, algorithmic based logic and functionality - it is all contained in the business logic software components on the application or web servers. This method of data distribution is becoming more widely used because it requires little, if any, additional software to be installed on the client. It reduces maintenance issues and allows users to access data from different locations. The draw back is that performance is usually less than acceptable for anything more than a few updates or inserts and internet connections may not be available everywhere so IT departments are still forced to deploy applications that rely on the client/server architecture.


Page 2 of 4
| 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