Trong phần này, một tập hợp các công nghệ và kỹ thuật liên quan đến XML có thể áp dụng cho quản trị mạng sẽ được giới thiệu một cách ngắn gọn để người dùng hiểu hơn về XML.
XML - Ngôn ngữ đánh dấu mở rộng, là một ngôn ngữ siêu đánh dấu,
được chuẩn hóa bởi Hiệp hội World Wide Web (W3C) vào năm 1998 nhằm trao đổi tài liệu trên World-Wide Web. XML là một tập con của ngôn ngữ đánh dấu chung chuẩn (SGML - Standard Generalized Markup Language). Vì vậy, XML có lợi thế trong việc truyền tải dễ dàng bằng HTTP như HTML và có lợi thế trong việc mở rộng như SGML. XML là một cú pháp dựa trên văn bản có thể đọc được bằng cả máy tính và con người. Nó linh hoạt và có khả năng mở rộng, cho phép các cặp thẻ mới được thêm vào mà không làm vỡ cấu trúc tài liệu hiện có. Dựa trên mã đồng bộ, XML cung cấp hỗ trợ ngôn ngữ toàn cầu. Ngoài ra, nó đưa ra khả năng di động và tái sử dụng dữ liệu trên nhiều hệ điều hành và các thiết bị khác nhau. Với một sức mạnh mô tả rộng rãi các tài liệu và dữ liệu,
XML có tiềm năng lớn để trở thành giao diện chuẩn cho quản trị thông tin. Các công nghệ liên quan đến XML được mô tả trong hình 3.1.
Hình 3.1: Các công nghệ XML
XML có hai phương pháp cơ bản để xác định cấu trúc tài liệu XML: Định nghĩa kiểu tài liệu (DTD) và Lược đồ XML (XML Schema). Mỗi phương pháp đều có khả năng đối với hầu hết các tài liệu, nhưng mỗi phương pháp lại chỉ đưa ra lợi ích duy nhất.
DTD được dùng để chỉ ra mô hình nội dung cho mỗi thành tố. Mô tả nội
dung là một phần của việc khai báo thành tố trong DTD và chỉ ra thứ tự, số lượng các thành tố có thể chứa trong thành tố được công bố. Theo đó, DTD được dùng để chỉ ra thuộc tính cho từng thành tố và mối quan hệ giữa các thành tố đó. Tuy nhiên, các DTD không hỗ trợ mô hình thông tin phức tạp, vì vậy một cơ chế mô hình mới, XML Schema, đã được đưa ra.
XML Schema về cơ bản được tái cấu trúc và tái mở rộng từ những khả năng được tìm thấy trong các DTD XML. XML Schema dựa trên XML, vì vậy nó có thể được phân tích và thao tác chính xác như các tài liệu XML thông qua các API chuẩn. XML Schema hỗ trợ một loạt các kiểu dữ liệu (44 loại trong số các loại cơ bản), trong khi DTD chỉ xử lý các dữ liệu dạng chuỗi hoặc chuỗi liệt kê. XML Schema cũng cho phép các mối quan hệ kế thừa giữa các thành tố và hỗ trợ tích hợp không gian tên.
DOM - Mô hình đối tượng tài liệu (Document Object Model) là một giao
kịch bản có thể tự động truy cập và cập nhật nội dung, cấu trúc, và kiểu văn bản. DOM là một API dành cho HTML và các tài liệu XML hợp lệ. DOM cho phép tái cấu trúc các tài liệu hoàn chỉnh từ tài liệu XML đầu vào, và cũng cho phép truy cập đến tất cả các phần của tài liệu.
SAX - Giao diện lập trình ứng dụng (API - Application Programming Interface) chung dành cho XML là một cơ chế hướng sự kiện và truy cập liên
tiếp dành cho việc truy cập các tài liệu XML. Bộ phân tích DOM (DOM paser) sẽ phân tích các tài liệu XML, tạo ra một cây DOM và lưu toàn bộ cây trong bộ nhớ. Trong khi bộ phân tích DOM phân tích tài liệu XML và tạo ra cây DOM, lưu giữ toàn bộ cấu trúc trong bộ nhớ thì cùng lúc, SAX đọc các tài liệu XML theo trình tự và tạo ra một sự kiện cho một thành tố cụ thể. Do đó, một khi ứng dụng gọi truy cập tuần tự đến các tài liệu XML, SAX có thể nhanh hơn nhiều so với các phương pháp khác mà không đòi hỏi nhiều chi phí hệ thống. Bất kể phần tử nào được tạo ra, phương pháp này đều liên quan đến phần tử được xử lý. Một bộ xử lý XML dùng SAX (SAX paser) không tạo ra cấu trúc dữ liệu. Thay vào đó, trong khi truy cập tài liệu XML, nó sẽ tạo ra các thành tố như bắt đầu và kết thúc của một thành tố. Các ứng dụng có thể xử lý các hoạt động như tìm kiếm được tên và thuộc tính của thành tố bằng cách nắm bắt sự kiện đó. SAX là một giao diện cho bộ phân tích XML chứ không phải một API cho một trong các cấu trúc dữ liệu có thể được xây dựng bằng một bộ phân tích.
XSL - Ngôn ngữ định kiểu mở rộng (Extensible Stylesheet Language) là
một ngôn ngữ đánh dấu được thiết kế để minh họa các phương pháp hiển thị các tài liệu XML trên web. Các tài liệu XML chỉ mô tả nội dung và cấu trúc của chúng. Một stylesheet XSL quy định cách trình bày của một lớp các tài liệu XML bằng việc mô tả cách mà một trường hợp của lớp được chuyển đổi thành một tài liệu XML sử dụng từ vựng định dạng. Nghĩa là, XSL cho phép XML có thể tách các nội dung từ cách trình bày. XSL bao gồm hai phần: một ngôn ngữ để chuyển đổi các tài liệu XML, và các từ vựng XML để xác định ngôn ngữ định dạng.
XSLT - Ngôn ngữ định kiểu chuyển đổi mở rộng (Extensible Stylesheet
Language Transformation), là công nghệ định kiểu để chuyển đổi các tài liệu XML, một tập con của công nghệ XSL. XSLT hỗ trợ hoàn toàn việc chuyển đổi một tài liệu XML từ định dạng này sang định dạng khác, như HTML hoặc một kiểu tài liệu XML bất kỳ. Lý do phải có một XSLT tách biệt hẳn với XSL là các tài liệu XML có thể được hiển thị, còn việc cung cấp một định dạng hiển thị dễ
dàng cho người dùng cuối thông qua việc chuyển đổi các tài liệu XML lại không cần định dạng ngôn ngữ.
XPath - Ngôn ngữ đường dẫn XML (XML Path Language) là ngôn ngữ
phi XML được dùng để ghi địa chỉ các phần của một tài liệu XML. Nó là ngôn ngữ phi XML vì nó không được mô tả bằng các cấu trúc XML, như các thành tố và các thuộc tính, mặc dù nó được sử dụng để ghi địa chỉ các tài liệu XML. Xpath sử dụng các cú pháp được thiết kế để dùng trong các giá trị thuộc tính URI và XML, nghĩa là nó phải ngắn gọn. Tên XPath dựa trên ý tưởng dùng một ký hiệu đường dẫn để ghi địa chỉ một tài liệu XML. XPath hoạt động theo giả thiết rằng một tài liệu đã được phân tích thành một cây gồm có các nút. Thực chất XPath chính là việc duyệt một tài liệu XML để đi đến một nút cho trước. Việc duyệt này được thực hiện bằng cách dùng các biểu thức. Các phần tử có thể được tìm kiếm và lựa chọn bởi địa chỉ thông qua XPath. Do đó, XPath không được sử dụng một cách riêng lẻ nhưng nó tạo ra cơ sở cho các tài liệu ghi địa chỉ trong DOM và XSLT.
XQuery - Ngôn ngữ truy vấn XML (XML Query Language), được thiết
kế để áp dụng một cách rộng rãi cho tất cả các nguồn dữ liệu XML, như các tài liệu có cấu trúc và bán cấu trúc, các cơ sở dữ liệu quan hệ, và các kho đối tượng. XQuery sử dụng XPath cho biểu thức đường dẫn. Ngoài ra, XQuery cung cấp các tính năng như lọc tài liệu, kết nối qua nhiều nguồn dữ liệu, và nhóm các nội dung với nhau.
XUpdate là một ngôn ngữ cập nhật, cung cấp các tiện tích cập nhật linh
hoạt và có tính mở để chèn, cập nhật, và xóa dữ liệu trong các tài liệu XML. Ngôn ngữ XUpdate được biểu hiện như một tài liệu XML khá hoàn chỉnh, và sử dụng XPath để lựa chọn các thành tố và xử lý có điều kiện.
SOAP - Giao thức truy cập đối tượng đơn giản (Simple Object Access
Protocol) là một giao thức đơn giản giúp trao đổi thông tin trong môi trường phân tán. Nó là một giao thức dựa trên XML, gồm ba phần: một vỏ bọc định nghĩa khung tương tác dành cho việc mô tả nội dung của bản tin và cách xử lý bản tin đó; một tập các quy tắc mã hóa để thể hiện các trường của kiểu dữ liệu ứng dụng được định nghĩa; và một tập quy ước mô tả các cuộc gọi thủ tục từ xa (RPC – Remote Procedure Call) và các đáp ứng. SOAP định nghĩa việc sử dụng XML và HTTP hoặc SMTP để truy cập các dịch vụ, đối tượng, trong các máy chủ độc lập về hệ điều hành và ngôn ngữ.
WSDL - Ngôn ngữ mô tả dịch vụ web (Web Services Description
Web và mô tả cách truy cập đến các dịch vụ đó. Một tài liệu WSDL là một bộ sưu tập gồm một hoặc nhiều định nghĩa dịch vụ. Tài liệu chứa một thành tố XML gốc gọi là các định nghĩa, trong đó có các định nghĩa dịch vụ. Các thành tố định nghĩa cũng có thể chứa thuộc tính targetNamespace tùy chọn, thuộc tính này giúp xác định URI liên kết với các định nghĩa dịch vụ. WSDL định nghĩa các dịch vụ như một tập hợp các thiết bị mạng đầu cuối vốn đã được định nghĩa là các cổng trong WSDL. WSDL phân biệt các cổng dịch vụ và các bản tin liên quan của chúng từ các ràng buộc giao thức mạng. Sự phối hợp của một ràng buộc và một địa chỉ mạng sẽ cho kết quả ở một cổng, và dịch vụ được định nghĩa như một tập hợp các cổng.