Three-Tier Architecture for Retrieving Spatial Data:

Three-tier is a client-server architecture in which the user interface, functional process logic and data storage are developed and maintained as independent modules. Apart from the usual advantages of modular software with well defined interfaces, the three-tier architecture is intended to allow any of the three tiers to be upgraded or replaced independently as requirements or technology change. For instance, a change of DBMS from Oracle to SQL Server would only affect the database tier (and possibly a little of web-server tier). This is how our system architecture looks like:
:

Client:

A client is a computer system that accesses web-services on another machine (web-server). In our system, client can be either an application (Negaah or Google Earth) or a web page (Google Maps):

-Negaah:

Negaah is a visualization interface for GeoDec that allows the user to navigate and interactively query the 3D environment in real-time, and allows greater decision making flexibility by allowing the user to query geospatial data based on a user-defined selection area.To use Negaah user should have it installed on his/her client machine.

For more information and documentation on Negaah click here.

-Google Earth:

Google Earth is a 3D mapping interface to the entire planet. Although it is very limited for query purposes it is very strong in displaying any spatial data on the earth. Google Earth works with specific data files called KML files. To use Google Earth user should have it installed on his/her client machine.

To learn more about Google Earth click here.

-Google Maps

Google Maps is a web map server application and technology provided by Google that powers many map-based services via the Google Maps API. By using Google Maps API, google maps can be enhanced for many applications. To enhance Google Maps even more, we can use Google Ajax Search API as well. To use Google Maps, user only needs to have an internet connection and go to the desired web page.

For more information on Google Maps API click here.
For more information on Google Ajax Search API click here.

Web Server:

Web server is the middle tier of the architecture.It is responsible for accepting requests from clients, accessing the database (based on the kind of request), doing some computation on the data and generating the response and sending it back to the client. In our system, web-server is an Apache Tomcat server. It consists of several web-services written as Java Servlets. These Servlets get client's request, connect to the database and retrieve some data based on the request, do computation on the data, create a response in a desired format and send it back to the client. Detailed description of all the existing web-services can be found here.

Database:

Database tier has all the spatial and non-spatial data of our system. DBMS we are using is Oracle 10g with spatial extension. This tier stores all the spatial and temporal data .Original data are stored in different file formats and are from heterogeneous sources. All the different formats from different sources have been converted to set of schemas and stored in the database.These schemas allow the middle tier (web-services) to apply different queries on top of the database easily. Detailed list of currently used tables can be found here.