SỐ 02
HỒ LÔ: BIẾN!

XML & LÀN SÓNG MỚI TRÊN WEB

[Hoàng Ngọc Giao]

 “XML là công nghệ gì mà ghê gớm thế?”. Xin nói ngay với bạn rằng XML không thể phổ biến như ngày nay nếu nó thuộc loại... “công nghệ ghê gớm”.

 MỖI SÁNG, khi lật tờ báo nào đó và nhìn lướt qua các cột chữ, chỉ đọc vài dòng ở từng bài báo, bạn biết ngay chủ đềcủa bài. Có thể chẳng thích thú gì với mấy vụ án  xã hội đen, bạn hờ hững lật qua trang văn nghệ, thở dài với bóng đá nước nhà ở trang thể thao và cuối cùng chìm đắm trong suy tư ở phần... rao bán nhà đất. Ta thường thực hiện những việc như vậy rất tự nhiên với bất cứ tờ báo nào mà không cần ai hướng dẫn. Máy tính không có được khả năng “đọc hiểu” sắc sảo như vậy. Nếu hình dung về một cơ chế tự động tìm kiếm thông tin trên cái “mạng nhện” khổng lồ Web, chắc bạn thấy ngay: Thật là khó khi muốn dạy cho máy tính nhận biết, chọn lọc thông tin cần tìm. Giải pháp đơn giản nhất là tìm một phương thức sao cho những dòng văn bản tự mô tả rõ ràng chủ đề, nội dung của nó để máy tính hiểu được. XML (tức EXtensible Markup Language - “ngôn ngữ đánh dấu mở rộng được”) chính là phương thức như vậy.

 Từ khi được công nhận chính thức vào năm 1998, XML lập tức thu hút sự quan tâm đặc biệt của cộng đồng mạng vì những lợi ích to lớn do nó mang lại. Dữ liệu được lưu trữ và trao đổi trên Web dần dần được chuyển thành dạng XML. Các chương trình có khả năng đọc hiểu văn bản XML nhanh chóng hình thành trên mọi lĩnh vực của đời sống xã hội.

 “XML là công nghệ gì mà ghê gớm thế?”. Xin nói ngay với bạn rằng XML không thể phổ biến như ngày nay nếu nó thuộc loại... “công nghệ ghê gớm”. Mời bạn thử xem một đoạn văn bản ở dạng XML như sau:

<Kỹ_thuật_nấu_nướng>

 <Món_ăn>

  <Tên>BÚN BÒ HUẾ</Tên>

  <Các_nguyên_liệu>

   <Nguyên_liệu>

    <Chủng_loại>thịt giò heo</Chủng_loại>

    <Số_lượng đơn_vị=”g”>800</Số_lượng>

   </Nguyên_liệu>

   <Nguyên_liệu>

    <Chủng_loại>thịt bò nạm</Chủng_loại>

    <Số_lượng đơn_vị=”g”>400</Số_lượng>

   </Nguyên_liệu>

...

  </Các_nguyên_liệu>

  <Cách_thực_hiện>

   <Giai_đoạn_1>

    Sửa soạn

     <Bước_1>Rửa sạch xương bò, chặt khúc</

Bước_1>

     <Bước_2>Làm sạch giò heo, chặt khúc to</

Bước_2>

...

   </Giai_đoạn_1>

...

  </Cách_thực_hiện>

   </Món_ăn>

    </Kỹ_thuật_nấu_nướng>

 Đố bạn văn bản trên nói về cái gì? “Quá dễ! Chỉ lướt nhìn cũng biết ngay đó là cách thức làm (ực...) món bún bò Huế.” Vâng, ta đọc hiểu “thấm thía” nội dung như trên không có gì khó khăn nhưng nếu chương trình máy tính cũng đọc hiểu dễ dàng nội dung ấy thì...thế giới của chúngta sẽ thay đổi nhiều lắm!

 Nếu là một lập trình viên, bạn hiểu ngay sự “đọc hiểu” của chương trình máy tính nghĩa là gì. Nhìn kỹ, bạn sẽ thấy: hướng dẫn làm món bún bò Huế như trên không phải là một văn bản “phẳng phiu” thông thường mà có cấu trúc dạng cây, thể hiện bởi các thẻ (tag), tức là những cụm từ đặt giữa cặp dấu ngoặc nhọn < >. Trong XML, mỗi thẻ khởi đầu, như <Món_ăn> chẳng hạn, luôn có thẻ kết thúc tương ứng, </Món_ăn>. Mỗi cặp thẻ giải thích phần nội dung đặt ở giữa chúng. Tập hợp các thẻ mà bạn “tự biên tự diễn” tạo thành ngôn ngữ đánh dấu của riêng bạn và những người chấp nhận ngôn ngữ đánh dấu ấy.

 Cấu trúc cây chặt chẽ của văn bản XML tạo điều kiện rất thuận lợi cho việc phân tích tự động văn bản ấy và rút ra thông tin cần thiết. Sức mạnh của XML là sức mạnh của ý tưởng đơn giản nhưng có tính đột phá.

 Ôn cố tri tân: HTML, SGML và XML

 HTML (Hypertext Markup Language) là ngôn ngữ đánh dấu để tạo nên những trang Web (Web page) mà hiện nay đã trở thành bộ phận không thể thiếu của đời sống xã hội. HTML chỉ dẫn cho trình duyệt Web (Web browser) biết cách sắp xếp các dòng chữ, hình ảnh. Gọi là “ngôn ngữ đánh dấu” vì HTML định dạng văn bản, giông giống như thứ ngôn ngữ của nghề in ngày xưa, khi mà người ta phải đánh dấu như... mèo quào trên bản thảo để người thợ sắp chữ tạo ra bản in đúng như mong muốn.

 Vào một ngày không xưa lắm, cuối năm 1990, Tim Berners-Lee, đã xây dựng HTML dựa trên ngôn ngữ đánh dấu tổng quát SGML (Standard Generalized Markup Lan- guage) do công ty IBM phát triển. Trong khi SGML cho phép định nghĩa những thẻ tùy ý, Tim Berners-Lee xác lập những thẻ cố định, tạo nên HTML đơn giản hơn nhiều so với quy cách mà SGML cho phép. Nói cho rõ, SGML là một quy cách ngôn ngữ (metalanguage) chứ không phải ngôn ngữ cụ thể. Ngôn ngữ cụ thể như HTML được gọi là một ứng dụng (application) của SGML.

 Khi trang Web ngày càng trở nên phức tạp để vươn đến những dịch vụ đa dạng, HTML vốn được thiết kế chỉ để trình bày văn bản, ngày càng giống như cái áo cũ chật chội. Vào giữa năm 1996, Jon Bosak nghĩ đến việc trở lại với SGML, sử dụng SGML ở dạng đơn giản thích hợp cho Web. Đó chính là XML.

 Để nội dung văn bản XML có thể xuất hiện trong cửa sổ trình duyệt Web, hiện nay người ta thường xây dựng các ứng dụng Web làm nhiệm vụ đọc vào dữ liệu từ văn bản XML ấy và kết xuất văn bản HTML tương ứng, nhằm trình bày dữ liệu nhận được theo cách nào đó.

 XML mai mối các hệ thống thông tin

 Bạn thử hình dung tình huống như sau. Hai cơ quan y tế hợp tác với nhau trong nghiên cứu y học, cần chia sẻ cho nhau những thông tin về bệnh nhân mà họ đã tích lũy nhiều năm trong cơ sơ dữ liệu (database) của mình. Thế nhưng một thực tế thường xảy ra là hai bên có hệ thống thông tin rất khác nhau, được xây dựng trong các thời kỳ khác nhau, chẳng theo một chuẩn chung nào cả.

 Lại có một thực tế không hiếm mà ta có thể giả định: bệnh viện nói trên có địa chỉ Web, cho phép đăng nhập (login) cơ sơ dữ liệu của họ thông qua trang Web nào đó. Thế là công trình nghiên cứu trang trọng khởi đầu bằng công việc cực kỳ vất vả như sau cho nhân viên nhập liệu của cơ quan bảo hiểm y tế:

 1. Dùng trình duyệt Web đăng nhập cơ sơ dữ liệu của bệnh viện.

 2. Xem hồ sơ của từng bệnh nhân.

 3. In hồ sơ bệnh nhân ra giấy.

 4. Nhìn vào tờ giấy vừa in để nhập liệu cho biểu mẫu quen thuộc nào đó, thêm một mẩu tin (record) vào căn cứ dữ liệu của cơ quan bảo hiểm y tế.

 Mọi chuyện sẽ được giải quyết ổn thỏa nếu toàn bộ hồ sơ bệnh nhân cần thiết được biểu diễn ở dạng văn bản XML và hai bên tham gia trao đổi dữ liệu thống nhất với nhau về những thẻ được dùng trong văn bản đó. Sau khi thống nhất như vậy, việc kết xuất hồ sơ bệnh nhân theo dạng XML từ cơ sơ dữ liệu của bệnh viện rất dễ dàng, không thành vấn đề. Cơ quan bảo hiểm y tế cần xây dựng một ứng dụng web để tiếp nhận văn bản XML từ bệnh viện gửi đến và tự động chuyển vào cơ sơ dữ liệu của mình. Một lập trình viên chân chính sẽ hoàn thành ứng dụng Web nêu trên trong... vài ngày! Có thể bạn chưa tin ngay? Song nếu tìm hiểu những phương tiện xử lý XML đã có hiện nay, bạn sẽ thấy rằng nói như trên chẳng có chi là quá đáng.

 Ứng dụng Web

 Có lẽ bạn vẫn thấy ngờ ngợ về cái gọi là ứng dụng Web (Web application). Không có gì nhiều, đó là các chương trình máy tính dùng giao thức HTTP hoặc các giao thức khác của mạng Web để liên lạc với nhau. Có loại ứng dụng Web đáp ứng yêu cầu của người dùng cuối, có loại chỉ nhằm đáp ứng yêu cầu của ứng dụng Web khác. Nếu dựa trên các chuẩn chung, không phụ thuộc hệ thống máy tính cụ thể, các ứng dụng Web có thể hợp tác tốt đẹp với nhau. Một ứng dụng Web có thể gửi yêu cầu ở dạng XML đến nhiều ứng dụng Web khác, trên phạm vi toàn cầu, để thực hiện nhiệm vụ của nó. Đó là ý tưởng căn bản của dịch vụ Web (Web services). Bạn để ý: việc xử lý phân tán như vậy không chỉ là yêu cầu hiển nhiên của thời đại thương mại điện tử (nhằm thực hiện tự động mọi giao dịch thương mại qua Web) mà còn giúp chia sẻ gánh nặng công việc giữa nhiều máy chủ, gia tăng hiệu suất của toàn mạng Web.

 Nhu cầu xây dựng những ứng dụng Web là rất lớn! Dù bạn dùng ngôn ngữ nào để phát triển ứng dụng, bạn chắc chắn sẽ phải tìm hiểu sâu hơn về XML vì XML là hiện tại, là tương lai của Web.

[Đầu trang]
Trang chủ
Thư ngỏ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Nhóm Frontpage
Cõi người ta
Kim cương doanh nghiệp
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Nuôi hồn Robot
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền VASC Orient, Công ty phát triển phần mềm VASC
99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn