Cong ty Cong Nghe Tin hoc Nha truong http://www.vnschool.net
Điểm mặt công nghệ: AJAX, RSS và ảo hoá
01/07/2007

AJAX, RSS và ảo hoá (virtualization), những khái niệm thường xuyên được giới IT nhắc đến trong thời gian gần đây. Vậy chúng là gì, hoạt động như thế nào và được ứng dụng ra sao? Bài viết này sẽ trả lời những câu hỏi đó về ba công nghệ này một cách tổng quát nhất.



1. AJAX - Bước tiến mới của web
Có lẽ trong vòng hai năm trở lại đây bạn cũng đã ít nhiều nghe đến từ AJAX. Nhưng nó không phải là một CLB bóng đá của Hà Lan – Ajax Amsterdam mà là một công nghệ nổi bật dùng để xây dựng các trang web có tính tương tác và đáp ứng cao đối với người dùng internet. Có lẽ khi bạn đọc bài báo này thì AJAX cũng đã tròn hai năm tuổi. Vậy AJAX là gì?

AJAX là cụm từ viết tắt của Asynchronous Javascript And XML. AJAX không phải là một ngôn ngữ lập trình mới, nó đơn giản là một kỹ thuật mới tận dụng các công nghệ chuẩn đã có. Với AJAX bạn có thể tạo ra các ứng dụng web tốt hơn, nhanh hơn và thân thiện hơn với người dùng. Ở đây chúng ta phân biệt hai khái niệm: ứng dụng web và ứng dụng desktop.
Ứng dụng web chính là các trang web mà bạn truy cập hàng ngày bằng trình duyệt web (ví dụ như Yahoo!, Google, …), mã thực thi của chúng được lưu và xử lý trên máy chủ. Bạn chỉ cần có trình duyệt và kết nối mạng là có thể truy cập và sử dụng ứng dụng web ở khắp mọi nơi. Ưu điểm của nó là dễ phát triển, dễ triển khai và hỗ trợ, có thể tiếp cận rất nhiều người dùng. Tuy nhiên các ứng dụng web truyền thống khá chậm chạp (do phụ thuộc vào kết nối mạng và truy xuất theo theo phương thức hỏi-đáp (request-response) giữa trình duyệt và máy chủ nên mỗi khi tương tác thì người dùng phải chờ nạp lại toàn bộ trang web), tính tương tác chưa cao. Mỗi khi ứng dụng web được nâng cấp hoặc thay đổi thì chỉ cần cập nhật trên máy chủ web là đủ, còn người dùng sử dụng trình duyệt thì luôn truy cập được phiên bản mới nhất của ứng dụng.
Còn ứng dụng desktop là các chương trình được cài đặt trên ổ cứng của máy tính và chạy độc lập trên máy tính (ví dụ như Microsoft Office, Turbo Pascal, …). Các ứng dụng này thường có tốc độ rất nhanh, tính tương tác cao. Tuy nhiên hạn chế của nó là mỗi khi có nâng cấp, thay đổi thì tất cả người dùng phải cài đặt phiên bản cập nhật mới nhất trên máy tính của họ.

AJAX chủ yếu dựa trên Javascriptgiao thức HTTP. AJAX sử dụng Javascript để gửi và nhận dữ liệu giữa trình duyệt web và máy chủ web. Tác dụng dễ nhận thấy nhất của AJAX là nó làm cho các trang web đáp ứng nhanh hơn vì việc truyền nhận dữ liệu với máy chủ web được thực hiện ở hậu trường (background), thay vì phải nạp lại toàn bộ trang web mỗi khi người dùng thay đổi một thông tin nào đó. Ứng dụng AJAX giao tiếp trực tiếp với máy chủ web thông qua đối tượng XMLHttpRequest của javascript. Với đối tượng này, javascript có thể trao đổi dữ liệu với máy chủ web mà không cần phải nạp lại toàn bộ trang web. Cũng nhờ đó mà AJAX có thể sử dụng phương thức trao đổi dữ liệu không đồng bộ (asynchronous) giữa trình duyệt và máy chủ web, cho phép ứng dụng web có thể chỉ lấy về từng cụm dữ liệu nhỏ từ máy chủ thay vì toàn bộ dữ liệu của trang web, nhờ đó tăng tốc độ nạp trang và tương tác cao hơn với người dùng. Đồng thời kỹ thuật này cũng làm cho các ứng dụng web trở nên nhỏ hơn, nhanh hơn và thân thiện hơn.
AJAX hoàn toàn dựa trên các chuẩn web đã có. Nó dựa trên bốn công nghệ sau đây: Javascript, XML, HTML và CSS. Các chuẩn cho web này đã được phát triển từ khá lâu và đã chín muồi, hơn nữa tất cả các trình duyệt hiện nay đều hỗ trợ chúng, vì vậy có thể nói các ứng dụng AJAX độc lập với trình duyệt.

“Trăm nghe không bằng một thấy”, bây giờ chúng ta sẽ lướt qua một vài ứng dụng web tiêu biểu sử dụng công nghệ AJAX hiện nay. Nổi bật nhất có lẽ là dịch vụ bản đồ thế giới trực tuyến của Google, Google Maps, địa chỉ http://maps.google.com và trang tìm kiếm có gợi ý Google Suggests (http://www.google.com/webhp?complete=1&hl=en).

Google Maps cho phép bạn xem bản đồ bất kỳ khu vực nào trên thế giới ở dạng bản đồ hành chính, địa hình hoặc cả hai. Bạn có thể phóng to thu nhỏ (zoom) từng khu vực hoặc kéo bản đồ theo hướng tuỳ thích. Mỗi khi bạn zoom hoặc kéo bản đồ thì chỉ có khu vực bản đồ chưa xuất hiện sẽ được nạp ở máy chủ về, còn những phần khác giữ nguyên, vì vậy làm cho tốc độ tải bản đồ rất nhanh. Hình dưới đây là chụp màn hình Google Maps khu vực xung quang hồ Hoàn Kiếm, Hà Nội.


Google Suggest thì liệt kê một danh sách các từ khoá liên quan khi bạn gõ một phần từ khoá vào ô tìm kiếm, cùng với số kết quả tìm được giúp bạn có thể biết được nhanh chóng từ khoá nào cho nhiều kết quả tìm kiếm nhất. Ví dụ gõ từ viet vào thì Google Suggest sẽ liệt kê ngay một số từ khoá khác như vietnam, vietnamese, vietnam war, vietnam airlines, …Danh sách này sẽ liên tục thay đổi khi bạn gõ tiếp phần còn lại của từ khoá định tìm kiếm, và vì sử dụng công nghệ AJAX nên bạn có cảm giác danh sách này hiện lên ngay lập tức mà không phải nạp lại trang web.

Ngoài ra cũng còn có rất nhiều website khác sử dụng AJAX như Yahoo! Mail (http://mail.yahoo.com, đang trong phiên bản beta), Google Mail (http://www.gmail.com). Nếu bạn đã thử sử dụng hai dịch vụ web mail trên thì chắc chắn bạn sẽ thực sự ấn tượng về tốc độ của chúng, nhanh hơn rất nhiều so với các dịch vụ web mail truyền thống khác.

Tóm lại AJAX là một công nghệ ở phía trình duyệt độc lập với máy chủ web cũng như độc lập với trình duyệt và hệ điều hành, nó là một kỹ thuật mới phối hợp các công nghệ cũ để tạo nên các ứng dụng web nhanh hơn, tương tác tốt hơn và thân thiện hơn với người dùng. Các ứng dụng web lớn và phổ biến sử dụng công nghệ AJAX ngày càng nhiều và để xây dựng được một ứng dụng AJAX cũng không quá khó, tuy nhiên tác giả sẽ có một bài viết riêng sâu hơn về công nghệ AJAX cũng như phương pháp lập trình một ứng dụng web AJAX cơ bản, mời các bạn đón đọc.

Tham khảo thêm:
- Bài giới thiệu về Ajax lần đầu tiên của Jesse James Garrett: http://www.adaptivepath.com/publications/essays/archives/000385.php
- Bài học về Ajax cơ bản và nâng cao của W3Schools: http://www.w3schools.com/ajax/default.asp
- Tin tức, bài viết, hướng dẫn, phân tích chuyên sâu về công nghệ Ajax: http://www.ajaximpact.com

2. RSS – Thông tin thực sự đơn giản
RSS là viết tắt của Really Simple Syndication. Một cách tổng quát, RSS là một phương pháp sử dụng định dạng XML để phân phối nội dung của một website đến nhiều website khác. RSS cho phép truy cập nhanh chóng đến các tin tức mới nhất trên website. Một số mô tả ngắn gọn về RSS :
- RSS cho phép bạn tổng hợp nội dung website của mình.
- RSS định nghĩa một cách đơn giản để chia sẻ và xem qua tiêu đề tin tức và các nội dung khác.
- Các tập tin RSS có thể tự động cập nhật.
- RSS có thể được tuỳ biến tuỳ theo từng website.
- RSS được viết bằng XML.

Tại sao lại sử dụng RSS ? Bởi vì RSS được thiết kế chỉ để xem các dữ liệu được chọn lọc. Nếu không có RSS, người sử dụng sẽ phải kiểm tra website của bạn hàng ngày để cập nhật những thông tin mới nhất. Đối với nhiều người dùng thì việc này có thể tốn của họ nhiều thời gian quý giá. Vì vậy với một nguồn cung cấp tin RSS (Còn được gọi là news feed hay RSS feed) họ có thể kiểm tra website của bạn nhanh hơn bằng cách sử dụng một công cụ tổng hợp RSS (có thể là một website hoặc một chương trình thu thập và sắp xếp các RSS feed).

RSS đặc biệt rất hữu ích cho các website mà nội dung của nó được cập nhật thường xuyên, như :
- Các website tin tức : liệt kê các tin tức mới nhất với tựa đề, ngày tháng và mô tả.
- Các doanh nghiệp : liệt kê các tin tức mới nhất và thông tin sản phẩm
- Ứng dụng lịch : Liệt kê các sự kiện sắp diễn ra hoặc quan trọng
- Cập nhật website : Liệt kê các trang thay đổi hoặc trang mới
Với trào lưu blog (nhật ký cá nhân trên web) hiện nay thì RSS cũng được dùng vào việc cập nhật các thông tin trong blog.

Thực ra RSS đã ra đời từ năm 1997, nhưng mãi đến vài năm trở lại đây nó mới được ứng dụng rộng rãi trên web vì nhu cầu cần thiết phải chắt lọc, tổng hợp thông tin trong biển thông tin trên internet hiện nay. RSS có rất nhiều phiên bản khác nhau, tuy nhiên lại không có chuẩn chính thức nào cho nó. Hiện nay có khoảng 50% nguồn tin RSS là sử dụng RSS 0.91, 25% là RSS 1.0 và 25% còn lại chia cho RSS 0.9x và RSS 2.0.

Các trình duyệt web hiện nay đều hỗ trợ rất tốt việc đọc các nguồn tin RSS như FireFox, Internet Explorer. Hoặc nếu trình duyệt của bạn chưa hỗ trợ RSS thì bạn có thể theo dõi và đọc các nguồn tin RSS từ các website khác như Google Reader, Yahoo !, Bloglines hoặc sử dụng thêm các add-on bổ sung cho trình duyệt có khả năng đọc tin RSS. Hình dưới đây minh hoạ các nguồn tin RSS lấy từ trang VnExpress, sử dụng tính năng đọc tin RSS tích hợp sẵn trong trình duyệt FireFox :

Còn đây là giao diện chính của Google Reader, một website cho phép bạn xem và quản lý các nguồn tin RSS ngay trên web mà không cần cài đặt thêm bất cứ chương trình nào :

Tóm lại RSS đã và đang xuất hiện khắp mọi nơi trên web. Hàng nghìn website đang sử dụng RSS và ngày càng nhiều người hiểu rõ hơn lợi ích hàng ngày mà RSS đem lại. Với RSS, thông tin bạn quan tâm trở dễ dàng theo dõi và cập nhật hơn, và các website có thể phân phối nội dung của mình đến các nhóm người dùng khác nhau dễ dàng hơn. Nhiều trang báo điện tử ở Việt Nam hiện nay đã sử dụng RSS để người đọc dễ dàng cập nhật thông tin như VnExpress, Thanh Niên, …

Tham khảo thêm :
- Bài học về RSS tại W3Schools: http://www.w3schools.com/rss/rss_intro.asp
- Lịch sử RSS và các đặc tả RSS: http://blogs.law.harvard.edu/tech/rssVersionHistory
- Các công cụ, tài nguyên liên quan đến RSS: http://www.rss-tools.com/

3. Ảo hoá
Trong một vài năm trở lại đây, công nghệ ảo hoá (virtualization) đã nổi lên và có ứng dụng rất thực tế chứ không hề “ảo” chút nào. Vậy ảo hoá là gì? Ảo hoá là một lớp trìu tượng tách biệt phần cứng vật lý với hệ điều hành nhằm tận dụng hiệu quả hơn và linh hoạt hơn nguồn tài nguyên và sức mạnh ngày càng tăng của phần cứng máy tính.
Công nghệ ảo hoá cho phép nhiều máy ảo (virtual machine), mỗi máy có thể chạy một hệ điều hành khác nhau, có thể chạy một cách độc lập và song song trên cùng một máy tính vật lý. Mỗi máy ảo này đều có riêng một tập phần cứng ảo (như RAM, CPU, NIC, …) mà hệ điều hành và các ứng dụng được chạy trên đó. Hệ điều hành nhìn thấy một tập phần cứng tiêu chuẩn, ổn định mà không phụ thuộc vào các thành phần phần cứng thật sự.
Các máy ảo này được gói gọn vào các tập tin, vì vậy có thể dễ dàng lưu trữ, sao chép hay phân phối một máy ảo. Các hệ thống đầy đủ (bao gồm các ứng dụng, hệ điều hành, BIOS và phần cứng ảo) có thể được di chuyển nhanh chóng từ một máy chủ vật lý này đến máy chủ vật lý khác mà không mất thời gian ngừng trệ (downtime) để bảo trì máy chủ vật lý.
Công nghệ ảo hoá được giới thiệu lần đầu tiên vào những năm 1960 cho phép phân chia phần cứng của các máy tính lớn (mainframe) - nguồn tài nguyên đắt đỏ và khan hiếm lúc bấy giờ. Qua thời gian, máy tính mini và máy tính cá nhân (PC) được trang bị phần cứng có khả năng xử lý mạnh hơn, nhanh hơn và hiệu quả hơn, vì vậy đến những năm 1980 ảo hoá không còn được sử dụng rộng rãi.
Trong những năm 1990, các nhà nghiên cứu nhận thấy công nghệ ảo hoá có thể giải quyết các vấn đề liên quan tới sự bùng nổ của phần cứng ngày càng rẻ như việc sử dụng dưới hiệu suất, chi phí bảo trì ngày càng tăng và cả nguy cơ bảo mật.
Ngày nay công nghệ ảo hoá là một trong những công nghệ hàng đầu, không những giúp cho doanh nghiệp tận dụng hiệu quả hơn cơ sở hạ tầng, tài nguyên, tiết giảm chi phí mà còn là một công cụ rất hữu ích cho những nhà phát triển phần mềm, kiểm thử phần mềm trong việc chạy, kiểm tra phần mềm của họ trên nhiều nền tảng hệ điều hành khác nhau, nhiều môi trường, cấu hình khác nhau.
Hiện nay phổ biến hai phần mềm ảo hoá cho PC phổ biến là VMWare Workstation của hãng VMWareVirtual PC của Microsoft. Phần mềm của VMWare đã có từ khá lâu, còn phần mềm của Microsoft thì mới có cách đây khoảng hơn 2 năm.Tuy nhiên Virtual PC chạy khá nhẹ và tiêu tốn ít RAM, tài nguyên CPU hơn VMWare Workstation. Hơn nữa Virtual PC lại được Micrsoft cho phép sử dụng miễn phí. Dưới đây là vài hình ảnh minh hoạ về hai chương trình này.

Windows XP ảo chạy trên Windows 2000 (Microsoft Virtual PC)


Windows 98 ảo chạy trên Windows 2000 (Microsoft Virtual PC)


Windows XP ảo chạy trên Windows XP thật (VMWare Workstation)


Nếu bạn viết một phần mềm cần tương thích với nhiều phiên bản khác nhau của một hệ điều hành hoặc chạy trên các hệ điều hành khác nhau thì phần mềm ảo hoá thực sự giúp ích rất nhiều. Bạn có thể cài nhiều hệ điều hành lên nhiều máy ảo khác nhau trên một máy tính vật lý duy nhất, chuyển chương trình của bạn vào các máy ảo để chạy thử và kiểm tra mà không cần phải có nhiều máy tính, không phải cài nhiều hệ điều hành trên một máy tính vật lý, quả là một công cụ rất hiệu quả và tiết kiệm!

Tham khảo thêm:
- Các sản phẩm ảo hoá của VMWare: http://www.vmware.com/
- Virtual PC của Microsoft: http://www.microsoft.com/windows/virtualpc/default.mspx
- Website chuyên cập nhật các tin tức, công nghệ, xu hướng về ảo hoá: http://www.virtualization.info/

AJAX, RSS, ảo hoá đã và đang là những xu hướng công nghệ nổi bật và được ứng dụng rộng rãi hiện nay, đem lại nhiều lợi ích cho người sử dụng. Vì vậy, việc nắm bắt, ứng dụng và khai thác những công nghệ này sẽ ít nhiều mang lại hiệu quả cho công việc của bạn, và quan trọng hơn bạn sẽ không bị lạc hậu về công nghệ. Hãy tự tin nắm bắt những công nghệ mới!
URL của bài viết này::http://www.vnschool.net/modules.php?name=News&file=article&sid=1061
© Cong ty Cong Nghe Tin hoc Nha truong contact: sales@schoolnet.vn