We built the Escape Online application using the Microsoft's .Net architecture, so that we could develop client/server services that communicated in a completely secure manner. We utilize all of the standard .Net resources for security, add our proprietary encryption cipher and give you six additional data communication encryption schemes to employ.
Overview of Escape Online Architecture
Escape Online uses a three-tier architecture model.
- Client tier. Each user requires an Intel compatible personal computer. The client program is installed once on the PC, and all future updates are automated. Note that Escape Online 5 is not a web-based application; it is a "thin client" application. These PC's do not require a connection to the database server.
- Application Server Tier. This consists of several servers that run the Escape Online 5 server programs. Typically, there is a piece of hardware called a "load balancer" in front of the Application Servers to equalize processing load.
- Data tier. This is the SQL Server database tier, which will be managed by one or more servers.
This architecture makes Escape Online more flexible, manageable and scalable. Advantages include:
- The database is hosted on a server that is not connected directly to the Internet.
- Each tier can be scaled separately, depending upon your requirements.
The following graphically represents the architecture of Escape Online.
Our client program is a lightweight presentation engine. It has no business logic (much like a browser). It just knows how to put up our menus, lists, forms, help, etc. It can easily be installed with various one-click methods, from a web page, using an installer, any way that works. Once installed, it is 100% auto-updating. All data and business logic is provided to the client app in real time.
Some of the main advantages of this model include the following:
- Changes to one tier are largely independent from another, allowing the application to evolve easily to meet new requirements.
- Network bottlenecks are minimized because the application does not transmit extra data to the client, only what is needed to handle a task.
- When business logic changes, only one tier has to be updated.
- The client is insulated from database and network operations. The client can access data without having to know where data is on the network.
- The system is database independent. The system is not tied to a vendor specific database because the database is accessed only by a small number of tiers. This independence has been further enhanced because the data layer Escape Online 5 is using is standard SQL, which is vendor independent.
This segmented model makes Escape Online basically infinitely scalable. The client program connects to an application server once the client is configured with a connection and is launched. In a multi-application server environment, the client is redirected to an application server using a load balancer hardware appliance. The application servers can be running on real physical servers or on virtual servers such as VMWare or Microsoft Hyper-V.
Server hardware (and virtual OSs) have progressed so much over the past few years it is not possible to say what is an ideal configuration. Advances like SSDs and multi-core CPUs make a server much more powerful.