從Informa的官網下載了二進制碼和源代碼后,開始對照著API進行學習。
在開始學習Informa之前,我們必須了解以下幾個核心概念:
(一)RSS 協議體系:
目前RSS的協議存在兩大陣營:0.9.x/2.0 和 1.0兩種類型。0.9.x和2.0都是由userland公司開發起草的,1.0是由W3C起草的。為什么會出現在中間版本插入另一個起草組織的情況呢?據說是因為當初W3C在起草1.0版本協議時,沒有和userland公司的老大溝通好,userland老大很不爽,拒絕承認這個1.0版本協議而自行推出2.0版本。這兩個不同陣營的RSS協議是完全不同的。
目前以RSS 2.0協議使用的比較多。
到了后來為了解決這個紛爭,也為了避免出現由一家公司獨自壟斷的情況,google等其它第三方公司、組織開始起草另外一種用于取代RSS的新協議:Atom。目前的版本有0.3和1.0。
對于Informa來說,這幾種不同陣營的協議它都支持,大大地減輕了我們的的工作負擔
(二)RSS RSS Feed:
RSS是協議的簡稱,而這個協議的通信時依賴于XML格式,在這個XML的文件中,描述了所有RSS通信需要知道的知識。這個文件就稱為RSS Feed。
(三)OPML:
OPML是一種用于在程序和RSS閱讀器之間導入導出RSS定制列表的文件格式。它可以用來在你和朋友之間分享訂閱的頻道。
(四)Channel和Item:
Channel的中文翻譯是“頻道”,是描述一個RSS訂閱的內容提供商。例如我訂閱了163的新聞,那么163就是Channel了。Item很明確---消息主體。在RSS 2.0規范中為Channe和Item定義了不少屬性,有些是必須的,有些是可選的。
Channel節點的必選屬性:
★titile
★link
★description
Item節點的必選屬性:
★title
★link
★description
★author
★category
★comments
★enclosure
★guid
★pubDate
★source
Informa的API結構如下:
★core包:
核心包。訂閱了RSS中channel,item等一系列元素和元數據的接口
★impl.basic包:
基本功能包。使用in-memory模式實現了core包訂閱的接口
★impl.hibernate包:
基于hibernate實現的包,使用關系型數據庫模式實現了core包定義的接口
★parsers包:
定義了永遠解析channel,item的解析器工具
★exporters包:
定義了一組把channel,item導出成各種協議格式的工具
★search包:
定義了用于全文搜索channel,item的工具
★utils.manager.memory包:
定義了一組用于管理“in-memory”模式持久化的工具
★utils.manager.hibernate包:
定義了一組用于管理關系型數據庫模式持久化的工具
★utils.poller包:
子項目,定義了一組定時監控、更新channel,item的工具
★utils.cleaner包:
子項目,定義了一組用于清理環境的工具(例如剔除無效RSS訂閱頻道等)
★utils.toolkit包:
定義了一組輔助poller,cleaner和其他類的工具
就這些,夠簡單的吧!現在我們已經對Informa的結構有了全局的認識,后面就是開始逐步地學習這各個包了!
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2009-12-21 15:39
Paul Lin 閱讀(1259)
評論(0) 編輯 收藏 所屬分類:
J2SE