Thông tin quản trị được xác định bởi XML Schema. Một ví dụ về thông tin quản trị là SNMP MIB II có thể được áp dụng cho tất cả các thiết bị mạng. Mỗi nút của SNMP MIB chuyển đổi thành một thành tố của XML Schema: tên của đối tượng thành XML tag, “cú pháp” chuyển thành định nghĩa kiểu dữ liệu, và “truy cập” chuyển thành thuộc tính cho ví dụ. Hình 3.5 ở trên cho thấy một ví dụ về một XML Schema trong nhóm hệ thống MIB II. Điều này chứng minh XML Schema của đối tượng 'sysDescr’ thuộc nhóm hệ thống.
3.5.1.2. Hợp thức hóa thông tin quản trị
Cây DOM là một kho dữ liệu quản trị ảo và cung cấp một điểm thao tác đối với các đối tượng quản trị. DOM paser cung cấp truy cập ngẫu nhiên sử dụng tên thành tố hoặc biểu thức XPath và các thao tác khác nhau của một tài liệu XML. Các thuộc tính của giao diện DOM, như Node và Text, được ánh xạ tới các đối tượng quản trị. Khi XBM agent nhận được một bản tin yêu cầu, mô đun hoạt động SOAP sẽ lựa chọn các nút cụ thể trong cây DOM bằng XPath Handler. Đối với các nút được chọn, agent sẽ lấy dữ liệu quản trị từ cây DOM thông qua giao diện DOM, và gửi dữ liệu này đến XBM Manager. Để gửi thông tin cập nhật, cây DOM cập nhật giá trị nút cho nút được chọn thông qua giao diện hỗ trợ quản trị (MBI - Management Backend Interface) trước khi trả lời XBM agent. Kiểu cập nhật giá trị nút DOM từ các nguồn tài nguyên thực này được gọi là pull-based update. Cây DOM yêu cầu một giá trị đến các ứng dụng hệ thống nhúng thông qua MBI và nhận được một đáp ứng. Đối với một số nút, không cần cập nhật giá trị nút DOM trước khi trả lời vì giá trị này là cập nhật. Trong trường hợp này, các mô đun MBI sẽ chịu trách nhiệm cập nhật.
Định kỳ, hoặc khi sự kiện xảy ra, các MBI sẽ cập nhật các giá trị nút của cây DOM. Loại cập nhật này được gọi là push-based update. Đối với những dữ liệu thay đổi thường xuyên, như dữ liệu đo lưu lượng truy cập, pull-based update sẽ thích hợp hơn so với push-based update, và các thông tin tĩnh hoặc bán động có thể được hưởng lợi từ việc sử dụng push-based update chứ không phải là một pull-based update. Trong trường hợp pull-based update, nút DOM được cập nhật bằng cách thay thế các văn bản của các giá trị nút với nút lệnh xử lý (PI) - một loại nút chuẩn của DOM.
3.5.1.3. Giao thức quản trị
Giao thức quản trị xác định giao thức giao vận, hoạt động quản trị và đơn vị dữ liệu giao thức như mô tả trong phần 3.3. Đầu tiên, XBM agent truyền dữ liệu XML thông qua HTTP. Tiếp theo, XBM agent xác định các hoạt động quản trị và dữ liệu quản trị bằng cách sử dụng SOAP. Như đã đề cập tại mục 3.3, các
hoạt động quản trị bao gồm tạo, xóa, tìm kiếm, sửa đổi, lọc, định vị, thông báo,… Các hoạt động quản trị sử dụng hoạt động SOAP RPC gồm GetMethod, setMethod, createMethod, deleteMethod, scheduleMethod, sendMethod, modifyMethod. Giải thích ngắn gọn về các hoạt động này như sau:
getMethod: Phương pháp này được sử dụng để tìm kiếm thông tin từ tệp tin thông tin quản trị XML bằng cách sử dụng các hoạt động Get trong giao diện DOM.
setMethod: Phương pháp này được sử dụng khi nội dung của các thông tin quản trị được sửa đổi mà không cần thay đổi cấu trúc thông tin. Phương pháp này sử dụng hoạt động Set trong giao diện DOM.
createMethod: Khi một thông tin quản trị mới được bổ sung, phương pháp này sẽ được gọi. Điều này gọi các hoạt động Create trong giao diện DOM.
deleteMethod: Phương pháp này xóa bỏ các đối tượng quản trị và thay đổi cấu trúc thông tin quản trị.
scheduleMethod: Phương pháp này được gọi khi manager thiết lập lịch cho việc theo dõi định kỳ.
sendMethod: Agent sẽ gọi phương pháp này để gửi dữ liệu theo dõi định kỳ đến manager theo lịch.
notifyMethod: Agent sẽ gửi thông báo đến manager thông qua phương pháp này.
Các hoạt động này được định nghĩa bằng WSDL. Như mô tả trong hình 3.6, WSDLđịnh nghĩa các thành tố chính sau:
message: Một định nghĩa kiểu trừu tượng của các dữ liệu được truyền thông
operation: Một mô tả trừu tượng hoạt động được hỗ trợ bởi dịch vụ
portType: Một tập hợp các hoạt động trừu tượng được hỗ trợ bởi một hoặc nhiều thiết bị đầu cuối
binding: Một giao thức cụ thể và định dạng dữ liệu chỉ định cho một loại cổng cụ thể
port: Một thiết bị đầu cuối đơn lẻ được định nghĩa như một phối hợp giữa ràng buộc và địa chỉ mạng
Tài liệu WSDL trong hình 3.6 mô tả các hoạt động GetMethod được ban hành bởi các XBM agent như một dịch vụ có tên là SoapInterfaceService.
<wsdl:definitions (namespace declarations) > <wsdl:message name="getMethod">
<wsdl:part name="sourceFile" type="xsd:string" />
<wsdl:part name="xpath" type="xsd:string" /></wsdl:message> <wsdl:message name="getResponse">
<wsdl:part name="getResponse" type="xsd:string" /></wsdl:message>
<wsdl:portType name="SoapInterface">
<wsdl:operation name="get" parameterOrder="sourceFile"> <wsdl:input message="intf:getMethod" name="getMethod" /> <wsdl:output message="intf:getResponse" name="getResponse" /></wsdl:operation> </wsdl:portType> <wsdl:binding name="SoapInterfaceSoapBinding" type="intf:SoapInterface"> <wsdlsoap:binding style="rpc"transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="get"><wsdlsoap:operation soapAction="" /> <wsdl:input name="getMethod"> <wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ namespace="http://hostname:8080/axis/SoapInterface.jws" use="encoded" /> </wsdl:input> <wsdl:output name="getResponse"> <wsdlsoap:body encodingStyle=http://schemas.xmlsoap.org/soap/encoding/ namespace="http://hostname:8080/axis/SoapInterface.jws" use="encoded" /> </wsdl:output></wsdl:operation></wsdl:binding> <wsdl:service name="SoapInterfaceService"> <wsdl:port binding="intf:SoapInterfaceSoapBinding" name="SoapInterface"> <wsdlsoap:address location="http://hostname:8080/axis/SoapInterface.jws" /> </wsdl:port></wsdl:service></wsdl:definitions>