Chương 4 XÂY DỰNG VÀ ĐẶC TẢ HỆ THỐNG
4.1. Mô hình thực tế của hệ thống
Hình 4.10: Mô hình th c t c a h th ng
Thành phần của Client: Thành phần gửi yêu cầu của hệ thống. Thành phần của Proxy:
Proxy sẽ bao gồm hệ đa Agent được phát triển bởi người lập trình và RequestProcesor. Trong đó, hệ đa Agent bao gồm
RequestAgent và Sub-AMS được người lập trình tạo nên, có những chức năng xác định như sau:
- Agent Sub-AMS: Agent có nhiệm vụ quản lý các Agent khác. Agent Sub-AMS sẽ kiểm soát được số lượng Agent mà Proxy đang lưu trữ. Bất cứ khi nào có một Agent di trú đến hoặc bị hủy, Agent Sub-AMS sẽ tiến hành cập nhật lại danh sách các Agent của Proxy.
- Agent RequestAgent: Agent có nhiệm vụ xử lý yêu cầu được gửi lên từ Client, RequestAgent sẽ tiến hành phân tích yêu cầu. Đối với những yêu cầu chưa được xử lý, RequestAgent sẽ chuyển tiếp yêu cầu lên cho agent AMS của Server. Với những yêu cầu đã được xử lý trước đó, RequestAgent tiến hành giao tiếp với Agent và lấy dữ liệu trả về cho Client.
- RequestProcessor: Thành phần bắt yêu cầu được gửi lên từ Client của Proxy.
- ProxyGatewayAgent: Agent trung gian, giúp việc thực hiện giao tiếp giữa Servlet và RequestAgent.
- Agent A, B, C tại Proxy: Các Agent mang dữ liệu của yêu cầu, được tạo ra bởi hệ thống đa Agent trên Server và di trú đến Proxy. Mỗi Agent mang một dữ liệu nhất định, có chức năng cụ thể. Chúng đều bị quản lý bởi Sub-AMS.
Thành phần của Server:
Server cũng giống như Proxy sẽ có hệ đa Agent và
RequestProcessor. Hệ đa Agent của Server bao gồm DBAgent và AMS, đây là hai Agent chủ chốt của Server trong đó:
- AMS: Agent AMS sẽ nhận yêu cầu được gửi lên từ
RequestAgent. Agent AMS sẽ tiến hành phân tích yêu cầu rồi tạo ra các Agent để lưu dữ liệu chứa kết quả trả về cho Proxy. Agent AMS còn quản lý số lượng Agent hiện thời của hệ thống, quản lý đích đến của các Agent đã di trú đến một Proxy cụ thể là địa chỉ của Proxy.
- DBAgent: Agent duy nhất kết nối cơ sở dữ liệu, có nhiệm vụ lấy dữ liệu cho các Agent mà gửi thông báo tới Agent này. DBAgent sẽ truy nhập cơ sở dữ liệu, lấy dữ liệu và gửi lại cho Agent thông qua việc giao tiếp giữa hai Agent.
- Database: Cơ sở dữ liệu của hệ thống.
- Agent A, B: Agent được tạo ra bởi Agent AMS, dùng để lưu trữ kết quả của yêu cầu sau đó di trú đến Proxy.
Hình 4.11: Mô hình ho t n g c a h th ng
Khi Client gửi yêu cầu đến Proxy phải thông qua một chương trình RequestProcessor. RequestProcessor sẽ tiến hành giao tiếp với RequestAgent thông qua ProxyGatewayAgent, chúng sẽ gửi yêu cầu của Client dưới dạng một đối tượng BlackBoardBean tới
ProxyGatewayAgent. ProxyGatewayAgent sẽ tiến hành phân tích đối tượng để xác định Agent nhận yêu cầu và yêu cầu. Sau đó,
ProxyGatewayAgent sẽ gửi một thông báo ACLMessage tới
RequestAgent chứa yêu cầu của Client. Khi RequestAgent nhận được yêu cầu, nó sẽ tiến hành phân tích yêu cầu và kiểm tra xem tại Proxy có chứa Agent đáp trả được yêu cầu ngay không. Nếu tồn tại Agent đáp ứng được yêu cầu, RequestAgent sẽ lấy dữ liệu của Agent đó rồi gửi trả dữ liệu về cho Client thông qua ProxyGatewayAgent. Với những yêu cầu chưa được xử lý trước đó, RequestAgent tiếp tục gửi yêu cầu lên cho agent AMS của Server. Agent AMS sẽ tạo các agent. Các Agent này sẽ gửi một thông báo tới DBAgent để chúng lấy được trả về cho yêu cầu. Sau khi lấy được dữ liệu, các Agent này sẽ tự động di trú đến Proxy và thông báo cho RequestAgent. Đến lúc này, RequestAgent tiếp tục làm nhiệm vụ là lấy kết quả trả về cho Client.