Subject |
have |
design for |
have advantage |
is a kind of |
is a subtopic of |
become |
is an instance of |
undergo |
have clients |
divide |
develop as |
has part |
has definition |
use |
automate |
allow |
contain |
have server |
communication system | well-described requirements if other systems or subsystems are going to use its services or communicate with it | flexibility right from the start | | multi-layer system | 9.5 - Architectural Patterns | complex because it is easy to add new features and because software engineers typically add features without fully understanding a system, which may not have been originally designed to accommodate the features | | evolution over its life-span | a program that allows users to send a message or maintain a conversation with users on another computer | in many ways: | a prototype | layer | | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | business process | | layers in order from bottom to top- facilities for transmitting and receiving signals
- is a layer that deals with splitting messages into packets and reconstructing messages that are received
- a layer that deals with handling ongoing connections with a remote host
- a layer that handles various protocols used by application programs such as http
| a program that routes messages and can have features such as 'forwarding' that people are familiar with from the telephone network |
database system | | | | client-server system | 3.4 - The Client-Server Architecture | | | | any application program that wants to query a database | | | subsystem | | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | A database management system that responds to requests to query or update the database |
email | | | | client-server system | 3.4 - The Client-Server Architecture | | | | programs that read and send email such as Microsoft Outlook, Eudora | | | subsystem | | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | A post-office program that receives email from remote sites and holds it until an email-reading client is activated and that also forwards outgoing mail from the client to other sites. |
fat-client system | | | since more computations are distributed to the clients, better use is made of available computational resources; the server can therefore be smaller or can be made to handle more clients | client-server system | 3.4 - The Client-Server Architecture | | | | | | | subsystem | A client-server system in which the client does a large amount of computation | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | |
network file system | | | | client-server system | 3.4 - The Client-Server Architecture | | | | programs on any computer that access files that happen to be on other computers | | | subsystem | | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | a program whose main purpose is to allow clients on other computers to access files such as Unix NFS and Novel NetWare |
peer-to-peer system | | | | client-server system | 9.5 - Architectural Patterns | | | | | | | subsystem | A client-server system in which each program can act as both a client and a server for all the other programs | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | each program to function as both a client and a server | software components that are distributed over several hosts and that can each be both a server and a client | |
remote display system | | | | client-server system | 3.4 - The Client-Server Architecture | | | | programs that want to display information on the screen, such as X-Windows | | | subsystem | | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | a program that manages the screen and allows applications, perhaps running on other computers, to display their output, such as a Unix X-Windows server |
thin-client system | | | it is easy to download the client program over the network and to launch it | client-server system | 3.4 - The Client-Server Architecture | | | | | | | subsystem | A client-server system in which the client is as small as possible and the server does most of the computation | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | |
three-tier system | | | | client-server system | 9.5 - Architectural Patterns | | | | | | | subsystem | | three-tier model of client-server architecture | | | 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 | |
transaction-processing system | | | | client-server system | 3.4 - The Client-Server Architecture | | | | programs that send specific requests to perform some kind of transaction, such as debiting a bank account or booking an airline ticket | | | subsystem | | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | a program that centralizes all the functions of some business and processes transactions when they arrive |
world wide web | | | | | 3.4 - The Client-Server Architecture | | client-server system | | browsers that display web pages and post forms, e.g. Netscape Navigator or Microsoft Internet Explorer | | | subsystem | | multiple threads of control that can be concurrently executed to implement concurrent operations, otherwise when the client is waiting for one kind of input, it will not be able to respond to the other kind of input | | | | web servers that manage sets of web pages and CGI programs, and send information to browsers when sent a URL |