posts - 262,  comments - 221,  trackbacks - 0
          從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 閱讀(1264) 評論(0)  編輯  收藏 所屬分類: J2SE
          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 界首市| 牙克石市| 辽中县| 台中县| 瑞安市| 含山县| 西贡区| 博白县| 肥城市| 平南县| 湘潭市| 江西省| 兴文县| 垫江县| 佛山市| 石棉县| 仁寿县| 武定县| 隆昌县| 松阳县| 环江| 桦甸市| 侯马市| 奉贤区| 西城区| 个旧市| 宁阳县| 富平县| 上犹县| 博湖县| 奉节县| 台东县| 崇仁县| 洞口县| 正蓝旗| 宁安市| 奉节县| 浪卡子县| 方山县| 遵化市| 武宁县|