Understanding the Role and Interaction of APM: Apache, PHP, MySQL

·

3 min read

ARM (Apache, PHP, MySQL)

Definition

To implement a web service, a web server, WAS, and a database are required, and a term used to refer to the combination of Apache, PHP, and MySQL, which were mainly used, is ARM (Apache, PHP, MySQL).

As of 2023, web servers and WAS are typically implemented together.

Web Server

  • A computer program that receives HTTP requests from clients such as web browsers and returns web pages such as HTML documents.

  • Handles Static web Pages

    Example of Web Servers

    Apache Server, Nginx, IIS (Windows-specific Web server), etc.

WAS (Web Application Server)

  • A computer program created to provide dynamic content that requires database queries or various logic processing.

  • Also known as "web containers" or "servlet containers."

  • Handles dynamic web pages

    Example of WAS

    Tomcat, JBoss, Jeus, Web Sphere, JSP, php, etc.

DB (Database)

  • A collection of data that is integrated and managed for the purpose of sharing and using it by multiple people.

  • Managed using DBMS (Database Management System)

    Example of DB

    MySQL, NoSQL, IDMS, MongoDB, etc.

Components of Web Services

Web Server: Apache

WAS: PHP

DB: MySQL

Apache

Definition

An HTTP server created by the Apache Foundation.

Advantages

  • Supports various functions

  • Easy to build a server

  • Free

Disadvantages

  • The server itself is somewhat heavy.

  • Vulnerable to Slow HTTP Header DoS (Slowloris) attacks.

PHP

Definition

A scripting language used to control web servers.

Features

  • Interpreter-based

  • Similar languages include ASP, JSP, etc.

  • Syntax is similar to C language.

  • Stateless

Advantages

  • Easy to integrate with databases

  • Supports file upload, email sending, etc. functions on its own

  • Code can be modularized by creating and inheriting classes.

  • Fast

Disadvantages

  • Inconsistency in the names of built-in functions and argument names

  • Inconsistency in error and exception handling

MySQL

Definition

One of the Database Management Systems (DBMS).

A set of tools that help to use databases.

Features

  • Composed of C and C++

  • Based on SQL

Advantages

  • Open source with GPL license = free

  • Easy to switch OS

  • Smaller and faster than other DBMSs

  • Large user community with access to a lot of information

Disadvantages

  • Transaction support is not perfect.
    For example, in some database systems, transaction processing can be interrupted due to network failures or server problems. In this case, some operations have already been completed, but the remaining operations have not been processed, which can compromise the consistency of the database (ensuring that stored data is accurate and valid). In such cases, recovery functions may be provided by the database system, or developers may need to write code to maintain consistency.

Did you find this article valuable?

Support Eunhan's blog by becoming a sponsor. Any amount is appreciated!