By "architecture" is meant the different computer processes, which communicate with each other within a particular application. Describe common architectures for groupware systems.


With a simple client-server architecture, each user is running a client, and all the clients are connected to one central server.
    The clients can be custom-made clients for this application, or ordinary web browsers.
   In some applications, the boxes marked Client and Server in the figure can actually consist of several processes. For example, a client might contain a video camera, and the server can use a separate data base process.

Large, widely distributed applications use several servers, which are connected directly or indirectly. Examples of applications using this architecture is e-mail, Usenet News and Internet Relay Chat. Information is often replicated between the servers, so that the information for a client is always available locally (example: Usenet News, e-mail), but there are also applications which can get objects from other servers when needed (example certain directory systems, WWW proxies).
   In e-mail, the structure is actually even more complex, because different kinds of servers are used to send, deliver and relay messages.
   Another complexity can be gateways between different networks, implemented as servers which convert information from one format to another format.

Small applications with only a few clients sometimes use an architecture where all clients communicate directly with all other clients, and no servers are used. Examples of such applications are Internet telephony. But servers may be used also for such applications, for example directory systems.


List of exam questions