Chương trình Server là một chương trình quản lý trực tiếp dịch vụ. Chương trình này sẽ thực sự thực hiện việc thêm, sửa, xóa dịch vụ trên JVM mà nó đang tồn tại. Chương trình Server còn là một chương trình cung cấp các thông tin về dịch vụ một khi Agent cần đến. Vì vậy công việc chính yếu của chương trình là cung cấp các hàm cho phép Agent gọi từ xa .
Ngoài ra, chương trình Server còn là một phần tử đóng vai trò quản lý Service do đó nó cũng phải giải quyết các vấn đề về Fault Tolerance. Các phương án giải quyết vấn đề cũng đã được đưa ra. Vấn đề này được trình bày chi tiết trong phần “Giải quyết Fault Tolerance và Load Balancing”.
Chương trình Server cần phải giải quyết được các vấn đề chính yếu sau :
• Thực hiện việc thêm, sửa và xóa một dịch vụ sao cho thật hiệu quả, không phải dịch lại hệ thống
• Cung cấp các thông tin về những dịch vụ mà nó đang nắm giữ.
Các hàm này ta đặt tên chúng là AddService, DeleteService, ReplaceService, getServerInfor, getServiceHelp và shutdown đây là các hàm cho phép gọi từ xa, điều này có nghĩa là Agent có thể gọi các hàm này để thực hiện việc quản lý hệ thống của chúng ta. Sau đây là nhiệm vụ từng hàm cụ thể :
• AddService : Thêm một dịch vụ vào hệ thống.
Hình 28. Thêm vào hệ thống một dịch vụ mới.
• DeleteService : Xóa một dịch vụ trên Server.
Hình29. Xóa một dịch vụ trong hệ thống.
• ReplaceService : Sửa-Thay thế một dịch vụ trên Server bằng một dịch vụ mới. AddService Instance of AddServiceInfor True/False DeleteService Instance of DeleteServiceInfor True/False
Hình 30. Thay mới một dịch vụ trong hệ thống.
• Get ServerInfor : Lấy thông tin về Server đang hoạt động. Hàm này sau khi thực thi sẽ trả về một Instance của ServerInfor Class.
• GetServiceHelp : Lấy thông tin về Service mà Server đang quản lý.
Hình 31. Lấy hướng dẫn sử dụng một dịch vụ trong hệ thống.