three-tier system | contains a server which communicates with both a client (usually through the Internet) and with a database (usually within an intranet, for security reasons) and which acts as a client when accessing the database server | |
is a subtopic of 9.5 - Architectural Patterns | |
is a kind of client-server system | |
uses three-tier model of client-server architecture | |
client-server system | has interaction - The server starts running
- The server listens for clients wanting to connect
- Clients start running and perform various operations, some of which require connecting to the server to request a service
- When a client attempts to connect, the server accepts the connection if it is willing
- The server waits for messages to arrive from connected clients
- When a message from a client arrives, the server takes some action in response, such as sending a message back to the client, then resumes waiting
- Clients and servers continue functioning in this manner until one of them decides to shut down
| |
has problem developers of clients are frequently forced to upgrade their clients whenever the server is changed if clients and servers are developed by different organizations | |
involves at least one server and one client | |
is inherently concurrent because the server runs concurrently with the clients, normally (but not necessarily) on different computers | |
is prone to security violations, due to the fact that information is transmitted over a network | |
is vulnerable to interruptions in communication or denial-of-service attacks | |
should be forward-compatible and backward-compatible with other versions of clients and servers by designing the client-server protocols to be very general and flexible | |
should incorporate encryption, firewalls and similar methods of ensuring security | |
distributed system | is divided up into clients and servers | |
system | can have specification which is then implemented by a collection of components | |
exists even if its components change over the course of time, or are replaced by equivalent components | |
has scope | |
has part component | |
has part hardware | |
has part module | |
has part software | |
has part subsystem | |