Explain about Multi-tier architecture ?
A tier is an abstract concept that defines a group of technologies that provides one or more services to its clients. In multi-tier architecture each tier contains services that include software object or DBMS. Multi-tier architecture is composed of clients, resources, components (service), and containers.
Clients, Resources and Components
A client refers to a program that requests a service from a component. A resource is anything a component needs to provide a service, and a component is part of tier that consists of a collection of classes or a program that performs a function to provide the service. A container is software that manages a component and provides a component with system services. The following image is representing the Client, Resource and Component model.
The relationship between a container and a component is sometimes referred to as a contract, whose terms are governed by an application programming interface (API). An API defines rules a component must follow and the services a component will receive from the container.
A container handles persistence, resource management, security, threading and other system-level services for components that are associated with the container. Components are responsible for implementation of business logic. It helps the programmer to focus on coding business rules into components without becoming concerned about low-level system services. The relationship between client, component and resource is shown below.