HomeWikiResRequest System ArchitectureSystem Architecture: Overview

24.1. System Architecture: Overview


ResRequest Server Architecture


ResRequest Distributed Processing

ResRequest is designed to be accessible on the Internet and at any designated number of 'offline' locations. This is achieved by installing the system on multiple servers and synchronising data between the servers. A ResRequest server is simply a normal computer running the ResRequest software.

Data synchronisation is always performed between an offline server and a web server. There is never any need for 2 offline servers to connect directly to each other. The synchronisation process is always initiated from the offline server. Synchronisation can be scheduled to run at specific intervals or it can be initiated on demand.

Any number of workstations can connect to a ResRequest server. These workstations do not run any ResRequest software; they simply connect to the ResRequest server via a browser (Internet Explorer or Mozilla Firefox). The connection is through a Local Area Network (LAN) in the case of an offline server or through the Internet in the case of a web server.

Servers

Each server is identified by a 2 character code. Any new records added to the database are prefixed with this code, to prevent duplicated records being created on different environments. These codes are visible in reservation numbers, receipt numbers, etc.

There are 2 classes of server, 'Primary' and 'Property', which are described below.

An 'Environment' is an instance of the ResRequest system. The 'Reservations Office' environment includes multiple servers (all of the primary servers). Each property server always represents an independent environment.

Each environment 'owns' its own data. This means that a user operating on a particular environment can only update data that is owned by that environment. This is a safeguard to ensure that the same data is not changed simultaneously on different servers.

PRIMARY SERVERS

Primary servers constitute a 'Reservations Office' environment. There are 2 primary servers on the Internet, 'WA' is located in the United States and 'WB' is in South Africa. There is also generally at least 1 offline primary server, which is identified as 'RS'. There may be additional offline primary servers, 'RA', 'RB', etc.

All of these servers represent a single environment. This means that data created on any primary server can be updated on any other primary server. However, just as there is a data ownership rule to prevent data being simultaneously changed on different environments, so there is a control to prevent data being simultaneously changed on multiple primary servers.

This control is applied by ensuring that only one primary server can hold 'master' status at any given time. Only a server that holds 'Master' status has the rights to edit (update) data owned by its environment. New data (e.g. a new reservation) can be added on any server, regardless of status. Master status can be moved by simply selecting an option on the system menu. A user on an offline server that holds master status may move that status to the web servers. If the web servers hold master status, any one of the offline primary servers may claim it. Note that only one server can hold master status at any time.

For the purposes of master status, the 2 web servers (WA and WB) are treated as one. So, if the web is set to master, then both WA and WB hold that status.

There are certain functions that can only be performed in the Reservations Office environment (i.e. these functions are not available on a property environment). These functions include:


PROPERTY SERVERS

A property server always equates to an environment. There can be servers at any number of properties, e.g. 'PA', 'PB', 'PC', etc.

The functionality available on a property environment is identical to that on a Reservations Office environment, with the following exceptions.

On a property server you can view all data created in the Reservations office environment (subject to your access rights) but you cannot change it. For example you cannot change the value of an extra added at the Res Office. However, you can add a new extra to that reservation – and that extra will not be updateable on the Res Office server.

Knowledge Tags

This page was: Helpful | Not Helpful