ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Họ và tên: Nguyễn Cao Phong
TÊN KHÓA LUẬN:
ỨNG DỤNG SEMANTIC WEB ĐỂ XÂY
DỰNG CÔNG CỤ TỔNG HỢP RSS TỪ CÁC
TRANG MẠNG XÃ HỘI VÀ LƯU TRỮ
DƯỚI DẠNG RDF
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01.01
KHÓA LUẬN TỐT NGHIỆP THẠC SĨ
Thành Phố. Hồ Chí Minh – Năm 2015
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Họ và tên: Nguyễn Cao Phong
TÊN KHÓA LUẬN:
ỨNG DỤNG SEMANTIC WEB ĐỂ XÂY
DỰNG CÔNG CỤ TỔNG HỢP RSS TỪ
CÁC TRANG MẠNG XÃ HỘI VÀ LƯU
TRỮ DƯỚI DẠNG RDF
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01.01
GIẢNG VIÊN PHỤ TRÁCH: GS.TSKH HOÀNG VĂN KIẾM
Thành Phố. Hồ Chí Minh – Năm 2015
MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 1
DANH MỤC CÁC BẢNG 2
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 3
MỞ ĐẦU 4
Chương 1 – TỔNG QUAN SEMATIC WEB 6
1.1.Tổng quan về web ngữ nghĩa 6
1.2. Web ngữ nghĩa là gì 7
1.3. Văn bản và cơ sở dữ liệu 9
1.4. Tài liệu XML với miền đơn 10
1.5. Kiến trúc web ngữ nghĩa 10
Chương 2 – MÔ HÌNH RSS 12
2.1. Giới thiệu về RSS 12
2.2. Giới thiệu về chuẩn RDF 12
2.3. Quá trình hình thành của các phiên bản RSS 13
2.4. Vấn đề không tương thích giữa các phiên bản RSS 16
2.5. Cấu trúc của RSS feed 16
2.5.1. RSS 0.91 17
2.5.2. RSS 0.92 21
2.5.3. RSS 1.0 25
2.5.4. RSS 2.0 29
2.5.5. Ánh xạ một số thành phần của RSS 0.9x/2.0 sang RSS 1.0 35
2.5.6. Sự biến đổi của các thành phần qua các phiên bản RSS 36
Chương 3 – CÀI ĐẶT VÀ THỬ NGHIỆM 38
3.1. Giới thiệu 38
3.2. Hướng dẫn sử dụng 38
3.2.1. Chuyển dữ liệu RSS 2.0 sang RDF (RSS 1.0) 39
Chương 4 – KẾT LUẬN 41
TÀI LIỆU THAM KHẢO 42
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
RSS 0.91: Rich Site Summary
RSS 0.9 và 1.0: RDF Site Summary
RSS 2.0.0: Really Simple Syndication
1
DANH MỤC CÁC BẢNG
Bảng 1. So sánh RSS 0.9x/2.0 sang RSS 1.0
Bảng 2. Sự biến đổi của các thành phần qua các phiên bản RSS
2
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1: Cấu trúc một tài liệu RSS 1.0 đơn giản
Hình 2: Một RDF đơn giản
Hình 3. Một đề xuất nguồn gốc Web với CERN (CERN-Hội đồng Châu Âu nghiên cứu hạt nhân)
Hình 4. Sơ đồ phát triển tính thông minh của dữ liệu
Hình 5. Kiến trúc của web ngữ nghĩa
Hình 6. Cây cấu trúc các thành phần của RSS 0.91
Hình 7. Cây cấu trúc các thành phần của RSS 0.92
Hình 8. Cây cấu trúc các thành phần của RSS 1.0
Hình 9. Cây cấu trúc các thành phần của RSS 2.0
Hình 10. Giao diện chính của chương trình
Hình 11. Giao diện hiển thị nội dung tập tin RDF
Hình 12. Nội dung tâp tin RSS 2.0
Hình 13. Kết quả tổng hợp từ trang vnexpress.net, vietnamnet.vn, tuoitre.vn
3
MỞ ĐẦU
RSS là một công nghệ internet giúp người dùng có thể đọc được những tin tức cập nhật
mới nhất từ một hoặc nhiều website cùng lúc mà không cần vào trực tiếp trang web đó.
RSS có thể là từ viết tắt của một trong các thuật ngữ sau:
Really Simple Syndication: Dịch vụ cung cấp thông tin đơn giản.
Rich Site Summary, RDF Site Summary: Tóm tắt thông tin phong phú, tóm tắt thông tin
theo định dạng RDF.
RDF – Resource Discovery Framework: là định dạng của phiên bản RSS 1.0.
RSS là một tiêu chuẩn dựa trên định dạng XML cung cấp nội dung cập nhật thường
xuyên. Các nhà cung cấp nội dung web sử dụng RSS để tạo ra dữ liệu và phân phối
nguồn dữ liệu đến độc giả.
Một tập tin RSS đơn giản chỉ là một danh sách các đối tượng được mô tả, gồm có: tiêu đề
(title), nội dung tóm lược (description), và một liên kết đến trang chính (link) của nó.
Những thông tin khác như ngày tháng, tác giả, cũng có thể được thêm vào.
Một số phiên bản của RSS: Các phiên bản của RSS gồm có 0.90 và 0.91 (tạo bởi
Netscape), 1.0 (bởi RSS-DEV), 0.9x và 2.0 (bởi UserLand Software).
Hình 1: Cấu trúc một tài liệu RSS 1.0 đơn giản
4
RDF là ngôn ngữ nền tảng của của Semantic Web. Nó là một ngôn ngữ được sử dụng để
mô tả data, metadata, hay thẩm chí là ngôn ngữ dữ liệu khác. RDF sử dụng một định
dạng dữ liệu đồ thị (graph).
RDF dựa trên ý tưởng là mỗi mẫu dữ liệu (data item) sẽ có một định dang web duy nhất,
gọi là URI (Uniform Resource Identifier), và mỗi mẫu dữ liệu có thể kết nối với các item
khác.
Hình 2: Một RDF đơn giản
5
Chương 1 – TỔNG QUAN SEMATIC WEB
1.1.Tổng quan về web ngữ nghĩa
Web ngữ nghĩa là thế hệ Web mới, đang được phát triển và sẽ xuất hiện trong tương lai
gần. Hệ thống Web mới này sẽ dần thay thế Web hiện tại song không có nghĩa là hoàn
toàn khác hệ thống Web hiện tại. Web ngữ nghĩa được phát triển trên hệ thống Web hiện
tại bằng cách bổ sung thêm ngữ nghĩa cho các tài nguyên Web mà máy tính có thể hiểu
và tăng khả năng xử lý tự động.
World Wide Web (gọi tắt là Web) đã trở thành một kho tàng thông tin khổng lồ của nhân
loại và một môi trường chuyển tải thông tin không thể thiếu được trong thời đại công
nghệ thông tin ngày nay. Sự phổ biến và bùng nổ thông tin trên Web cũng đặt ra một
thách thức mới là làm thế nào để khai thác được thông tin trên Web một cách hiệu quả,
mà cụ thể là làm sao để máy tính có thể trợ giúp xử lý tự động được chúng. Muốn vậy,
trước hết máy tính phải hiểu được thông tin trên các tài liệu Web, trong khi ở thế hệ Web
hiện tại thông tin được biểu diễn dưới dạng chỉ con người mới đọc hiểu được. Các
chuyên gia dự đoán, bề nổi của web (surface web) chứa khoảng 1 đến 2 tỷ trang tài liệu
trong khi, ở phần sâu của web thì chứa đến 550 tỷ trang tài liệu. Có khoảng 200.000
website có tầng thông tin sâu, khoảng hơn 1/2 số thông tin này nằm trong các cơ sở dữ
liệu có chủ đề riêng biệt. Khoảng 95% thông tin trong các website có tầng thông tin sâu
cho phép đa số người dùng có thể khai thác miễn phí. Nhưng hiện nay, hầu hết các công
cụ tìm kiếm tài liệu trên web được coi là tìm kiếm hiệu quả cũng chủ yếu tìm kiếm được
trên bề nổi của web. Trong khi ở tầng sâu của web chứa một khối lượng thông tin khổng
lồ và thường rất có giá trị cho các nhà nghiên cứu, các học giả hay đơn thuần là những
người thích tìm hiểu. Bên cạch đó, các trang web hiện nay có rất ít đường liên kết với các
trang web khác nên việc tìm kiếm là khó khăn. Ngoài ra, thông tin tìm kiếm được không
theo chủ đề mà chỉ là vấn đề tìm thoả theo từ khoá đơn thuần, kết quả tìm kiếm phải do
con người chọn lại theo chủ đề mong muốn. Chính những vấn đề này đã thúc đẩy sự ra
đời của ý tưởng Web ngữ nghĩa (Semantic Web), một thế hệ mới của Web, mà chính cha
đẻ của World Wide Web là Tim Berners-Lee đề xuất vào năm 1998. Web ngữ nghĩa là sự
6
mở rộng của Web hiện tại mà trong đó thông tin được định nghĩa rõ ràng sao cho con
người và máy tính có thể cùng làm việc với nhau một cách hiệu quả hơn. Mục tiêu của
Web có ngữ nghĩa là để phát triển các chuẩn chung và công nghệ cho phép máy tính có
thể hiểu được nhiều hơn thông tin trên Web, sao cho chúng có thể hỗ trợ tốt hơn việc
khám phá thông tin (thông tin được tìm kiếm nhanh chóng và chính xác hơn), tích hợp dữ
liệu (dữ liệu liên kết động), và tự động hóa các công việc.
1.2. Web ngữ nghĩa là gì
Tim Berners-Lee đã đưa ra hai vấn đề của web ngữ nghĩa, đó là tạo cho Web một môi
trường cộng tác tốt hơn và vấn đề thứ hai là máy có thể hiểu và xử lý tự động các thông
tin trên Web.
7
Hình 3. Một đề xuất nguồn gốc Web với CERN (CERN-Hội đồng Châu Âu nghiên cứu hạt nhân)
Hình 1.1. biểu diễn cái nhìn bản chất nguồn gốc Web của Tim Berners-Lee. Cái nhìn này
rất phức tạp và phức tạp hơn nhiều so với việc lọc ra các trang HTML từ các dịch vụ
Web hiện tại. Nhưng trong hình này, có các mối quan hệ giữa các thông tin như:
"includes", "describes", "rote", đây là các mối quan hệ giữa các tài nguyên mà trong web
hiện tại không có. Và chính các quan hệ này đưa vào web ngữ nghĩa là cần thiết, để máy
có thể hiểu và xử lý thông tin tự động trên web. Các quan hệ này được gọi là các siêu dữ
liệu. Công nghệ để có được các siêu dữ liệu này là công nghệ RDF (Resource
Description Framework).
Để có thể tạo ra web có dữ liệu mà máy có thể xử lý được, trước hết phải thay đối mô
hình trong cách chúng ta nghĩ về dữ liệu. Từ trước đến nay, dữ liệu bị khoá ngay trong
8
các ứng dụng độc quyền. Dữ liệu được coi như thứ yếu để xử lý dữ liệu. Thái độ không
đúng này bộc lộ những sai sót cơ bản trong luận cứ gốc bằng việc thiết lập sự phụ thuộc
giữa xử lý và dữ liệu. Hay nói cách khác, phần mềm tốt thì hoàn toàn phụ thuộc vào dữ
liệu tốt. Với các hệ tính toán chuyên nghiệp thì ngay khi bắt đầu thực hiện, vấn đề dữ liệu
là rất quan trọng, nó phải được xác minh và bảo vệ. Với Web, XML và xu thế Web ngữ
nghĩa đang nổi lên thì có sự thay đổi của sức mạnh đang di chuyển từ các ứng dụng sang
dữ liệu. Vấn đề này cũng cho chúng ta mấu chốt để hiểu Web ngữ nghĩa. Con đường để
máy có thể xử lý dữ liệu chủ yếu là tạo ra dữ liệu thông minh hơn chứ không phải là các
xử lý thông minh. Hình 1.2 biểu diễn sự phát triển tính thông minh của dữ liệu theo thời
gian.
Hình 4. Sơ đồ phát triển tính thông minh của dữ liệu
Hình 1.2 chỉ ra sự phát triển liên tục của tính thông minh dữ liệu có bốn bậc quan trọng.
Bốn bậc này biểu diễn từ dữ liệu có tính thông minh thấp nhất đến dữ liệu đã có thông tin
đủ ngữ nghĩa để máy thực hiện suy luận về nó.
1.3. Văn bản và cơ sở dữ liệu
Bậc đầu tiên, hầu hết dữ liệu ở bậc này được sở hữu độc quyền cho một ứng dụng.
Do vậy tính thông minh là nằm trong ứng dụng đó chứ không phải là trong dữ liệu.
9
1.4. Tài liệu XML với miền đơn
Ở bậc này, dữ liệu đạt được là: ứng dụng độc lập với miền riêng. Bây giờ, dữ liệu đủ
thông minh để có thể di chuyển giữa các ứng dụng trong một miền đơn. Ví dụ: các chuẩn
XML trong chăm sóc sức khoẻ, công nghiệp bảo hiểm, hoặc công nghiệp bất động sản.
1.5. Kiến trúc web ngữ nghĩa
Web ngữ nghĩa được xây dựng trên nền hệ thống web hiện tại. Web ngữ nghĩa được coi
là sự mở rộng của Web hiện tại có bổ sung thêm ngữ nghĩa vào dữ liệu trên web. Hình
1.3 chỉ ra sơ đồ kiến trúc của Web ngữ nghĩa.
Hình 5. Kiến trúc của web ngữ nghĩa
Từ sơ đồ kiến trúc của Web ngữ nghĩa, ta thấy có bảy tầng kiến trúc. Trong đó, với hệ
thống Web hiện tại (World Wide Web) là đang ở tầng thứ hai.
Unicode: là một bảng mã chuẩn chung có đủ các ký tự để thống nhất sự giao tiếp trên tất
cả các quốc gia, đáp ứng tính nhất quán toàn cầu của web.
URI (Uniform Resource Identifier):là kí hiệu nhận dạng Web đơn giản. Cụ thể, nó là
một xâu ngắn cho phép nhận dạng tài nguyên Web như: với các xâu bắt đầu với "http:"
hoặc "ftp:" mà chúng ta thường thấy trên World Wide Web. Bất kỳ một người nào cũng
có thể tạo một URI, và sở hữu chúng và chúng là một công nghệ cơ sở để xây dựng một
10
hệ thống Web toàn cầu. Hệ thống World Wide Web được xây dựng trên chúng và bất kỳ
cái gì mà có một URI thì được coi là "trên Web".
URL (Uniform Resource Locator) là một dạng đặc biệt của URI, cụ thể nó là một địa
chỉ trên mạng.
URIref (URI reference) là một URI cùng với một phần nhận dạng tuỳ ý ở cuối. Ví dụ, ta
có một URIref : " bao gồm một URI:
" và một phần nhận dạng "Ontology" được cách nhau bởi
kí hiệu #.
Theo như quy ước,Name space các không gian tên là những tài nguyên mà tạo ra các đa
tài nguyên, thường là những URI được kết thúc bởi kí hiệu #. Ví dụ:
" là một không gian tên. Các tài nguyên không có
URIref thì được gọi là các nút trắng; một nút trắng chỉ ra sự tồn tại của tài nguyên không
có sự đề cập rõ ràng về tham chiếu URIref của tài nguyên.
11
Chương 2 – MÔ HÌNH RSS
2.1. Giới thiệu về RSS
RSS là một định dạng tập tin thuộc họ XML dùng trong việc chia sẻ tin tức web (web
syndication), được dùng bởi nhiều website tin tức và weblog.
• RSS gồm các phiên bản sau:
• Rich Site Summary (RSS 0.91)
• RDF Site Summary (RSS 0.9 và 1.0)
• Really Simple Syndication (RSS 2.0.0)
Định dạng RSS cung cấp nội dung web, tóm lược nội dung web cùng với các liên kết đến
phiên bản đầy đủ của nội dung tin đó, và các siêu dữ liệu (metadata) khác. Thông tin này
được cung cấp dưới dạng một tập tin XML được gọi là một RSS feed (webfeed, RSS
stream, hay RSS channel). Cùng với việc hỗ trợ cung cấp chia sẻ thông tin, RSS cho phép
những độc giả thường xuyên của một website có thể theo dõi các cập nhật của site đó
dùng một aggregator.
Một chương trình gọi là một feed reader hay aggregator có thể kiểm tra xem một website
có hỗ trợ RSS cho người dùng không và, nếu có, hiển thị những bài viết cập nhật nhất mà
nó tìm thấy từ website đó.
Trên các trang web, RSS feeds thường được liên kết bằng một hình chữ nhật màu cam
, có thể kèm theo các kí tự XML hay RSS .
2.2. Giới thiệu về chuẩn RDF
RDF viết tắt của Resource Description Framework, là một chuẩn dùng để mô tả thông tin
do W3C đưa ra nhằm tạo ra các metadata.
Hiện nay để tra cứu thông tin trên Internet chúng ta vẫn thường dùng các công cụ tìm
kiếm như: Google, Altavista, Vinaseek…Việc thực hiện tìm kiếm thông tin trên Internet
của các công cụ này hoàn toàn dựa trên sự xuất hiện các từ tìm kiếm trong tài liệu và kết
12
hợp với dự đoán một cách thông minh các ý đồ tìm kiếm của người sử dụng để đưa ra các
kết quả tìm kiếm phù hợp. Và việc thực hiện này được thực hiện hoàn toàn tự động nhờ
các phần mềm, các robots dùng để đánh chỉ mục các tài liệu bằng các kỹ thuật thường
được gọi là Spider. Với các công cụ sử dụng phương pháp tìm kiếm như trên không thể
đảm bảo kết quả tìm kiếm sẽ thỏa mãn người dùng một cách nhanh chóng và cũng không
cho phép người dùng có thể thực hiện tìm kiếm theo các metadata như tìm kiếm một
quyển sách trong thư viện được. Chính vì lý do này, với mong muốn các tài liệu xuất bản
trên Internet có thể được biên mục, tìm kiếm một cách nhanh chóng thuận tiện, W3C đưa
ra khuyến nghị sử dụng RDF cho mỗi trang Web. Thực chất RDF là các thẻ mô tả về tài
liệu đó ví dụ Tiêu đề của tài liệu (Title), Thông tin mô tả tài liệu (Description), Nơi xuất
bản (Publisher)…Các thông tin này không được đầy đủ bằng các thông tin mô tả một
quyển sách nhưng nó cũng đủ để mô tả một tài liệu thông thường.
2.3. Quá trình hình thành của các phiên bản RSS
Trước RSS, có nhiều định dạng khác cũng từng được dùng cho vấn đề chia sẻ thông tin,
nhưng không có định dạng nào được dùng rộng rãi cho đến ngày nay, vì hầu hết chủ yếu
dùng cho từng dịch vụ đơn. Ví dụ, năm 1997 Microsoft tạo ra Channel Definition Fomat
cho chức năng Active Channel của Internet Explorer 4.0. Dave Winer cũng đã thiết kế
định dạng XML cho việc chia sẻ thông tin riêng cho Scripting News weblog, ra đời năm
1997.
RDF (Resource Description Framework) Site Summary, phiên bản đầu tiên của RSS,
được tạo ra bởi Dan Libby của Netscape vào tháng 3/1999 dùng cho cổng điện tử My
Netscape. Phiên bản này trở thành RSS 0.9.
Tháng 7/1999, đáp trả lại các đề nghị và góp ý, Libby đưa ra bản phác thảo ban đầu đặt
tên là RSS 0.91 (RSS – Rich Site Summary), nhằm đơn giản hóa định dạng và tích hợp
một số phần trong định dạng scriptingNews của Winer. Từ đó, Libby đề xuất ra định
dạng tương tự - RSS 1.0 thông qua cái gọi là Futures Document.
Nhóm RSS-DEV tiếp tục đưa ra RSS 1.0 vào tháng 12/2000 dựa trên bản phác thảo góp ý
sửa đổi cho bản đặc tả kĩ thuật đưa ra bởi Tristan Louis. Giống với RSS 0.9 (không phải
13
0.91) bản này dựa vào đặc tả kĩ thuật của RDF, nhưng có tính khả thi hơn, với nhiều mục
bắt nguồn từ các từ vựng metadata chuẩn như Dublin Core.
Mười chín ngày sau, Winer cho ra phiên bản RSS 0.92, và một vài chỉnh sửa có tính
tương thích với các thay đổi của RSS 0.91 dựa trên cùng bản góp ý. Tháng 4/2001, ông
đưa ra bản phác thảo của RSS 0.93 mà hầu hết là giống với bản 0.92. Bản thảo RSS 0.94
ra đời vào tháng 8, phục hồi lại những thay đổi trong bản 0.93, và thêm vào thuộc tính
(attribute) type cho thành phần (element) description.
Tháng 9/2002, Winer cho ra bản cuối cùng của RSS 0.92, bây giờ gọi là RSS 2.0 và nhấn
mạnh "Really Simple Syndication" là nghĩa của ba kí tự viết tắt RSS. Đặc tả kĩ thuật của
RSS 2.0 loại bỏ thuộc tính type từng được thêm vào trong RSS 0.94 và cho phép người
dùng có thể thêm thành phần mở rộng nhờ dùng XML namespaces. Nhiều phiên bản của
RSS 2.0 đã được ra đời, nhưng chỉ số của phiên bản thì vẫn không thay đổi.
Tháng 11/2002, Thời báo New York đã bắt đầu cung cấp cho người đọc khả năng xem
các tin có hỗ trợ RSS feeds liên quan đến nhiều chủ đề khác nhau. Tháng 1/2003, David
Winer đã gọi việc dùng RSS của Thời báo New York Time là một "điểm nhấn" (tipping
point) trong việc đưa định dạng RSS trở thành một chuẩn.
Tháng 7/2003, Winer và Userland Software được cấp quyền sở hữu đặc tả kĩ thuật RSS
2.0, Trung tâm Berkman về Xã hội và Internet của Harvard.
Tháng 1/2005, Sean B.Palmer và Christopher Schmidt đã cho ra bản sơ thảo đầu tiên của
RSS 1.1 là bản sửa lỗi của RSS 1.0. Nó loại bỏ những đặc tính ít dùng, đơn giản hóa cú
pháp và nâng cao đặc tả kĩ thuật dựa vào đặc tả RDF. Tháng 8/2005, Jonathan Avidan đã
đưa ra dự án cho riêng mình nhằm tạo một “RSS 3” thế nhưng không nhận được sự phản
hổi nào từ bất kì ai trong công nghệ RSS và dự án đã thất bại.
Tháng 11/2005 Microsoft đã đưa ra RSS chia sẻ thông tin mở rộng đơn giản và gọi là:
“Real Simple Synchronization” bởi Colm Smyth.
Tháng 12/2005 Microsoft công bố đặc tả RSS 2.0, cũng theo hãng thì phiên bản mới có
tên gọi là SSE (Simple Sharing Extensions). Đặc tả mới cho RSS được cung cấp miễn phí
14
theo giấy phép bản quyền của Creative Commons. Vì vậy, phiên bản mới này cho phép
những người sử dụng khác có thể sửa đổi, thêm bớt cũng như xây dựng những đặc tả mới
khác dựa trên SSE theo đúng giấy phép bản quyền, thậm chí phục vụ cho mục đích kinh
doanh.
Thực ra, RSS về cơ bản chỉ là cung cấp tin tức một chiều. Trong khi đó để giải quyết vấn
đề chia sẻ thông tin phức tạp, chúng ta cần phải cung cấp và đồng bộ thông tin 2 chiều
hay thậm chí là nhiều chiều. Do đó, sử dụng RSS cho mục đích đồng bộ hóa không còn là
tùy chọn nữa.
Xu hướng của Microsoft là kết hợp RSS (Really Simple Syndication) và OPML (Outline
Processor Markup Language ) nhằm sử dụng khả năng vốn có của RSS và giữ cho xu
hướng "cực kì đơn giản" của RSS có thể làm việc tốt trong môi trường cung cấp thông tin
trong mạng. Kết hợp cả 2 ý tưởng này lại hứa hẹn sẽ đem lại nhiều lợi ích cho người sử
dụng.
SSE cho phép nhân bản bất cứ dữ liệu độc lập nào từ lịch công tác, danh sách các đối tác
cho đến danh sách trong thư mục Favourite…Những nguồn tin này đều có thể được xuất
bản là nguồn tin RSS. Không những thế, một đặc điểm nổi bật khác của SSE là sao chép
dữ liệu tới bất kì một ứng dụng nào đã tích hợp SSE một cách đơn giản, nhanh chóng. Ví
dụ: SSE có thể được sử dụng để chia sẻ lịch làm việc với đồng nghiệp. Nếu lịch làm việc
của bạn được xuất bản theo SSE, khi bạn thay đổi lịch làm việc của mình thì lịch làm
việc trên máy đồng nghiệp cũng thay đổi tương ứng và ngược lại. Kết quả là, đồng
nghiệp có thể xem được kế hoạch công tác của bạn và đặt các cuộc hẹn mới mà không bị
ảnh hưởng tới kế hoạch của họ…
Ý tưởng đằng sau SSE chính là cho phép đồng bộ dữ liệu đa hướng và đồng bộ dữ liệu đa
hướng xuyên suốt nhiều ứng dụng. Một điều cần lưu ý là Microsoft mới chỉ phát hành
đặc tả SSE, hiện thời chưa có sản phẩm nào của Microsoft cũng như các hãng khác ứng
dụng công nghệ này. Tuy nhiên, một số công ty cũng đang hứa hẹn sẽ triển khai ứng
dụng mới của họ trên SSE.
15
SSE là một bước tiến lớn của RSS. Khả năng cung cấp nguồn tin đa hướng và đồng bộ
dữ liệu giữa các ứng dụng khác nhau thật sự là một cuộc cách mạng.
2.4. Vấn đề không tương thích giữa các phiên bản RSS
Như đã nói ở trên, có nhiều phiên bản khác nhau của RSS bao gồm:
• RDF hay RSS 1.*, bao gồm các phiên bản sau đây:
• RSS 0.90 là phiên bản của Netscape. Bản RSS này được gọi là: tóm lược thông tin
định dạng RDF, nhưng được dựa trên bản nháp lúc đầu của chuẩn RDF, và nó
không tương thích với chuẩn RDF cuối cùng.
• RSS 1.0 và 1.1 là một định dạng mở của nhóm RSS-DEV Working Group, thay
thế RSS 0.90. RSS 1.0 là một khuôn dạng RDF như RSS 0.90 nhưng dựa trên
chuẩn RDF cuối cùng.
• Các phiên bản RSS 2.* (khởi tạo bởi UserLand, bây giờ là Harvard) bao gồm các
phiên bản sau:
• RSS 0.91 là phiên bản đơn giản hóa được phát hành bởi Netscape. Phiên bản này
gọi là: Rich Site Summary. Nó không phải là định dạng RDF nhưng mà khá dễ sử
dụng. RSS 0.91 chứa nhiều thành phần cơ bản nhất của RSS.
• RSS 0.92 đến RSS 0.94 là mở rộng của định dạng RSS 0.91 và nó không tương
thích với RSS 0.90 (RSS 0.90 có những đặc tả kĩ thuật khác biệt).
• RSS 2.0.1 có phần cốt lõi là: RSS 2.0. RSS 2.0.1 đã từng được tuyên bố là sẽ kết
thúc, không mở rộng nữa, nhưng mà nó vẫn được bổ sung một chút sau khi phát
hành mà không thay đổi số của phiên bản. Phiên bản RSS này là viết tắt của:
Really Simple Syndication. Thay đổi lớn trong phiên bản này là: cơ chế mở rộng
rõ ràng sử dụng không gian tên của XML.
2.5. Cấu trúc của RSS feed
Cấu trúc chung của một RSS feed:
16
• Channel (title, description, URL, creation date, v.v.)
• Image
• Item (title, description, URL, v.v.)
• Item (title, description, URL, v.v.)
• Item (title, description, URL, v.v.)
• …
2.5.1. RSS 0.91
Hình 6. Cây cấu trúc các thành phần của RSS 0.91
• Thành phần (element) đầu tiên của một tài liệu RSS 0.91 là: <rss
version="0.91">.
• Theo sau là thành phần channel, chứa toàn bộ nội dung của feed và tất cả các siêu
dữ liệu có liên quan. Các thành phần con (subelement) bắt buộc trong channel gồm:
• title: Tiêu đề của feed. Trong hầu hết các trường hợp, tiêu đề này trùng với tiêu
đề của trang web, có chiều dài tối đa là 100 kí tự.
• link: Địa chỉ URL của trang web, tối đa 500 kí tự.
17
• description: Mô tả channel, chỉ là văn bản đơn giản, không chứa định dạng
HTML hoặc ngôn ngữ đánh dấu (markup language) khác.
• language: Mã ngôn ngữ của feed.
• image: Mô tả biểu tượng (icon) kèm theo của feed, có các thành phần con:
+ url: Địa chỉ URL của ảnh (định dạng GIF, JPG, hoặc PNG), tối đa 500 kí
tự.
+ title: Thông tin mô tả về ảnh, tối đa 100 kí tự.
+ link: Địa chỉ URL mà ảnh đó liên kết đến, tối đa 500 kí tự.
+ width và height: độ dài và độ rộng của ảnh, đây là hai thành phần tùy
chọn.
• Ngoài ra còn có các thành phần tùy chọn khác, đa số các thành phần này là tĩnh và
nội dung của chúng không thay đổi: copyright, managingEditor,
webMaster, rating, pubDate, lastBuildDate, docs, skipDays,
skipHours, textInput (title, description, name, link).
• Thành phần item: chứa nội dung chính của feed, gồm các thành phần con:
+ title: Tiêu đề của mẩu tin, là thành phần bắt buộc, tối đa 100 kí tự.
+ link: Địa chỉ URL của mẩu tin, là thành phần bắt buộc, tối đa 500 kí tự.
+ description: Mô tả tóm tắt nội dung của mẩu tin, chỉ là văn bản đơn
giản (không chứa HTML), là thành phần tùy chọn, tối đa 500 kí tự.
• Lưu ý : RSS 0.91 giới hạn chỉ chứa 15 thành phần item trong một feed.
• Ví dụ :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="0.91">
18
<channel>
<title>RSS0.91 Example</title>
<link> /> <description>This is an example RSS0.91 feed</description>
<language>en-gb</language>
<copyright>Copyright 2002, Oreilly and Associates.</copyright>
<managingEditor></managingEditor>
<webMaster></webMaster>
<rating></rating>
<pubDate>03 Apr 02 1500 GMT</pubDate>
<lastBuildDate>03 Apr 02 1500 GMT</lastBuildDate>
<docs> /> <skipDays>
<day>Monday</day>
</skipDays>
<skipHours>
<hour>20</hour>
</skipHours>
<image>
<title>RSS0.91 Example</title>
<url> /> <link> /> <width>88</width>
19
<height>31</height>
<description>Computer Books, Conferences, Online Publishing</description>
</image>
<textInput>
<title>
<description>
<name>
<link>
</textInput>
<item>
<title>The First Item</title>
<link> /> <description>This is the first item.</description>
</item>
<item>
<title>The Second Item</title>
<link> />>
<description>This is the second item.</description>
</item>
<item>
<title>The Third Item</title>
<link> />20
<description>This is the third item.</description>
</item>
</channel>
</rss>
2.5.2. RSS 0.92
Hình 7. Cây cấu trúc các thành phần của RSS 0.92
Các thay đổi so với phiên bản trước đó:
• <rss version="0.91"> trở thành <rss version="0.92">.
• Không giới hạn số lượng kí tự.
• Không giới hạn thành phần item.
• Các thành phần con của item là tùy chọn.
• Thành phần language là tùy chọn.
RSS 0.92 là phiên bản mở rộng của RSS 0.91, bổ sung thêm các thành phần mới:
21