概述,RSS的發展史,RSS技術及其實現,RSS技術特點,2RSS技術實現,RSS套用開發,RSS套用架構分析,網路套用開發框架和MVC設計模式,系統配置綜合運用,RSS的特徵,
概述
簡易信息聚合是“Really Simple Syndication”或“Richsite summary”(網站內容摘要)的中文名字。是站點用來和其他站點之間共享內容的一種簡易方式。英文縮寫為RSS技術。
RSS是一種信息聚合的技術,是某一站點和其他站點之間共享內容的一種簡易信息發布與傳遞的方式,使得一個網站可以方便的調用其他提供
RSS訂閱服務的網站內容,從而形成非常高效的信息聚合,讓網站發布的內容在更大的範圍內傳播。他是一種用於共享新聞和其他WEB內容的數據交換規範,也是目前使用最廣泛的一種擴展性標識語言。
RSS的發展史
RSS可以是Really Simple Syndication(真正的簡單聚合),也可以是RDF Site Summary(RDF站點摘要),還可以是RichSite Summary(豐富站點摘要)。這是因為RSS技術在發展過程中不同的技術團體對其做出了不同的解釋。結果RSS分化為兩大陣營,一個是DaveWiner的UserLand公司推出的RSS 0.9x和RSS 2.0版本,另一個是一個聯合小組根據W3C新一代語義網技術RDF(Resource Description Framework)對RSS進行了重新定義,形成了RSS 1.0版本。雖然RSS的版本的不同,但是它們都遵循XML 1.0規範。另外還有一個是美國大型部落格服務網站(www.blogger.com)採用了近似於RSS技術的衍生版Atom,它被Google收購後,成為了RSS標準強有力的競爭者。
UserLand公司認為:RSS是ReallySimpleSyndication的首字母簡寫;RSS是網頁內容的聚合格式。而制定RSS1.0版本的聯合小組認為:RSS是RDFSiteSummary的首字母簡寫,它是一種是輕量級、多用途、可擴展的元數據描述和聚合格式,屬於XML套用,遵循W3C的RDF規範,可通過XML命名空間進行擴展和(或)基於RDF進行模組化。不管是什麼版本的RSS,它們都是將一些網頁資源描述為一些頻道(Channels)的組合。各個頻道包含一系列的訊息項(Items),因此把利用頻道和訊息項等RSS元素去描述網路內容的檔案稱為RSSfeed。
RSS技術在西方已開發國家,尤其是美國,已經達到了相當大的規模。據不完全統計,美國提供RSS內容的網站數目從2001年9月的1千餘家激增至2004年9月的19萬5千餘家,短短的三年中增長了近150倍,市場的飛速發展令人矚目。隨著RSS內容數量的激增,RSS用戶數也取得了飛速的發展,從2001年8月的10萬用戶激增到2004年8月的近9百萬。目前國內提供RSS內容的網站和企業也不下千家,RSS用戶數大約在100萬左右,由此可見國內RSS市場潛力巨大。在這些RSS內容提供者中,有許多是部落格網站和個人,但更多的是認識到RSS技術的先進性、優越性的商業網站,把對RSS技術的支持當作增加網站流量、推廣網站品牌、更好地為用戶服務的重要手段。
RSS技術及其實現
RSS通過XML標準定義內容的包裝和發布格式。對RSS內容提供者來說,RSS技術提供了一種實時、高效、安全、低成本的信息發布渠道;對RSS用戶來說,它提供了一種嶄新的閱讀體驗。
RSS技術特點
多來源信息的個性化聚合。RSS作為網站內容的包裝格式,所以任何內容提供者都可以採用這種格式來發布信息。在用戶端,RSS閱讀器軟體可以按照用戶喜好,有選擇性地將用戶感興趣的內容來源進行“聚合”,為用戶提供多來源信息的“一站式”服務。
信息發布的高時效和低成本。RSS技術秉承“推(push)”信息的概念,當新內容在伺服器資料庫中出現時,就可以被“推”到用戶端閱讀器中,極大地提高了信息的時效性和價值。此外,伺服器端內容的RSS包裝在技術實現上極為簡單,而且是一次性的工作,使長期的信息發布邊際成本幾乎降為零,這是傳統的電子郵件、衛星傳輸、網際網路瀏覽等發布方式所無法比擬的。無“垃圾”信息、便利的本地內容管理。RSS用戶端閱讀器軟體的特點是完全由用戶根據自身喜好以“頻道”的形式訂閱值得信任的內容來源。RSS閱讀器軟體可以完全螢幕蔽掉用戶沒有訂閱的內容以及彈出廣告等令人煩擾的內容。此外,對下載到閱讀器軟體本地的所訂閱RSS內容,用戶可以進行離線閱讀、存檔保留、搜尋排序、相關分類等多種管理操作,使閱讀器成為個人的“資料庫”。
RSS是信息傳遞的重要方式。近年來BLOG作為一種發布個人信息的形式和工具越來越受到人們的矚目。使用RSS技術可以提取大量現有頁面中BLOG的摘要和索引,生成RSS檔案供用戶使用,可以建立RSSFeed伺服器,從而促進信息在網路上傳輸。
2RSS技術實現
通常,網際網路用戶是使用RSS閱讀器或通過提供RSS服務的網站來線上訂閱和管理自己需要的內容。因此,RSS技術的核心在於如何實現RSS閱讀器或建立RSS服務網站。對於同一個服務提供商,假如既提供客戶端RSS閱讀器,也提供入口網站的線上服務,那么兩者的功能幾乎也是一樣的。對於不同的服務提供商,他們提供的服務可能會有差異,但是一些核心的功能是相同的,例如RSS訂閱功能、用戶管理功能、Feed管理功能等。從技術角度看,實現RSS閱讀器和建立RSS服務網站所套用的核心技術是相似的。
資料庫後台更新組件。必須及時地更新資料庫中的數據,從而給用戶提供及時的、最新的信息。這一點非常重要的,是“推”技術的核心內容。通常可以由用戶設定更新頻率,可以是一個小時、兩個小時、半天、一天等,可以根據實際的套用需要設定,例如套用的實時性要求較高,更新頻率的值應該較小些。在程式設計中,我們可以用更新執行緒定時更新資料庫。
RSS生成器是RSS套用最重要的擴充組件。一種比較普遍的情況是:許多網站還沒有提供RSS服務,所以用戶就得不到該網站上感興趣的信息。因此要解決這個問題,就必須擴充RSS閱讀器的功能,使得html頁面等可以轉換為RSS檔案供用戶訂閱。我們知道一些html文檔是不規範的、甚至是錯誤的。由於客戶端瀏覽器的強大功能,通常對於瀏覽來說,是不成問題的,但是要把這些html文檔解析直接生成RSS文檔是困難的。因此,我們要使用一個功能強大的html解析器對那些html文檔進行結構重整和錯誤修正。我們需要一個RSS轉換器用來過濾掉頁面中的無關信息,提取有用信息。一般可以通過根據頁面上的重複模式(如時間,價格等)達到提取信息,生成RSS檔案的目的。對於特別的套用,也可以套用其它的Web挖掘技術,進行信息提取。
RSS解析器是RSS閱讀器中的核心組件,它用於處理各種不同版本的RSS檔案,生成html文檔片斷嵌入到JSP(JavaServerPages)頁面或html文檔中供用戶使用。XSLT是可以將XML文檔轉換為html文檔的工具。因為RSS文檔本質上是XML文檔,所以可以把RSS文檔經過XSLT工具處理(信息抽取和格式化),轉換成html文檔,從而使客戶端瀏覽器能夠正確的顯示用戶期望的內容。RSSFeeds分析和統計組件。可以利用Web技術來分析和統計RSSFeeds的訂閱數(Circulations)、點擊數(Hits)、引用數(Referrers)等;還有訊息項(Item)被瀏覽次數(ItemViews),被點擊數(Clickthroughs)等。RSS套用系統主要的處理流程如圖。
RSS套用開發
RSS套用屬於Web服務套用,所以可以按照一般的Web套用去設計和開發套用系統。
RSS套用架構分析
通常RSS套用系統採用B/S三層架構,分別是Web伺服器、資料庫伺服器和客戶端。從功能分擔上可以分為:瘦客戶端和肥客戶端。瘦客戶端,客戶端只需要一個瀏覽器就可以了。肥客戶端,客戶端通常要安裝特定的RSS閱讀器。瘦客戶端的缺點就是伺服器的負擔比較重;但是明顯的優點就是很好用,不需要附加的軟體,在瀏覽器視窗地址欄輸入Web伺服器的(URL)就可以實現訂閱和管理RSSFeeds,還有信息都保存在資料庫伺服器中,用戶不必擔心本地機器存儲信息而會丟失信息的情況。肥客戶端就是在客戶端安裝了RSS閱讀器軟體,優點是減輕了伺服器的負擔;要是內容更新下載到了本地機器,使得在本地閱讀時反應速度快;支持脫機閱讀,也許可以節省用戶上網的費用。缺點就是占有了用戶的硬碟存儲空間。本文闡述了瘦客戶端的套用開發過程。
網路套用開發框架和MVC設計模式
在Web套用中有一個良好的實踐就是使用基於MVC(Model-View-Controller)設計模式的網路套用框架(WebApplicationFramework)。MVC設計模式被認為是設計模式裡面最出名的。MVC模式關係如圖所示。MVC模式分為三個組件:模型組件,視圖組件和控制器組件。模型組件負責維護後台資料庫或遠程系統的數據;視圖組件負責建立終端用戶的顯示層;控制器組件負責維護條件邏輯上的視圖顯示,錯誤處理和何時、怎樣更新數據。Struts就是一個基於MVC模式的網路開發框架,它可以顯著加快開發進程。利用Struts提供的標籤庫和配置檔案可以使程式設計師和系統維護人員擺脫JSP(JavaServerPages)頁面管理的困擾,使得程式設計師能專注於商業邏輯編程。
系統配置綜合運用
Java編程技術、JSP技術、XML、XSLT(eXtensible Style sheet Language Tools)、JavaScript和EJB(Enterprise Java Bean)或WebService等就可以完成套用系統開發了。Web伺服器軟體可以選用Jboss,Weblogic,WebSphere,Tomcat等。應用程式必須配置Struts中的struts-config.xml檔案,從而使得M-V-C三個部件有機結合起來工作。資料庫伺服器軟體可以選用Oracle,Sybase,SQLServer,MySQL等。
RSS的特徵
(1)個性化信息主題聚合 隨著RSS被廣泛的採用,提供RSS FEEDS 的網站越來越多,包括專業的新聞站點、電子商務站點、企業站點、,甚至個人站點等。這樣,用戶可以根據自己的喜好,訂閱多個站點,通過一個RSS閱讀器,為用戶提供多來源信息的“一站式”的個性化服務。
(2)信息獲取高時效性 RSS閱讀器可以根據用戶的設定定時完成與信息源站點元數據的同步。同時,由於RSS技術秉承“信息推送”概念,一旦站點有內容更新,更新內容就在第一時間被“推”到用戶端閱讀器中,極大的提高了信息的時效性和價值。
(3)信息發布低成本
(4)知識信息過濾與積累 RSS技術提供自定義的技術,信息源的選擇與信息內容的過濾由用戶自主配置,用戶根據自己的喜好以“頻道”的形式訂閱值得信任的內容來源。
RSS用戶端所蒐集的信息可以經過用戶智慧型篩選,能禁止掉用戶沒有訂閱的內容
以及彈出廣告,垃圾郵件等,保證信息的“無垃圾”和“個性化”。
(5)本地信息易於管理
對於下載到閱讀器軟體本地的訂閱RSS內容,用戶獲取無須任何賬號或密碼,使用
方便快捷。信息的本地存儲與管理功能為用戶建立起一個“隨身資料庫”,用戶
可以進行離線閱讀,存檔保留,搜尋排序,相關分類等多種管理操作,簡單方便。