Những điểm chính
Middleware là gì?
Middleware là các đoạn code nằm giữa quá trình tiếp nhận request từ client và quá trình trả response từ server. Khi một request được gửi đến ứng dụng, middleware sẽ là nơi đầu tiên (hoặc một trong những bước đầu tiên) tiếp nhận request đó, tiến hành kiểm tra, chỉnh sửa hoặc xử lý dữ liệu trước khi chuyển tiếp sang middleware tiếp theo hoặc tới logic xử lý chính.
Sau khi hoàn tất nhiệm vụ, middleware có thể:
Cách tiếp cận này giúp ứng dụng được tổ chức rõ ràng, dễ bảo trì và dễ mở rộng.

Ứng dụng của middleware
Trong hầu hết các Web Framework hiện đại như Laravel, ExpressJS, Django hay ASP.NET Core, middleware là một thành phần không thể thiếu. Middleware giúp giảm đáng kể lượng code lặp lại và tách biệt rõ ràng các chức năng chung ra khỏi logic nghiệp vụ chính.
Một ví dụ phổ biến là kiểm soát truy cập. Các khu vực quản trị chỉ dành cho admin thường được bảo vệ bằng middleware. Middleware sẽ kiểm tra quyền của người dùng trước khi cho phép request đi tiếp. Nếu không đủ quyền, middleware sẽ chặn request và trả về thông báo lỗi hoặc chuyển hướng.
Ngoài ra, middleware còn được dùng cho:

Phân loại middleware
Middleware có thể được chia thành 4 nhóm chính dựa trên mục đích và cách sử dụng:
-
Message-oriented Middleware
Được sử dụng trong các hệ thống truyền tin như message queue, giúp các thành phần giao tiếp với nhau thông qua việc gửi và nhận message, hỗ trợ cả mô hình đồng bộ lẫn bất đồng bộ.
-
Object-oriented Middleware
Mở rộng từ procedural middleware, bổ sung thêm các khái niệm của lập trình hướng đối tượng như tham chiếu đối tượng, kế thừa, xử lý ngoại lệ và tương tác giữa các đối tượng phân tán trong hệ thống.