![]() |
subject > pattern > software architecture > distributed architecture > client-server architecture |
![]() ![]() | ||||
client-server architecture | ||||
subject | fact |
client-server architecture | has definition An architectural pattern in which the system is divided into clients and servers | ![]() |
has advantages
| ![]() | |
has alternatives | ![]() | |
is one of the most widely used ways of structuring software systems | ![]() | |
is a subtopic of 3.4 - The Client-Server Architecture | ![]() | |
is a subtopic of 9.5 - Architectural Patterns | ![]() | |
is a kind of distributed architecture | ![]() | |
distributed architecture | facilitates designing for flexibility because distributed systems can often be easily reconfigured by adding extra servers or clients and clients and servers can be developed by competing organizations, giving the customer a choice | ![]() |
facilitates divide and conquer since dividing the system into processes is a very strong way to divide the system up | ![]() | |
increases abstraction because separate distributed components are often good abstractions | ![]() | |
increases reuse because it is often possible to find suitable frameworks on which to build good distributed systems | ![]() | |
reduces coupling since there is usually only one communication channel between distributed components although you have to watch out for control coupling | ![]() | |
software architecture | constrains the overall efficiency, reusability and maintainability of the system | ![]() |
is decided early in the design process, although it will continue to mature as iterative development proceeds | ![]() | |
must be understood by software engineers | ![]() | |
see also software architecture^2 | ![]() | |
see also software architecture^3 | ![]() | |
pattern | should be described in an easy-to-understand form so that people can determine when and how to use it | ![]() |
should contain a solution that has been proven to effectively solve the problem in the indicated context | ![]() |
Kinds of client-server architecture :