Khái quát về XML và các thuật ngữ liên quan


XML là viết tắt của từ eXtensible Markup Language, một ngôn ngữ đánh dấu nhằm phục vụ cho mục đích trao đổi dữ liệu giữa các ứng dụng. Để hiểu rõ hơn vai trò của XML, chúng ta hãy bắt đầu với câu chuyện của công ty NoXML.

NoXML là một công ty chuyên kinh doanh hàng hóa qua mạng, công ty này bên cạnh bán hàng hóa thì còn phải nhập hàng hóa từ các nhà cung cấp khác, trong đó có công ty GodSupplier. Để tự động hóa quy trình tự động yêu cầu hàng hóa khi sắp hết hàng, hai công ty NoXML và GodSupplier đã ngồi họp lại với nhau và thống nhất cùng nhau viết một phần mềm với một định dạng thống nhất giữa 2 công ty. Công ty NoXML đã đề xuất một định dạng file mà sẽ được lưu theo dạng mà có thể đọc được bằng ngôn ngữ C#.

Vậy là công ty NoXML đã viết một ứng dụng (trên nền Windows) mà sẽ tự động sinh ra tập tin có định dạng như trên, sau đó, tập tin này được truyền qua internet cho công ty GodSupplier, công ty GodSupplier sử dụng ứng dụng của mình (cũng sử dụng hệ điều hành Windows) đọc tập tin này và cung cấp hàng hóa theo yêu cầu.  Công việc của cả 2 công ty tiến triển tốt đẹp.

Một ngày kia, công ty GodSupplier quyết định chuyển hệ thống máy tính của mình sang sử dụng hệ điều hành Linux. Ngoài ra, công ty cũng quyết định thay đổi thông điệp trao đổi giữa hai công ty vì sẽ có thêm một vài thông được bổ sung vào trong file dữ liệu trao đổi. Do đó, hai công ty đã quyết định một ngày nào đó hẹn gặp lại với nhau, cùng bàn bạc thống nhất với nhau về những thay đổi mới (trong dữ liệu trao đổi cũng như phần mềm).

Như chúng ta thấy, việc trao đổi dữ liệu giữa hai công ty trên được thực hiện thông qua một định dạng phụ thuộc vào một nền tảng, một loại ngôn ngữ lập trình được sử dụng cố định. Khi có bất kỳ sự thay đổi nào diễn ra về phần cứng hoặc phần mềm thì nó sẽ gây ra ảnh hưởng đến toàn bộ quá trình trao đổi thông tin. Nhu cầu đặt ra là cần phải có một cách trao đổi thông tin mới mà có thể đảm bảo được tính chất độc lập nền tảng và ngôn ngữ. Và định dạng mới đó là XML.

Tài liệu XML có đặc điểm khá giống với một tài liệu HTML ở việc sử dụng các tag. Tuy nhiên, các tag trong HTML được sử dụng nhằm mục đích “định dạng nội dung hiển thị” còn các tag trong XML được sử dụng nhằm mục đích “chứa nội dung”. Ví dụ trong HTML, khi sử dụng <b>Hello World</b> thì chúng ta sẽ nhận được chữ Hello World in đậm trong trình duyệt. Tuy nhiên, khi sử dụng <b>Hello World</b> trong XML thì chúng ta chỉ biết rằng hẻ <b> chứa giá trị HelloWorld mà không biết nó hiển thị ra sao cả.

Một vấn đề cần lưu ý tiếp theo là trong một tài liệu XML, không có thẻ nào là đã được định nghĩa trước mà bạn có thể tự tạo cho riêng mình các thẻ. Ví dụ, trong HTML, thẻ <b> được quy định là dùng để in đậm một đoạn văn, nhưng trong XML thì bạn có thể dùng bất cứ thẻ gì.

Ứng dụng của XML vô cùng lớn dựa trên đặc tính của nó, sau đây là một số công nghệ dựa trên XML:

  • RSS và ATOM: công nghệ dùng để đọc tin từ các Website và Blog
  • Web Services: trao đổi dữ liệu giữa các ứng dụng dựa trên những dịch vụ
  • SOAP, WSDL: sử dụng trong Web Services
    Hiện nay, hầu hết các ứng dụng mới đều có sử dụng XML nhằm nâng cao tính tương tác trên môi trường mạng Internet. Do đó, chắc chắn tương lai của XML sẽ còn được sử dụng lâu dài (cho đến ngày chúng ta tìm ra được một giải pháp mới hay hơn XML). Để tìm hiểu rõ hơn về XML, các bạn có thể tham khảo  các bài học tại trang web của W3C

Tác giả: xuanchien

Tran Xuan Chien. Japan Advanced Institute of Science and Technology - Japan. Senior Developer - NUS Technology.

4 thoughts on “Khái quát về XML và các thuật ngữ liên quan”

  1. Ứng dụng của XML vô cùng lớn dựa trên đặc tính của nó, sau đây là một số công nghệ dựa trên XML:
    RSS và ATOM – công nghệ dùng để đọc tin từ các Website và Blog. Vậy là câu hỏi về XML trong buổi chung kết hôm nay là của anh phải không😀

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s