Client and Server

From Coder Merlin
Within these castle walls be forged Mavens of Computer Science ...
— Merlin, The Coder
Client-server model

A client-server model is a means of distributing resources between the provider of a service and a consumer of that service, the client. You're likely very familiar with this concept though less familiar with the name. One common example of a service provided in this manner is email. You, a user, can open an email client (for example, an app on your iPhone or Outlook on a PC), which then connects to a remote server. The server is responsible for providing several services, including receiving mail on your behalf from other servers, transmitting email on your behalf to others, and storing your email for your later use.

Observe, Ponder, and Journal: Section 1
  1. Name at least two other services that you personally use that are implemented using a client-server model.

This model has several advantages:

  • Users don't need to personally possess the hardware required to fulfill a service, only a means of connecting and communicating with a server that provides the service.
  • Users don't need to worry about installing and configuring the server hardware.
  • Users can access their data from anywhere in the world (as long as they have Internet access).
  • The state of a user's data remains consistent, regardless of how and from where they access the server.

Merlin is built on this client-server model, so you won't need any special hardware or software, only a device capable of running a web browser and a terminal emulator (available in Google Chrome). (A MacOS Intel-compliled client is available here.)