Kiến trúc XBM agent dựa trên SOAP sử dụng DOM và XPath để xử lý tài liệu XML ở các agent cũng như ở các manager. DOM và XPath có hiệu quả trong việc xử lý các tài liệu XML dành cho việc truy cập và lọc thông tin. Với các thiết bị có nhúng XBM agent là máy chủ Linux, không có vấn đề gì với nguồn tài nguyên. Tuy nhiên, việc hỗ trợ DOM và XPath cần nhiều tài nguyên bộ nhớ trong thiết bị. Để truy cập vào một phần của một tài liệu XML, cây DOM của tất cả các tài liệu XML phải được nạp vào bộ nhớ. Điều này gây lãng phí CPU và tài nguyên bộ nhớ trong thiết bị. Ngoài ra, kích thước mã của các thư viện cơ bản được sử dụng rộng
rãi để hỗ trợ DOM và XPath là khá lớn. Vì vậy, DOM không phù hợp để áp dụng trong một hệ thống nhúng có ít tài nguyên.
Kích thước mã và kích thước bộ nhớ thực thi của Sax Parser nhỏ hơn DOM. Vì SAX Parser là một cơ chế hướng sự kiện để truy cập và xử lý các tài liệu XML, nên không cần tải toàn bộ cây XML vào bộ nhớ. Do đó, SAX Parser nhẹ tải hơn nhiều so với DOM về chức năng và tài nguyên. Trong khi các SAX Parser có thể nhẹ tải hơn về vấn đề sử dụng tài nguyên vì nó đọc các tài liệu XML theo trình tự và tạo ra sự kiện cho một thành tố cụ thể, thì thời gian xử lý để truy cập một tài liệu XML của SAX Parser lại chậm hơn so với DOM sau khi các cây DOM được tạo ra. Tuy nhiên, thông tin quản trị của phần lớn các thiết bị mạng không quá rộng và có thể được xác định bởi một số nhỏ các tài liệu XML chứa dữ liệu quản trị liên quan đến cả hai bên. Vì vậy, thời gian xử lý của SAX Parser chỉ còn là vấn đề nhỏ. Phương pháp truy cập của SAX Parser là nối tiếp và chỉ đọc, vì vậy cần bổ sung một mô đun Ghi (Write module) như là một phần của bộ xử lý XML (XML Processor) để cung cấp một cơ chế soạn thảo. Đối với những mạng yêu cầu tài nguyên thấp, SAX Parser sẽ là lựa chọn lý tưởng thay cho DOM.
SAX Parser phân tích các tài liệu XML, lựa chọn nút cụ thể khi phân tích, và đọc dữ liệu quản trị. Theo trình tự, để gửi thông tin cập nhật, agent tập hợp thông tin từ giao diện hỗ trợ quản trị (MBI - Management Backend Interface). Mô đun Ghi sẽ cập nhật giá trị nút cho nút được chọn thông qua MBI trước khi trả lời cho manager.
Hình 3.8 mô tả kiến trúc của một XBM agent dựa trên XML Parser. Các thành phần cơ bản của XBM agent là dịch vụ web nhúng (EWS). Các thành phần bổ sung vào EWS là bộ vi xử lý XML (XML processor), gồm cả bộ phân tích cú pháp SAX (chính là bộ phân tích cú pháp XML) và Trạm lịch đẩy (Push Scheduler), và công cụ HTTP client (HTTP Client Engine). Các SAX Parser không hỗ trợ chức năng ghi, do đó, cần có thêm một mô đun ghi (Write Module).
Để gửi một thông báo cho XBM manager, XBM agent cần một Trạm xử lý đẩy (Push Handler) và HTTP Client Engine, cũng như một mô đun XML Processor. Ngoài ra, để gửi thông tin quản trị định kỳ đến manager tại một thời điểm cố định với một yêu cầu có thời hạn, XBM agent cần đến một Scheduler. HTTP Client Engine cung cấp bản tin không đồng bộ đến XBM manager nhằm báo cáo các cảnh báo và phân phối dữ liệu quản trị theo lịch trình. Scheduler quản lý thông tin đăng ký và lịch trình cho việc phân phối các thông tin quản trị. Thông tin đăng ký bao gồm URL của đối tượng đăng ký sẽ nhận thông tin đăng ký, biểu thức XPath của đối tượng được quản trị, và thông tin lịch trình chứa thời điểm bắt đầu, thời điểm kết thúc, và khoảng thời gian thực hiện. Push Handler nhận yêu cầu từ Scheduler và gửi dữ liệu theo lịch đến manager thông qua HTTP Client tại thời điểm theo lịch. Push Handler cũng sẽ gửi một thông báo được tạo ra ở các agent, thông báo này sẽ được gửi cho manager thông qua HTTP Client. Nếu XBM agent không nhận được đáp ứng 'HTTP OK' đối với thông báo từ manager, Push Handler sẽ gửi lại bản tin thông báo cho manager.
Nếu một SNMP agent cũng có sẵn trong các thiết bị mạng được quản trị, MBI như trình bày ở trên có thể sẽ được sử dụng. XBM manager sẽ truyền thông với SNMP agent qua cổng XML/SNMP.
3.5.2. XBM Manager
XBM manager cần phải xác định thông tin quản trị được thêm vào các thông tin quản trị của XBM manager, tìm kiếm các thông tin quản lý này từ agent, sau đó phân tích các thông tin tìm được, và trình diễn cho người sử dụng. Phần này sẽ giải thích các nhiệm vụ quản trị của XBM manager về các khía cạnh mô hình hóa thông tin, giao thức quản trị, phân tích, và trình bày các kết quả.
3.5.2.1. Mô hình hóa thông tin
XML Schema được dùng để xác định thông tin quản trị. Hình 6 được vẽ ra nhờ một công cụ soạn thảo gọi là XML Spy. Nó cho thấy các thông tin quản trị của XNMS được xác định theo dạng dạng XML Schema. XML Schema được
trình bày trong các khung viền nét chấm trong hình 3.9 mô tả thông tin quản trị tùy ý và biểu thức "0 .. ∞" dưới các yếu tố có nghĩa là số các thành tố nằm trong phạm vi từ 0 đến vô cùng. Số lượng phần tử (cardinality) cơ bản là 1 khi không có gì được quy định cụ thể. Một khung chấm không có đặc tả cardinality có nghĩa là một thành tố tùy ý, số các thành tố này là 0 hoặc 1. Thông tin quản trị của XNMS được chia thành hai phần: phần dịch vụ và phần thiết bị. Phần dịch vụ bao gồm cấu hình dịch vụ, danh sách quản trị, danh sách cổng XML/SNMP, và thông tin hình trạng thiết bị.
Phần thiết bị bao gồm thông tin thiết bị, cấu hình thiết bị, đăng nhập, và theo dõi. XML Schema có cá kiểu phức tạp chứa các thành tố và các thuộc tính và các kiểu đơn giản không chứa gì cả. XML Schema hỗ trợ 44 kiểu đơn giản, bao gồm string, integer, float, time, date,... DeviceInfoType được định nghĩa như là một kiểu phức tạp và kiểu của DeviceInfo được thiết lập cho DeviceInfoType. Mỗi thành tố, như DeviceIP, AdminID, hoặc AgentType, đều có kiểu dữ liệu của riêng nó. Ít nhất một thuộc tính được thêm vào thông tin thiết bị như một khóa chính dành cho tìm kiếm. DeviceInfoType có kiểu thuộc tính chuỗi và khóa duy nhất DeviceID. Nếu kiểu của agent (AgentType) là một XML-based agent, thì thông tin từ cổng là không cần thiết.