Middleware là gì?

Phrase None

Middleware có hai ý nghĩa riêng biệt nhưng có liên quan với nhau. Một là phần mềm cho phép hai chương trình riêng biệt tương tác với nhau. Hài là một lớp (layer) phần mềm bên trong một ứng dụng duy nhất cho phép các khía cạnh khác nhau của chương trình hoạt động cùng nhau.

Loại middleware phổ biến nhất là phần mềm cho phép hai chương trình riêng biệt giao tiếp và chia sẻ dữ liệu. Một ví dụ là phần mềm trên máy chủ Web (web server) cho phép máy chủ HTTP (HTTP server) tương tác với các scripting engine như PHP hoặc ASP khi xử lý dữ liệu trang web. Middleware cũng cho phép máy chủ Web truy cập dữ liệu từ cơ sở dữ liệu (database) khi tải nội dung cho một trang web. Trong mỗi trường hợp này, middleware chạy ngầm (background) một cách lặng lẽ, nhưng đóng vai trò như một "chất kết dính" quan trọng giữa các ứng dụng máy chủ.

Middleware cũng giúp các ứng dụng khác nhau giao tiếp qua mạng máy tính. Nó cho phép các giao thức (protocol) khác nhau hoạt động cùng nhau bằng cách dịch thông tin được truyền từ hệ thống này sang hệ thống khác. Loại middleware này có thể được cài đặt dưới dạng "Kiến trúc hướng dịch vụ" (SOA) trên mỗi hệ thống trên mạng. Khi dữ liệu được gửi giữa các hệ thống này, trước tiên nó được xử lý bởi middleware, sau đó xuất ra ở định dạng chuẩn mà mỗi hệ thống có thể hiểu được.

Middleware cũng có thể tồn tại trong một ứng dụng. Ví dụ: nhiều trò chơi 3D sử dụng "3D engine" để xử lý các đa giác, kết cấu, ánh sáng, đổ bóng và các hiệu ứng đặc biệt trong trò chơi. 3D engine được coi là middleware, vì chúng mang các khía cạnh khác nhau của trò chơi lại với nhau. Ví dụ: trí tuệ nhân tạo của trò chơi hoạt động kết hợp với 3D engine để tạo ra gameplay.

Middleware của game engine bao gồm một API tùy chỉnh, cung cấp cho các nhà phát triển (developer) các hàm (function) và lệnh được sử dụng để điều khiển các đối tượng trong trò chơi. Điều này giúp đơn giản hóa việc phát triển trò chơi bằng cách cho phép các lập trình viên sử dụng thư viện các hàm được viết sẵn thay vì tạo của riêng từ đầu. Nó cũng có nghĩa là 3D engine có thể được sử dụng trong nhiều trò chơi.

Learning English Everyday