RSS là một tiêu chuẩn định dạng tài liệu dựa trên XML nhằm giúp người sử dụng dễ dàng cập nhật và tra cứu thông tin một cách nhanh chóng và thuận tiện nhất bằng cách tóm lược thông tin v
Trang 1MỞ ĐẦU
Ngày nay sự phát triển mạnh mẽ của mạng Internet và Intranet đã sinh ra một khối lượng khổng lồ các dữ liệu dạng siêu văn bản (dữ liệu Web) Bên cạnh những ưu điểm không thể phủ nhận, sự quá phong phú và đa dạng của WWW cũng khiến con người phải đối mặt với tình trạng “quá tải thông tin” Mặt khác, trong bối cảnh một xã hội thông tin, nhu cầu nhận thông tin một cách nhanh chóng, chính xác, cũng như nhu cầu thu nhận được các “tri thức” từ khối lượng thông tin khổng lồ nói trên đã trở nên cấp thiết Người
sử dụng sẽ rất khó khăn trong việc tìm kiếm thông tin và họ không thể có thời gian đọc tất
cả các tài liệu để tìm ra thông tin họ cần Một văn bản tóm tắt sẽ tiết kiệm cho họ rất nhiều thời gian và công sức để tìm kiếm thông tin một cách hiệu quả
Hơn nữa, hiện nay các thiết bị di động như PDA, điện thoại di động có thể nhận tin tức trực tiếp từ trên Internet, nhưng độ dài về tin của các thiết bị này thường rất hạn chế,
Vì vậy, việc nghiên cứu để tìm ra các phương pháp thu thập thông tin một cách tự động đang là vấn đề rất được quan tâm trong khai phá Web Làm thế nào để thu thập thông tin
từ các trang web về một cách hiệu quả lại là một thách thức lớn RSS ra đời nhằm để giải quyết vấn đề này
RSS là một tiêu chuẩn định dạng tài liệu dựa trên XML nhằm giúp người sử dụng
dễ dàng cập nhật và tra cứu thông tin một cách nhanh chóng và thuận tiện nhất bằng cách tóm lược thông tin vào trong một đoạn dữ liệu ngắn gọn, hợp chuẩn Dữ liệu này được các chương trình đọc tin chuyên biệt (gọi là News reader) phân tích và hiển thị trên máy tính của người sử dụng Trên trình đọc tin này, người sử dụng có thể thấy những tin chính mới nhất, tiêu đề, tóm tắt và cả đường link để xem tòan bộ tin Tùy theo từng phiên bản RSS là viết tắt của “Really Simple Syndication” (Chia sẻ thông tin thực sự đơn giản) hoặc
“RDF Site Summary” (Tóm lược website theo định dạng RDF)
RSS thường dùng để chia sẻ nội dung của tin tức dạng văn bản, tuy nhiên nó có thể ứng dụng trên hầu hết các loại nội dung của web: âm thanh, hình ảnh, video RSS tạo cho người quản lý web khả năng tự động cập nhật trong những phần nhất định của site Hầu hết các trang web lớn và uy tín đều sử dụng RSS, trong đó bao gồm CNN, Forbes và Motley Fool
Trang 2Tất cả các tính năng của RSS làm cho nó trở thành một mắt xích quan trọng trong việc tạo ra các luồng truy nhập tới website gốc Lấy ví dụ, bạn có thể thấy trên một website nào đó một tiêu đề tin hấp dẫn Khi bạn nhấn chuột vào tiêu đề tin đó, bạn sẽ được liên kết tới RSS của trang web đó Trong thế giới Internet, nơi có hàng triệu trang web đang lôi kéo người sử dụng truy cập, bất cứ công cụ nào có thể giúp bạn tạo ra các kết nối với người dùng đều có vai trò quan trọng sống còn.
Gần đây, sử dụng RSS trên web trở thành một hiện tượng thực sự Trong những ngày đầu phát triển của web, các trang web cũng được liên kết với nhau song dữ liệu giữa chúng thì thực sự hiếm khi được chia sẻ Hiển nhiên, quan niệm đã thay đổi theo thời gian Các trang web sử dụng RSS tăng lên nhanh chóng với những lý do rõ ràng và hợp lý
Blogs còn gọi là Weblog bắt đầu xuất hiện và bùng nổ trong đa số người dùng Internet từ cách đây khoảng một đến hai năm Blog cho phép người dùng, cá nhân hoặc nhóm, có thể đưa thông tin lên mạng với mọi chủng loại chủ đề, thông thường là có liên quan tới kinh nghiệm hoặc ý kiến cá nhân Người sử dụng có thể sử dụng RSS khi tạo ra các blog để việc cập nhật các tệp blog trở nên dễ dàng hơn và giúp người đọc có thể nhận thấy sự thay đổi
Chia sẻ thông tin diện rộng: Việc cung cấp thông tin rộng rãi cho nhiều chủ thể truyền thông là điều khá phổ biến trên truyền hình và các loại hình thông tấn báo chí khác Đối với mạng lưới truyền hình và báo chí, việc tận dụng các thông tin kiểu này thường có giá thành rẻ hơn và cũng dễ dàng hơn so với việc tự tạo ra các nội dung Thêm vào đó, công chúng dễ dàng nhận biết và theo dõi các thông tin được quảng bá rộng rãi
Các website sử dụng các thông tin được cung cấp rộng rãi cho các chủ thể khác nhau cũng với lý do tương tự Các chủ thể có uy tín và danh tiếng thường là người khởi tạo, tổ chức và phân phối các dữ liệu dùng chung (có thể nhận thấy một cách rất hợp lý rằng một nhà quản lý mạng sẽ tận dụng các tin tức từ một tổ chức truyền thông chuyên nghiệp, thay vì tự mình viết ra các thông tin đó) Một vài dữ liệu được truyền tải trên web
có thể được chia sẻ miễn phí giữa các website, tuy nhiên, cũng có nhiều trường hợp, các thông tin này được một nhà phân phối bán lại cho các chủ thể có nhu cầu Nếu bạn tích hợp các thông tin này trên site của bạn, nhiều khả năng lượng truy cập vào trang web của bạn sẽ tăng lên đáng kể
Trang 3Nhiều website sử dụng RSS như một công cụ để cập nhật các thông tin mới liên quan tới trang web hoặc các sản phẩm mới Lấy ví dụ, một website đăng tải các thông tin
về một sản phẩm cụ thể nào đó, chẳng hạn Linux, có thể tự động thu thập các dữ liệu RSS
từ nhiều website về Linux khác nhằm cung cấp cho khách hàng một kho thông tin chứa đầy đủ các thông tin cập nhật về hệ điều hành này Trong trường hợp này, sử dụng RSS sẽ tiết kiệm thời gian hơn nhiều so với việc webmaster truy cập từng website Linux và cập nhật thông tin một cách thủ công
Tập hợp thông tin: Khi đề cập tới RSS, sự tập hợp thông tin có liên quan mật thiết tới khái niệm chia sẽ thông tin diện rộng Nếu một website thu thập nhiều nguồn RSS và sau đó phân phối lại chúng, điều đó đồng nghĩa với sự tập hợp thông tin
Các site khác nhau sử dụng các phương pháp tập hợp thông tin khác nhau Một vài site có thể lựa chọn các nguồn RSS cho mục tiêu duy nhất là cung cấp chúng cho người
sử dụng Các site khác lại tập hợp thông tin để truyền tải dữ liệu RSS tới các website khác nhằm giúp các site này tìm kiếm từ RSS các dữ liệu mà họ muốn hiển thị trên trang web
Một website tập hợp thông tin cũng có thể tích hợp một số tính năng cá nhân để giúp bạn tìm kiếm các thông tin một cách nhanh chóng và dễ dàng hơn Chẳng hạn, site
đó có thể dấu các nguồn RSS mà bạn đã từng truy cập Cũng có thể các nguồn RSS sẽ được phân loại nhằm tăng cường tính cấu trúc và hệ thống của toàn bộ website
Thuật ngữ “người tập hợp thông tin” (aggregator) được dùng để chỉ phần mềm cho phép bạn đọc các tệp RSS mặc dù thông thường, người ta gọi các chương trình này là phần mềm đọc tin (newsreader), phần mềm đọc nguồn RSS (RSS feed reader) hoặc phần mềm đọc thông tin tổng hợp (news aggregator) Để sử dụng một phần mềm này, bạn phải định nghĩa các nguồn RSS mà bạn muốn theo dõi Phần mềm đọc tin sẽ tự động kiểm tra các nguồn RSS đó và tìm kiếm những thay đổi Tất cả các thay đổi sẽ xuất hiện trong cửa
sổ hiển thị của phần mềm, cho phép bạn chọn những nguồn mà bạn muốn đọc
Một trong những lý do quan trọng nhất cho việc ứng dụng RSS là khả năng của nó trong việc tiếp cận tới người dùng mà không cần phải phát động một chiến dịch quảng cáo rầm rộ và tốn kém Nếu bạn có những thông tin hấp dẫn trên trang web của mình,
Trang 4RSS có thể giúp bạn giới thiệu và truyền tải tới người dùng và thu hút sự quan tâm của khách hàng
Đối với những ai chỉ đơn thuần sử dụng Internet và không cần tới tính năng quảng cáo của RSS, công nghệ này lại giúp họ tìm kiếm các thông tin quan trọng qua các nguồn RSS, thậm chí từ các website mà họ ít khi hoặc không bao giờ truy nhập
Sức mạnh của trang web chính là khả năng sử dụng các liên kết để tăng cường tính hiệu quả, hữu ích và tính hệ thống của web trong một tổng thể toàn cầu Khi một webmaster tìm thấy một website được đánh giá là hấp dẫn, họ sẽ tạo một đường link tới website đó ngay trên trang web của họ Với RSS, các siêu liên kết giờ đây trở nên các liên kết thông tin, cho người dùng biết được các thông tin hữu dụng và cập nhật về những điều
mà họ sẽ được nhìn thấy khi kích chuột Trên tất cả, với tư cách là một người dùng, bạn
sẽ không phải làm gì nhiều, chỉ cần tìm đúng nguồn RSS mà bạn cảm thấy hấp dẫn và nháy chuột Đó thực sự là một điều dễ dàng mà ai trong chúng ta đều có thể làm được
Trong vài năm qua, chuẩn công nghệ RSS đã phát triển khá chắc chắn Cùng với
sự phát triển đó, RSS trải qua một số phiên bản Trên thực tế, RSS được phát triển thành hai định dạng khác nhau, một do UserLand Software và một do RSS Working Group (một nhóm nghiên cứu phi thương mại) Mặc dù hai định dạng này được các chủ thể khác nhau ứng dụng và chúng cũng không tương thích với nhau, tuy nhiên, chúng có cấu trúc tương
tự nhau (Vấn đề bất tương thích thực chất không phải là vấn đề lớn đối với người dùng đầu cuối bởi hầu hết các trình đọc RSS đều có thể hoạt động tốt với tất cả các phiên bản RSS)
Nội dung của khóa luận
Chương 1: Trình bày cơ sở hình thành các phiên bản RSS, Giới thiệu các kiến thức
cơ bản về XML được ứng dụng trong xây dựng hệ thống RSS
Chương 2: Nghiên cứu tìm hiểu về các hệ thống: RSS 0.91, RSS 0.92, RSS 2.0 và RSS 1.0 So sánh sự biến đổi qua các phiên bản
Trang 5Chương 3: Trình bày cách xây dựng một hệ thống thu thập thông tin RSS, giới thiệu một số kĩ thụât mở rộng cho vấn đề xây dựng các hệ thống RSS, các đề xuất về hướng phát triển tiếp theo của các hệ thống thu thập thông tin này
Thực nghiệm: Xây dựng một trang web tự động thu thập tin tức (theo một chủ đề nào đó) từ nhiều nguồn khác nhau dựa trên một số phần mềm mã nguồn mở có sẵn
Trang 6CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG THU THẬP
THÔNG TIN RSS 1.1 Giới thiệu về công nghệ 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, được dùng bởi nhiều website tin tức và weblog
RSS gồm có các phiên bản:
• Rich Site Summary (RSS 0.91)
• RDF Site Summary (RSS 0.9 and 1.0)
• Really Simple Syndication (RSS 2.0.0)
Công nghệ của RSS cho phép người dùng Internet có thể đặt mua thông tin từ các websites có cung cấp khả năng thu thập thông tin dạng RSS, chúng thường là các site có nội dung thay đổi và được thêm vào thường xuyên Để có thể dùng công nghệ này, những người quản trị website tạo ra hoặc quản lí một phần mềm chuyên dụng như là một hệ thống quản lí nội dung mà với định dạng XML máy có thể đọc được, có thể biểu diễn các bài tin mới thành một danh sách, với một hoặc hai dòng cho mỗi bài tin và một liên kết đến bài tin đầy đủ đó Khác với việc mua nhiều ấn bản của các tờ báo hay tạp chí in giấy, hầu hết việc mua RSS là miễn phí
Định dạng RSS cung cấp nội dụng web và tóm lượt nội dụng 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 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
RSS được sử dụng phổ biến bởi cộng đồng weblog để chia sẻ những tiêu đề tin tức mới nhất hay toàn bộ nội dung của nó, kể cả các tập tin đa phương tiện đính kèm Vào giữa năm 2000, vịêc sử dụng RSS trở nên phổ dụng đối với các hãng tin tức lớn như là: Reuters, CNN, và BBC Những nhà cung cấp tin này cho phép các website khác tổng hợp
Trang 7những tiêu đề tin tức "được chia sẻ" hay cung cấp các tóm tắt ngắn gọn của các bản tin chính dưới nhiều hình thức thỏa hiệp khác nhau RSS ngày nay được dùng cho nhiều mục đích, bao gồm tiếp thị, báo cáo lỗi hay các hoạt động khác bao gồm cập nhật hay xuất bản định kì
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 đó Ngày nay có thể tìm thấy RSS feeds trên rất nhiều Web
sites lớn, cũng như nhiều những site nhỏ
Các công cụ đọc tin phía trình khách và công cụ aggregators thường được xây dựng thành một chương trình độc lập hoặc là một phần mở rộng của các chương trình có sẵn như trình duyệt web Những chương trình như vậy có mặt trên nhiều hệ điều hành khác nhau Xem danh sách các aggregators chuyên về tin tức
Các phần mềm thu thập tin tức như trên không đòi hỏi phải cài đặt và có thể sử
dụng trên các máy tính có kết nối Internet Một số aggregators kết hợp khả năng chia sẻ
tin tức, ví dụ: lấy mọi thông tin bóng đá từ nhiều nguồn tin và cung cấp thành một nguồn tin mới Đây cũng chính là các động cơ tìm kiếm nội dung được đăng tải thông qua RSS feeds như Feedster hay Blogdigger
Trang 81.2 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 vịêc chia sẻ thông tin riêng cho Scripting News weblog, ra đời năm 1997
Phiên bản đầu tiên của RSS: RDF Site Summary – Trang tóm lược thông tinh định dạng RDF, được tạo ra bởi Dan Libby của Netscape vào tháng Ba năm 1999, dùng cho cổng điện tử My Nestcape Phiên bản này là RSS 0.9
Vào tháng Bảy 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 viết tắt của Rich Site Summary – Trang tóm lược giàu thông tin), 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
Chẳng bao lâu Netscape không còn tập trung vào RSS/XML, bỏ rơi định dạng đó Một nhóm làm vịêc và danh dách địa chỉ mail, RSS-DEV được thành lập bởi nhiều người dùng và cộng đồng XML để tiếp tục phát triển nó Cùng thời điểm đó Winer đưa ra phiên bản sửa đổi của RSS 0.91 cho website Userland vì nó đang được dùng làm sản phẩm của
họ Ông cho rằng đặc tả kĩ thuật của RSS 0.91 là tài sản riêng của công ty ông: UserLand Software Vì chẳng có bên nào tuyên bố chính thức về tên của định dạng nên đến bây giờ
nó có nhiều tên gọi
Nhóm RSS-DEV tiếp tục đưa ra RSS 1.0 vào tháng Mười Hai năm 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 bản này dựa vào đặc tả kĩ thuật RDF nhưng nó có tính khả thi cao 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, Winner cho ra phiên bản 0.92 và một vài bản chính sửa cho 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 ý Vào tháng Tư 2001,
Trang 9ô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 Tám, phục hồi lại những thay đổi trong bản 0.93, và thêm vào thuộc tính type cho thành phần description
Vào tháng Chín năm 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 – Thu thập thông tin thực sự đơn giản" Đặ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
Vào tháng Mười một năm 2002, Thời báo New York đã bắt đầu cung cấp cho
người đọc khả năng mục các tin có hỗ trợ RSS feeds liên quan đến nhiều chủ đề khác nhau
Vào tháng Giêng năm 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" trong việc đưa định dạng RSS trở thành một chuẩn Tháng Bảy năm 2003, Winer và UserLand Software được cấp quyền sở hữu của đặc tả kĩ thuật RSS 2.0 của trung tâm Berkman về Xã hội và Internet
Winer bị phê bình vì đã đơn phương tạo ra định dạng mới và tự đưa ra số hiệu của phiên bản Để đáp lại, đồng tác giả của RSS 1.0 – Aron Swartz đã đưa ra RSS 3.0 – một định dạng văn bản không dựa trên XML Định dạng này gần như chỉ là bắt trước lại phiên bản cũ và rất ít được sử dụng
Tháng Giêng năm 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 Vào đầu tháng Bảy năm 2005, RSS 1.1 chỉ hơn một bài tập hơn tính giải thuật một chút Vào tháng Tám năm
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 Mười Một năm 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
Trang 10Tháng Mười Hai năm 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í 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ộ hoá
không còn là tuỳ 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 Farvorite 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
Trang 11SSE 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
1.3 Vấn đề không tương thích giữa các phiên bản RSS
Như đã nói ở trên, có một số 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 tinh đị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ế cho tóm lược thông tin định dạng RDF RSS 1.0 là một khuôn dạng RDF như RSS 0.90 nhưng mà không hoàn toàn tương thích với nó Từ RSS 1.0 trở đi là 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ĩ thụâ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
Trang 121.4 Giới thiệu các kĩ thụât XML cơ bản ứng dụng trong vấn đề xây dựng hệ thống thu thập thông tin tự động RSS
XML, viết tắt của chữ eXtensible Markup Language – Ngôn ngữ đánh dấu mở rộng, là một bộ qui luật về cách chia một tài liệu ra làm nhiều phần, rồi đánh dấu và ráp
các phần khác nhau lại để dễ nhận diện chúng
XML diễn tả cấu trúc và ý nghĩa của các phần của tài liệu mà không quan tâm đến cách trình bày tài liệu Trong một trang Web viết bằng mã HTML ta dùng những Tag Pairs (cặp nhãn hiệu mở đóng) để đánh dấu Ở đây, các cặp Tag Pairs này đều được định nghĩa trước và không chứa đững ý nghĩa gì về các giữ liệu mà hiển thị bên trong chúng, trừ trường hợp cho tittle XML thì cho phép ta tự do đặt tên các Tag Pair để dùng khi cần Nếu tính ra, Dynamic HTML có đến khoảng 400 Tags mà nếu muốn dùng ta phải nhớ hết Trong khi đó, XML không có giới hạn về con số Tags và ta không cần phải nhớ Tag nào
cả Ý nghĩa của các Tag rất linh động và ta có thể sắp xếp các tags của XML theo loại cho hợp lý XML được sử dụng trong hai cách khác nhau Một cho sự trao đổi lẫn nhau giữa người và máy, một cho sự trao đổi dữ liệu giữa các ứng dụng hoặc giữa máy với máy
Để soạn thảo một file XML bạn có thể dùng bất kì trình soạn thảo nào Mỗi trang XML đều bắt đầu bằng một "XML processing instruction” - lệnh xử lý XML Xử lí chỉ
dẫn bắt đầu với <? và chấm dứt với ?> Chữ đầu tiên ngay sau <? là huấn lệnh xử lý,
trong trường hợp nầy là "xml" Mặc dù bạn có thể đặt ra bao nhiêu Tag cũng được, nhưng mỗi trang XML cần phải theo một số qui luật để được xem là một form tốt Do đó một trang XML cần phải theo đúng các qui luật sau đây:
1 Trang XML phải bắt đầu bằng câu khai báo XML
2 Mỗi bộ phận, gọi là "element" phải nằm giữa một Tag Pair
3 Nếu Tag nào không chứa gì ở giữa thì phải chấm dứt bằng "/>", thí dụ như <BR/> hay <HR/>
4 Một trang XML phải có một element độc nhất chứa tất cả các elements khác Đó là root của tree biểu diễn trang XML
5 Các Tag Pair không được xen kẽ nhau (ví dụ như <name>John
Stanmore<address>25 King Street</name></address> là bất hợp lệ vì <address> nằm trong Tag Pair name)
Trang 13Dưới đây là một file XML đơn giản có tên là People.XML trong tài liệu XML này có các thành phần con: NAME, ADDRESS, TEL, FAX và EMAIL Nội dung của các thành phần này đều chứa string
Trang 14<NAME>Le Duc Hong</NAME>
<ADDRESS>3 Rawson St, Epping, NSW,Australia</ADDRESS>
Để tạo một ứng dụng XML thì cần có cách để giao tiếp giữa các dữ liệu bên trong
để lấy ra giá trị của các Elements hay các Attributes Ngôn ngữ: XML Path, gọi tắt là Xpath được tạo ra có vai trò cũng giống như SQL là một chuẩn để làm việc với cơ sở dữ liệu Nó cho phép ta lựa chọn hay sàng lọc ra những tin tức nào mình muốn để trao đổi hay hiển thị vì thế dùng Xpath ta có thể trao đổi dữ liệu giữa các computers hay giữa các chương trình ứng dụng
Trang 15XML như một cây đối với Xpath Xpath được dùng làm chuẩn để làm vịêc với dữ liệu trong XML Ta coi XML như là một cây có nhiều nodes Mỗi Element hay Attribute
là một node Ví dụ một tài liệu XML như sau:
Trang 16Tài liệu XML trên có thể biểu diễn dưới dạng cây như sau:
Hình 1: Biểu diễn một tài liệu XML dưới dạng cây của Xpath
Trang 171.5 Siêu dữ liệu – Metadata – Dữ liệu của Dữ liệu
Metadata là dữ liệu về các dữ liệu hay còn gọi là siêu dữ liệu, là những thông tin chuyển tải ý nghĩa của các thông tin khác Metadata bao gồm một tập hợp các phần tử thiết yếu để mô tả nguồn thông tin.Một biểu ghi Metadata bao gồm một hệ thống các thành tố hay còn gọi là các yếu tố cần thiết để mô tả nguồn thông tin Ví dụ siêu dữ liệu Metadata trong thư viện - là hệ thống mục lục thư viện - bao gồm một tập hợp các biểu ghi với các yếu tố mô tả của một cuốn sách hay một tài liệu thư viện như: tác giả, nhan đề, xuất bản, đề mục, ký hiệu xếp giá
Mối liên hệ giữa nguồn thông tin và biểu ghi Metadata có thể ở dạng độc lập: tương tự như phiếu mô tả mục lục truyền thống hoặc ở dạng kết hợp tương tự như phần biên mục tiền xuất bản CIP (Cataloguing In Publication), các phần tử Metadata được thể hiện ngay trong bản thân tài liệu hoặc nguồn thông tin
Siêu dữ liệu Metadata có hai chức năng chính:
Cung cấp một phương tiện khai thác những cơ sở dữ liệu đã có sẵn,
Thể hiện nội dung, chất lượng và đặc điểm của một CSDL cũng như sự thuận
tiện trong sử dụng chính CSDL đó
1.6 Giới thiệu về chuẩn RDF
RDF viết tắt 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 và với các trang Web của Việt Nam thì một công cụ tìm kiếm rất quen thuộc đó là 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 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ẽ thoả 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
Trang 18Internet 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
Trang 19CHƯƠNG II: CẤU TRÚC CƠ BẢN CỦA CÁC HỆ THỐNG
THU THẬP THÔNG TIN TỰ ĐỘNG
2.1 Nội dung kiến trúc đồng bộ RSS feed
Cấu trúc của RSS feed: gồm cấu trúc của chính feed và cách mà RSS feed ăn khớp với toàn bộ cấu trúc của xuất bản web Xuất bản web có thể được trực quan hóa bởi một luồng thông tin sau Về cơ bản: thông tin đi từ bộ não của người viết đến bộ não của người đọc, không đề cập đến các vấn đề nảy sinh như trong sinh học, bảo đảm rằng thông tin được số hóa và lưu trữ an toàn trong máy tính Công vịêc bây giờ là phục vụ file cho người đọc Nếu bạn đã viết các nội dung này trực tiếp bằng HTML và đưa nó lên thẳng thư mục của máy chủ thì bước này đã đựơc hoàn thành
Tuy nhiên, hầu hết mọi người đều tin tưởng vào hệ thống quản lí thông tin
(Content Management System - CMS) Các khái niệm của các CMS này thường dễ bị thay
đổi Thậm chí là một số người còn cho rằng CMS là bất kể cái gì mà được dùng để lấy các thông tin nguyên bản và được làm gì đó để đưa ra cộng đồng, vấn đề này có thể tính đến sự can thiệp một cách đơn giản của con người đến các trình soạn thảo Trong bất kể tình huống nào thì cái CMS của bạn cũng có cấu trúc cơ bản như sau:
Hình 2: Cấu trúc cơ bản của một CMS
Trang 20Ở đây chúng ta có thể thấy các nội dung nguyên bản được lưu trữ trong một cái kho, sau đó được chuyển qua một số dạng chuyển tiếp và cuối cùng được chuyển đến người dùng dưới một định dạng chuẩn:
Tài liệu XML -> Biến đổi XLST -> Tài liệu XHTML
Cơ sở dữ liệu -> Tập lệnh Perl -> Tài liệu HTML
Văn bản thô -> Trang chủ web đang được kích họat -> tài liệu HTML
Bộ não của tác giả -> Notepad -> Tài liệu HTML
Tuy nhiên, đầu vào có thể có hơn một kho chứa
Văn bản thô + XML -> Tập lệnh perl -> Tài liệu HTML
Với bất kì CMS nào thì bước chuyển tiếp có thể lặp lại Không những chúng ta có thể dùng hơn một đầu vào mà chúng ta còn có thể tạo ra hơn một đầu ra từ một nội dung
đó Bằng cách này chúng ta có thể tạo ra cả HTML và RSS feed
Hình 3: Một CMS bao gồm cả HTML và RSS feed
Với những CMS weblog được ưa chuộng, ví dụ như là loại có thể di chuyển đựơc Các phép biến đổi được tạo ra với các khuân mẫu chứa các biến Các CMS có thể thay thế các biến với giá trị xác định và lưu trữ các file tính trên các đường dẫn xác định của máy chủ web Các CMS khác có thể chạy thành các giai đoạn bằng các tập lệnh điều khiển XSLT hoặc các phép biến đổi PHP tạo ra các tài liệu yêu cầu Trong trường hợp này, tài liệu cuối cùng có thể không bao giờ đựơc lưu trên ổ đĩa nào cả
Trang 21Item (title, description, URL, etc.)
Item (title, description, URL, etc.)
Item (title, description, URL, etc.)
Quan trọng nhất, với số lượng khác nhau của các phần mô tả đã kết hợp với mỗi Item Các items trong RSS feed là các link đơn giản dẫn đến các nguồn khác Với các phiên bản RSS khác nhau, có thể khác nhau về các đặc tả, số lượng siêu dữ liệu đưa ra, giới hạn đặt các nguồn được liên kết đến, nhưng về cơ bản mục đích của chúng là như nhau Vì lí do này mà RSS feed luôn luôn được sử dụng với các hệ thống mà nội dung có thể được phân thành các đoạn riêng biệt họăc các đối tượng mà có thể link được Trang tin là một ví dụ điển hình về vấn đề này Các mẩu tin thì thường bao gồm các phần: tiêu
đề, ngày đăng, tên tác giả, nội dung chính … Một trong số các phần này thì được ánh xạ một cách tự nhiên vào các trường của RSS Weblog là một ví dụ điển hình Vì thế khi làm vịêc với để tạo ra RSS feed cần phải lưu ý đến các trường khác nhau trong các nội dung
đã có mà có thể được dùng lại Với tất cả các ngôn ngữ đánh của XML chúng ta có thể biết trước được CMS mà lưu trữ dữ liệu có, ra bản ghi chính, chi tiết nhất để tạo ra một RSS feed Các tài liệu XHTML cho các thiết bị khác nhau, WML cho điện thoại di động
… Kĩ thuật này chỉ ra lập luận đằng sau việc chuyển từ HTML sang XHTML bởi người tạo ra trang web
Trang 222.3 RSS 0.91
Dựa trên XML
Bao bồm các kênh, chứa đựng được 15 Items
Mỗi Item gồm có: nahn đề, mô tả, và địa chỉ URL
Giới hạn về siêu dữ liệu, chỉ ứng dụng vào các kênh
Dựa trên vịêc kéo thả: người dùng phải yêu cầu các feed
Feed có thể bao gồm các tùy chọn nhập văn bản
2.3.1 RSS 0.91: Cấu trúc cơ bản
Thành phần đầu tiên của một tài liệu RSS 0.91 là: <rss version="0.91"> Thành phần này là kế thừa bởi một thành phần kênh đơn: channel Phần tử channel bao gồm toàn
bộ các nội dung của feed và tất cả đều kết hợp thành siêu dữ liệu
Các phần tử con bắt buộc trong một channel: gồm có 5 phần tử:
tittle: nhan đề của feed Trong hầu hết các trường hợp, nhan đề này trùng với nhan
đề của trang web mà nó liên kết đến Thành phần này có tối đa 100 kí tự
link: một địa URL của trang web liên kết đến Nó có tối đa 500 kí tự
description: là thành phần mô tả kênh Thành phần này không thể chứa gì ngoài văn bản thô
Language: mã ngôn ngữ của feed
Image: thành phần mà chứa các phần tử con để mô tả thêm về các biểu tượng liên quan đến feed Có ba phần tử con bắt buộc phải có, 2 phần tử cuối cùng là tùy chọn
url: địa chỉ url của ảnh định dạng jpg, gif, png Chứa tối đa 500 kí tự
tittle: mô tả về ảnh
Link: địa chỉ url mà ảnh đó link đến
Hai thành phần tùy chọn là: width và height: độ dài và độ rộng của ảnh
Trang 23Các thành phần tùy chọn trong cấu trúc của RSS 0.91 Có 10 tùy chọn phần tử kênh tùy chọn, về mặt kĩ thuật thì 10 phần tử này có thể bỏ đi Tuy nhiên, thì chúng được khuyến khích là nên cho thêm vào Đa số trong các phần tử này là tĩnh và nội dung của chúng không thay đổi Đặc bịêt là 3 phần tử đầu tiên dưới đây:
copyright: ghi chú bản quyền nội dung của feed, có tối đa 10 kí tự
managingEditor: địa chỉ email để liên lạc cho những người có câu hỏi, nó có thể có tối đa
100 kí tự
webMaster: địa chỉ email của chủ website, có thể có tối đa 100 kí tự
Các thành phần khác: rating, pubDate, lastBuildDate, docs, skipDay and skipHours, textInput
Phần tử item: RSS 0.91 có thể đưa ra 15 phần tử item Phần tử này chính là trái tim của feed, nó chứa nội dung của feed Về kĩ thuật, phần tử item là tùy chọn, nhưng nếu một
hệ thống thu thập thông tin mà không chứa thành phần này thì chỉ là một hệ thống thu thập về hình thức và trở thành tẻ nhạt
Phần tử item bắt buộc phải có 2 thành phần con la: tittle: nhan đề của mẩu tin, chứa tối đa 100 kí tự, link: chứa địa chỉ URL của tin đó, có tối đa 500 kí tự Phần tử description là tùy chọn, nó là một văn bản thô tóm tắt nội dung của câu chuyện và chứa tối đa 500 kí tự
Trang 24Hình 4: Một cây cấu trúc các thành phần của RSS 0.91
Trang 252.3.2 Một ví dụ về RSS 0.91 với các thành phần như trên
<pubDate>03 Apr 02 1500 GMT</pubDate>
<lastBuildDate>03 Apr 02 1500 GMT</lastBuildDate>