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.