Công nghệ XML
1 Nội dung - Mô tả tóm tắt về các loại công nghệ trong lĩnh vực công nghệ thông tin - Trình bày quá trình hình thành của công nghệ Xml và quan hệ với các loại ...
Nội dung
- Mô tả tóm tắt về các loại công nghệ trong lĩnh vực công nghệ thông tin
- Trình bày quá trình hình thành của công nghệ Xml và quan hệ với các loại công nghệ khác
Công nghệ thông tin
- Ngành khoa học ngiên cứu về việc xây dựng các hệ thống tin học tương ứng với hệ thống thực tế
- Ngành khoa học nghiên cứu về việc biểu diễn và xử lý thông tin của hệ thống tin học tương ứng với các thông tin và nghiệp vụ của hệ thống thực tế
Hai hướng nghiên cứu chính trong Công nghệ thông tin
- Công nghệ phần cứng
- Công nghệ phần mềm
* Công nghệ xử lý thông tin
- Một trong các hướng nghiên cứu chính của công nghệ phần mềm
- Ngành khoa học nghiên cứu về các mô hình, phương phàp, kỹ thuật xử lý thông tin
Các mô hình xử lý (chung) chính trong Công nghệ xử lý thông tin
- Thủ tục/Hàm (Procedure/Function)
- Đơn thể (Module)
- Đối tượng (Object)
- Thành phần (Component)
- Dịch vụ (Service)
- ….
* Công nghệ biểu diễn thông tin
- Một trong các hướng nghiên cứu chính của công nghệ phần mềm
- Ngành khoa học nghiên cứu về các mô hình, phương phàp, kỹ thuật biểu diễn thông tin
Các mô hình biểu diễn (chung) chính trong Công nghệ biểu diễn thông tin
- Tập tin (File) : Thông tin lưu trữ trên bộ nhớ phụ
- Cơ sở dữ liệu ( Database) : Thông tin lưu trữ trên bộ nhớ phụ
- Cấu trúc dữ liệu (Data Structure) : Thông tin xử lý trong bộ nhớ chính
- Trang Web (WebPage) : Thông tin thể hiện
- Luồng dữ liệu (Data Stream) : Thông tin trao đổi nội bộ bên trong một hệ thống tin học hay giửa các các
hệ thống tin học
- ….
Công nghệ Xml
Khái niệm về
- Thuộc loại công nghệ biểu diễn thông tin
- Hình thành từ nhu cầu và vấn đề cần giải quyết của việc trao đổi thông tin
- Có phạm vi nghiên cứu và ứng dụng trên tất cả mô hình biểu diễn của công nghệ biểu diễn thông tin
- Có hướng nghiên cứu cho phép ứng dụng một mô hình xử lý thông tin mới thuộc về công nghệ xử lý thông tin
* Nhu cầu trao đổi thông tin
1. Trao đổi thông tin nội bô bên trong hệ thống tin học
Sự phát triển về qui mô, độ phức tạp, phạm vi sử dụng của các hệ thống tin học dẫn đến sự phân rả hệ thống cần xây dựng thành các hệ thống con ( kiến trúc đa tầng là một ví dụ điễn hình về sự phân rả như thể)
=== > Nhu cầu về trao đổi thông tin bên trong các hệ thống con
2. Trao đỗi thông tin giữa các hệ thống tin học
- Sự phát triển của Internet và các ứng dụng trên Web , đặc biệt là các ứng dụng trong lĩnh vực thương mại điện tử
==== > Nhu cầu về trao đổi thông tin giửa các ứng dụng này
- Các yêu cầu cao về chất lượng phần mềm ( Tiện dụng, Tương thích, Bảo mật, v.v…) khả năng đáp ứng cao, chuyên biệt của một số hệ thống sẳn có (WebBrowser, Excel, Word, Fax, v.v…)
==== > Nhu cầu về trao đổi thông tin giữa hệ thống đang xây dựng và các hệ thống có sẳn
* Mô hình trao đổi thông tin
Mô hình trao đổi thông tin trước khi XMl ra đời chủ yếu dựa trên công nghệ về luồng dữ liệu (Data Stream ) với 2 dạng chính
- Dạng nhị phân : Dữ liệu trao đổi là chuỗi các byte theo một cấu trúc và ngữ nghĩa riêng biệt của từng ứng dụng
- Dạng văn bản : Dữ liệu trao đổi là chuỗi các ký tự theo cách mã hóa chung nhưng cấu trúc và ngữ nghĩa vẫn là riêng biệt cho từng ứng dụng
Cả 2 dạng trao đổi trên đều không thích hợp với các nhu cầu phía trên với cùng khuyết điểm :
"Thông tin cần trao đổi có cấu trúc và ngữ nghĩa riêng biệt theo từng ứng dụng "
=== > Nhu cầu về một định chuẩn chung khi trao đổi thông tin
* Sự ra đời của
ra đời là kết quả của các nghiên cứu về dạng biểu diễn thông tin khi cần trao đổi giữa các hệ thống tin học. Dạng biểu diễn cần thỏa mản các yêu cầu sau
1) Cho phép trao đổi trên phạm vi rộng ( Internet)
2) Dễ dàng trong việc kết xuất và tiếp nhận khi trao đổi
3) Tuân theo một định chuẩn chung được chấp nhận và hổ trợ của nhiều môi trường phát triễn phần mềm
đã ra đời và đề xuất một dạng biểu diễn thích hợp cho các yêu cầu trên ( tài liệu XML). Tuy nhiên với bản chất hình thành của mình, phạm vi ứng dụng của các tài liệu XML không chỉ dừng ở việc trao đổi thông tin mà bao hàm cả các vần đề biểu diển thông tin khác như : Lưu trữ thông tin , cấu trúc dữ liệu , thể hiện thông tin , v.v.. ( chi tiết trong phần ứng dụng của XML)2. Một số ứng dụng của công nghệ Xml
Nội dung :
Trình bày các hướng ứng dụng chính của công nghệ Xml
* Trao đổi thông tin
Ứng dụng Xml trong việc trao đổi thông tin
Trao đổi thông tin là xuất phát điểm cho sự hình thành của công nghệ XML. Trao đổi thông tin là ứng dụng chính yếu nhất của XML
Có 2 dạng trao đổi thông tin chính
Dạng 1 : Trao đổi thông tin nội bộ giữa các thành phần của cùng hệ thống tin học
Dạng 2 : Trao đỗi thông tin giữa các hệ thống tin học khác nhau
XML có thể ứng dụng tốt cho cả 2 dạng trao đổi thông tin trên
A có nhu cầu trao đổi thông tin với B
Dạng 1 :
- A, B là 2 thành phần bên trong một hệ thống tin học ( giao diện hay xử lý hay lưu trữ )
- Tài liệu XML đuợc thiết kế cho việc sử dụng nội bộ
Dạng 2 :
- A là hệ thống tin học đang xem xét
- B là hệ thống đã có trước với khả năng chuyên biệt nào đó
- A phải sử dụng tài liệu XML có cấu trúc do do B đề xuất
XML có thể được sử dụng để
- Trao đổi thông tin giữa các tầng của một ứng dụng đuợc thiết kế theo mô hình kiến trúc đa tầng
- Trao đổi thông giữa một tấng với hệ thống khác bên ngoài
Cụ thể có thể
- Sử dụng XML trao đổi thông tin giữa hệ thống lưu trữ dữ liệu ( thông thướng là hệ quản trị cơ sỡ dữ liệu ) và tầng xử lý lưu trữ dữ liệu
- Sử dụng XML trao đỏi thông tin giữa tầng dữ liệu và tầng xử lý nghiệp vụ
- Sử dụng XML trao đỏi thông tin giữa tầng xử lý nghiệp vụ và tậng thể hiện
- Sử dụng XML trao đỏi thông tin giữa các tầng xử lý nghiệp vụ ( khi hệ thống có nhiều tầng xử lý nghiệp vụ )
* Lưu trữ thông tin
Ứng dụng Xml trong việc lưu trữ thông tin
Có 3 cách ứng dụng chính của XML để lưu trữ dữ liệu bên trong hệ thống tin học
Cách 1 : Chỉ sử dụng các tập tin XML để lưu trữ dữ liệu
Cách 2 : Một số dữ liệu lưu trữ dưới dạng tập tin XML, một số khác lưu trữ bên trong cơ sỡ dữ liệu
Cách 3 : Lưu trữ toán bộ bên trong cơ sở dữ liệu, tài liệu XML khi đó đuợc nhúng vào nội dung các bảng dữ liệu
Cách 1 :
- Ưu điểm chính :
Không cần sự hổ trợ của các hệ quản trị cơ sở dữ liệu
== > Dễ cài đặt, triễn khai
- Khuyết điểm chính :
Tính hiệu quả không cao khi khối lượng dữ liệu l
- Nhận xét :
Các phần mềm trò chơi là ứng viên tốt cho ứng dụng XMl theo cách 1
Các phần mềm quản lý không thích hợp cho cách ứng dụng này
Rất thích hợp cho các ứng dụng trên các mội trường tin học không có (hoặc chưa có ) hệ quản trị cơ sỡ dữ liệu như : Điện thoại di động, Máy công cụ , v.v…
Cách 2, 3 :
- Ưu điểm chính :
Có thể kết hợp tốt ưu điểm của cả 2 mô hình lưu trữ thông tin : XML , Cơ cở dữ liệu
- Khuyết điểm chính :
Cần có sự cân nhắc và quyết định đúng đắn loại thông tin nào sẽ đùng hình thức lưu trữ nào
- Nhận xét :
Cách 2 là cách sử dụng phổ biền nhất hiện nay
Cấu hình của hệ thống tin học ( phân hệ ứng dụng ) là loại thông tin thướng được chọn để lưu trữ theo dạng tài liệu XML
* Cấu trúc dữ liệu
Ưng dụng Xml với các cấu trúc dữ liệu
Với mô hình DOM ( đuợc giới thiệu tóm tắt trong phần kế tiếp và chi tiết trong chương 3 ), có thể sử dụng tài liệu XMLnhư một loại cấu trúc dữ liệu động với nhiều ưu điểm
- Đọc/Ghi dễ dàng
Các cấu trúc dữ liệu động như Mảng động ( Dynamic Array), Xâu (List ), Ngăn xếp ( Stack), Hàng đợi ( Queue), Cây (Tree), … có nhiều tính năng tốt trong việc biểu diễn và xử lý thông tin trong bộ nhớ chính. Tuy nhiên việc đọc/ghi thông tin của các cấu trúc dữ liệu này từ/vào bộ nhớ phụ ( thông thướng thông qua tập tin ) là không đơn giãn và thường phải thực hiện gián tiếp với một bộ đọc ghi. Tài liệu XML có thể sử dụng để cài đặt lại hấu hết các cấu trúc dữ liệu động trên ( với một số chức năng bổ sung vào DOM qua cơ chế kế thừa hay bao bọc của hướng đối tượng !!!) và đặc biệt là việc đọc/ghi rất dễ dàng ( thông thường chỉ là một lệnh gọi hàm đơn giãn )
Với VB.NET
đọc tài liệu XML Tai_lieu.Load(Ten_tap_tin_XML)
ghi tài liệu XML
Tai_lieu.Save (Ten_tap_tin_XML)
- Khả năng truy vấn cao
Việc truy vấn các thành phần/tập họp thành phần của các cấu trúc dữ liệu động phía trên thông thường phải thông qua các vòng lặp duyệt đến từng phần tử. Với tài liệu XML, có thể sử dụng ngôn ngữ truy vần Xpath để truy xuất đến thành phần/tập họp thành phần một cách rất dễ dàng ( và thông thường cũng chỉ thông qua một lệnh gọi hàm đơn giãn )
Với VB.Net , giả sử có Tai_lieu tương ứng thông tin về cây các số nguyên. Để lập danh sách các nút ( thành phần của cây ) có giá trí dương
Nut_duong=Tai_lieu.SelectNodes(“//Phan_tu[@Gia_tri >0]”)
- Xử lý thông tin
Ứng dụng Xml khi xử lý thông tin
Như đã trình bày trong các phần trên , công nghệ XML đuợc xếp vào loại công nghệ biểu diễn thông tin, và như thể các hướng ứng dụng chính của XML đều nhắm vào giải quyết/ cải tiến các vấn đề về biểu diễn thông tin trên các loại hình biểu diễn khác nhau.
Tuy nhiên một trong các khả năng ứng dụng khá thú vị và có nhiều hứa hẹn sẽ phát triển mạnh trong tương lại liên quan đến công nghệ xử lý thông tin với việc đề xuất một mô hình xử lý thông tin mới theo hướng đặc tả thay vì lập trình ( chi tiết về hướng ứng dụng này đuợc trình bày chi tiết trong chương cuối )
Ý tưởng xuất phát từ việc tài liệu XML cho phép biểu diễn rất tốt các văn bản có cấu trúc. Và chương trình nguồn trong các ngôn ngữ lập trình cũng là các văn bản có cấu trúc. Có nên hay không ? tạo ra một ngôn ngữ lập trình mới tương tự như ngôn ngữ lập trình hiện nay nhưng với các từ khóa là các thẻ đánh dấu
<for> ….</for>, <function>….<function>
Câu trả lời rất tiếc là không, vì lập trình trên một ngôn ngữ như thế là rất khó khăn, không tự nhiên theo các thuật giải đã đề xuất.
Ý tưởng về một ngôn ngữ lập trình mới theo định chuẩn XML không thành công, nhưng nếy thay vì sử dụng ngôn ngữ lập trình mà lại sử dụng ngôn ngữ đặc tả ( chỉ mô tả mà không đi vào chi tiết thuật giải) thì kết quả có đuợc rất khả quan. Ngôn ngữ đặc tả XSLT đã ra đời trong bối cảnh như thế.)
Với XSLT có thể xây dựng một chương trình theo hướng đặc tả với các thẻ xử lý có ngữ nghĩa rất cao (mà đặc biệt là một cơ chế mới về vòng lặp) và tính dễ mang chuyễn tốt nhất có thể có ( vì đầy là ngôn ngữ XML ). XSLT còn có nhiều đặc tính thú vị khác sẽ đuợc trình bày chi tiết trong chương cuối