Layered architectures became very prevalent with the popularity of client-server software systems. In a distributed application that uses a client-server architecture, also known as a two-tier architecture, clients and servers communicate with each other directly. A client requests some resource or calls some service provided by a server and the server responds to the requests of clients. There can be multiple clients connected to a single server:
The Client part of the application contains the user interface code and the Server contains the database, which traditionally has been a relational ...