nhkhanh@fit.hcmus.edu.vn Biết được ý nghĩa và ứng dụng của Syndication Hiểu được cấu trúc của RSS feed và Atom feed Có khả năng viết chương trình đọc và xuất feed
29/10/2010 Các công nghệ lập trình hiện đại 2
Syndication là một ứng dụng nổi bật của Web 2.0 Cho phép một bài viết trên báo có thể xem được ở nhiều nơi thông qua trình đọc feed Cho phép tự động cập nhật và thông báo khi có bài viết mới Dữ liệu tổ chức để máy có thể dễ dàng hiểu được
29/10/2010 Các công nghệ lập trình hiện đại 4
Feed là một tài liệu XML trên web Bao gồm một dãy các mẩu tin và thông tin mô tả chính nó Trình đọc feed thường tổ chức như tương tự như hiển thị email
29/10/2010 Các công nghệ lập trình hiện đại 5
Định dạng thông dụng của feed là XML Syndication xây dựng trên giao thức HTTP Syndication client (feed reader) là HTTP client Hoạt động của syndication client Đăng nhận một feed Định kì kiểm tra feed Thông báo nếu feed có thay đổi
29/10/2010 Các công nghệ lập trình hiện đại 6
Ba định dạng phổ biến RSS 1.0 Xây dựng từ RDF Site Summary 0.9 của Netscape Dựa trên Resource Discription Framework (RDF) của W3C RSS 2.0 Cũng từ RDF Site Summary 0.9 của Netscape Không sử dụng XML namespace Cú pháp dễ nhìn Atom Thiết kế nhằm thay thế cho RSS
29/10/2010 Các công nghệ lập trình hiện đại 7
Đặc tả ở http://blogs.law.harvard.edu/tech/rss Cấu trúc: Bắt đầu bằng <?xml version=”1.0” encoding=”UTF-8”?> <rss version=”2.0”> Một <channel> duy nhất Các dòng mô tả bản thân Danh sách các <item>
29/10/2010 Các công nghệ lập trình hiện đại 8
<item> <title>Web 2.0 at Prague</title> <guid isPermalink="true"> http://eric.van-dervlist.com/blog/2504_Web_2.0_at_XML_Prague.item </guid> <link> http://eric.van-der-vlist.com/blog/2504_Web_2.0_at_XML_Prague.item </link> <pubDate>Mon, 12 Jun 2006 15:19:57 GMT</pubDate> <description> Eric van der Vlist will do a presentation about Web 2.0 at XML Prague 2006. </description> </item>
• Bắt buộc phải có <title> hoặc <description>
• Các thành phần khác không bắt buộc tùy vào feed reader (các thành phần không hiểu sẽ được bỏ qua) 29/10/2010 Các công nghệ lập trình hiện đại 9 Phần tử <guid> dùng để xác định item Nếu thuộc tính isPermalink là true thì guid sẽ là URL của item
Là một dự án mở Được chuẩn hóa bởi IETF Đặc tả ở http://datatracker.ietf.org/wg/atompub/ Cố gắng thực hiện phần lớn khả năng của RSS 1.0 và RSS 2.0 Không dựa trên RDF Có XML namespace riêng
29/10/2010 Các công nghệ lập trình hiện đại 12
<?xml version="1.0"?> Prague</title> <feed <updated>2006-06- xmlns="http://www.w3.org/2005/Atom"> 12T12:22:59Z</updated> <title type="html">Planet <content type="html"> web2.0thebook</title> Eric van der Vlist will do a presentation <link about href="http://web2.0thebook.org/channel.rss Web 2.0 at XML Prague 2006. " rel="self"/> </content> <updated>2006-06- <link href="http://eric.van- 19T07:37:55Z</updated> dervlist.com/blog/2504_Web_2.0_at_XML_ Prague.item" <id>http://web2.0thebook.org/channel.rss</ rel="alternate"/> id> <author> <entry> <name>evlist</name> <id> </author> http://eric.van-der- vlist.com/blog/2504_Web_2.0_at_XML_Pra </entry> gue.item ... </id> </feed> <title type="html">Web 2.0 at 29/10/2010 Các công nghệ lập trình hiện đại 13 Phần tử gốc là <feed xmlns="http://www.w3.org/2005/Atom"> Các dòng mô tả bản thân Danh sách các <entry>
29/10/2010 Các công nghệ lập trình hiện đại 14
Mở rộng so với RSS bằng thuộc tính type text html xhtml MIME type
29/10/2010 Các công nghệ lập trình hiện đại 15
<html> <head> ... <link href="atom.xml" type="application/atom+xml" rel="alternate" title="Sitewide ATOM Feed" /> </head> ... Giúp trình duyệt phát hiện được trang hiện tại có hỗ trợ feed hay không
29/10/2010 Các công nghệ lập trình hiện đại 16
Viết chương trình thực hiện các chức năng sau: Đọc feed có cùng chủ đề từ hai hoặc nhiều trang tin tức khác nhau Kết hợp các feed này thành một feed tổng hợp Xuất bản feed tổng hợp này Sinh viên tự chọn ngôn ngữ lập trình thích hợp