Drupal - Architecture
Drupal is a platform for web content management which is powerful tool for building simple and complex sites. In this chapter, we are going to discuss the architectural style of Drupal for implementing user interfaces. The following diagram shows architecture of Drupal:
The architecture of Drupal contains following layers:
Users: These are the users on the Drupal community. The user sends a request to a server using Drupal CMS and where web browsers, search engines etc acts like clients.
Administrator: Administrator can provide access permission to authorized users and will be able to block unauthorized access. The Administrative account will be having all privileges for managing content and administering the site.
Drupal: Drupal is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content and built on PHP based environments. Drupal CMS is very flexible and powerful and can be used for building large, complex sites. It is an easy way of interacting with other site and technologies using Drupal CMS. Further, you will be able to handle complex forms and workflows.
PHP: Drupal uses PHP in order to work with an application which is created by a user. It takes help of web server to fetch data from the database. PHP memory requirements depend on the modules which are used in your site. Drupal 6 requires at least 16MB, Drupal 7 requires 32MB and Drupal 8 requires 64MB.
Web Server: Web server is a server where the user interacts and processes requests via HTTP (Hyper Text Transfer Protocol) and serves files that form web pages to web users. The communication between user and server takes place using HTTP. You can use different types of web servers such as apache, IIS, nginx, lighttpd etc.
Database: The database stores the user information, content and many more required data of the site. It is used to store the administrative information to manage the Drupal site. Drupal uses the database to extract the data from a database and enables to store, modify and update the database.