Difference between revisions of "Multi-tier"
(First draft) |
(No difference)
|
Revision as of 12:07, 13 March 2012
Overview
Multi-tier software is so called because it is divided into "layers" or tiers. Each of the layers has a distinct responsibility, and the usual layers are:
- Data Storage (a.k.a "database"
- Application business rules & data mapping (a.k.a. "application server"
- User interface application (a.k.a client application)
Good software will differentiate these layers within the application anyway, but a true multi-tier software application will be able to physically differentiate these layers. This means that the database, application server and user interface application can reside on different computers.
AquilaCRS, and other products by Evolution Healthcare Systems, are designed as multi-tier systems and can operate with all layers on a single PC (for temporary offline usage for example) or across the Internet or N3 networks.
Benefits of Multi-Tier Software
The benefits of a multi-tier solution can only truly be realised if the solution is written to be as efficient as possible. The main benefits are speed, security and availability.
Evolution Healthcare Systems are written so that the communications between the client application and the application server are as efficient as possible. This means using compressed binary data to minimise bandwidth. The net effect is a fast and responsive user experience.
Increased security over traditional database systems comes from several areas. Firstly, in a multi-tier environment the database is not directly accessed by the client software and this prevents the opportunity for databases to be hacked. Secondly, as the over-the-wire communications are between the client application and the application server, we can encrypt the communications. In our case all end-to-end communications are AES-256 encrypted to prevent packet sniffing and other unauthorised data access.
Finally our multi-tier solutions are highly available as we can implement a feature that allows the use of multiple application servers which gives a high level of fail over safety. Each client will have a choice of servers to access and should one become unavailable the next server can be selected.