E-commerce is based on the client-server architecture.
A client can be an application, which uses a Graphical User Interface (GUI) that sends request to a server for certain services.
The server is the provider of the services requested by the client.
In E-commerce, a client refers to a customer who requests for certain services and the server refers to the business application through which the services are provided.
The business application that provides services is deployed on a Web' server.
The E - Commerce Web server is a computer program that provides services to "other computer programs and serves requested Hyper Text Mark-up Language (HTML) pages or files.
In client-server architecture, a machine can be both a client as well as a server.
There are two types of client server architecture that E-commerce follows: two-tier and three-tier.
E- Commerce System Architecture: Two-tier architecture:
In two-tier client-server architecture the user interface runs on the client and the database is stored on the server. The business application logic can either run on the client or the server. The user application logic can either run on the client or the server. It allows the client processes to run separately from the server processes on different computers.
The client processes provide an interface for the customer that gather and present the data on the computer of the customer. This part of the application is known as presentation layer. The server processes provide an interface with the data store of the business.
This part of the application is known as data layer. The business logic, which validates data, monitors security and permissions and performs other business rules, can be kept either on the client or the server. The following Figure shows the e commerce system two-tier architecture diagram.
E- Commerce System Architecture: Three-tier architecture:
The three-tier architecture emerged in the 1990s to overcome the limitations of the two-tier architecture. In three-tier architecture, the user interface and the business application logic, also known as business rules and data storage and access, are developed and maintained as independent modules.
The three-tier architecture includes three tiers: top tier, middle tier and third tier.
The top tier includes a user interface where user services such as session, text input, and dialog and display management reside.
The middle tier provides process management services such as process development, process monitoring and process resourcing that are shared by the multiple applications.
The third tier provides database management functionality. The data management component ensures that the data is consistent throughout the distributed environment, the centralized process logic in this architecture, which makes administration easier by localizing the system functionality, is placed on the middle tier.
The following Figure shows the outline of the e commerce system Three - tier architecture diagram.
The client server architecture advantages:
The client-server architecture provides standardized, abstract interfaces to establish communication between multiple modules. When these modules are combined, they become an integrated business application. Each module is a shareable and reusable object that can be included in another business application.
In the client-server architecture, the functions of a business application are isolated within the smaller business application objects and so application logic can be modified easily.
In "the client-server architecture, each business application object works with its own encapsulated data structures that correspond to a specific database. When business application objects communicate, they send the data parameters as specified in the abstract interface rather than the entire database records.
This reduces the network traffic. In the client-server architecture, a programmer can develop presentation components without knowing the business application logic.
This architecture also helps a database analyst in accessing the data from the database without being concerned how the data is presented to an end user.