posts - 262,  comments - 221,  trackbacks - 0
          從Informa的官網(wǎng)下載了二進(jìn)制碼和源代碼后,開始對(duì)照著API進(jìn)行學(xué)習(xí)。

          在開始學(xué)習(xí)Informa之前,我們必須了解以下幾個(gè)核心概念:

          (一)RSS 協(xié)議體系:

          目前RSS的協(xié)議存在兩大陣營(yíng):0.9.x/2.0 和 1.0兩種類型。0.9.x和2.0都是由userland公司開發(fā)起草的,1.0是由W3C起草的。為什么會(huì)出現(xiàn)在中間版本插入另一個(gè)起草組織的情況呢?據(jù)說(shuō)是因?yàn)楫?dāng)初W3C在起草1.0版本協(xié)議時(shí),沒(méi)有和userland公司的老大溝通好,userland老大很不爽,拒絕承認(rèn)這個(gè)1.0版本協(xié)議而自行推出2.0版本。這兩個(gè)不同陣營(yíng)的RSS協(xié)議是完全不同的。

          目前以RSS 2.0協(xié)議使用的比較多。

          到了后來(lái)為了解決這個(gè)紛爭(zhēng),也為了避免出現(xiàn)由一家公司獨(dú)自壟斷的情況,google等其它第三方公司、組織開始起草另外一種用于取代RSS的新協(xié)議:Atom。目前的版本有0.3和1.0。

          對(duì)于Informa來(lái)說(shuō),這幾種不同陣營(yíng)的協(xié)議它都支持,大大地減輕了我們的的工作負(fù)擔(dān)

          (二)RSS RSS Feed:

          RSS是協(xié)議的簡(jiǎn)稱,而這個(gè)協(xié)議的通信時(shí)依賴于XML格式,在這個(gè)XML的文件中,描述了所有RSS通信需要知道的知識(shí)。這個(gè)文件就稱為RSS Feed。

          (三)OPML:

          OPML是一種用于在程序和RSS閱讀器之間導(dǎo)入導(dǎo)出RSS定制列表的文件格式。它可以用來(lái)在你和朋友之間分享訂閱的頻道。

          (四)Channel和Item:

          Channel的中文翻譯是“頻道”,是描述一個(gè)RSS訂閱的內(nèi)容提供商。例如我訂閱了163的新聞,那么163就是Channel了。Item很明確---消息主體。在RSS 2.0規(guī)范中為Channe和Item定義了不少屬性,有些是必須的,有些是可選的。

          Channel節(jié)點(diǎn)的必選屬性:
           ★titile
           ★link
           ★description

          Item節(jié)點(diǎn)的必選屬性:
           ★title
           ★link
           ★description
           ★author
           ★category
           ★comments
           ★enclosure
           ★guid
           ★pubDate
           ★source

          Informa的API結(jié)構(gòu)如下:

           ★core包:
              核心包。訂閱了RSS中channel,item等一系列元素和元數(shù)據(jù)的接口

           ★impl.basic包:
              基本功能包。使用in-memory模式實(shí)現(xiàn)了core包訂閱的接口

           ★impl.hibernate包:
              基于hibernate實(shí)現(xiàn)的包,使用關(guān)系型數(shù)據(jù)庫(kù)模式實(shí)現(xiàn)了core包定義的接口
           
           parsers包:
              定義了永遠(yuǎn)解析channel,item的解析器工具

           exporters包:
              定義了一組把channel,item導(dǎo)出成各種協(xié)議格式的工具

           search包:
              定義了用于全文搜索channel,item的工具

           utils.manager.memory包:
              定義了一組用于管理“in-memory”模式持久化的工具

           utils.manager.hibernate包:
              定義了一組用于管理關(guān)系型數(shù)據(jù)庫(kù)模式持久化的工具

           utils.poller包:
              子項(xiàng)目,定義了一組定時(shí)監(jiān)控、更新channel,item的工具

           utils.cleaner包:
              子項(xiàng)目,定義了一組用于清理環(huán)境的工具(例如剔除無(wú)效RSS訂閱頻道等)

           utils.toolkit包:
              定義了一組輔助poller,cleaner和其他類的工具

          就這些,夠簡(jiǎn)單的吧!現(xiàn)在我們已經(jīng)對(duì)Informa的結(jié)構(gòu)有了全局的認(rèn)識(shí),后面就是開始逐步地學(xué)習(xí)這各個(gè)包了!


          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2009-12-21 15:39 Paul Lin 閱讀(1264) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE
          <2009年12月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點(diǎn)博客

          好友博客

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 三亚市| 英吉沙县| 五莲县| 伊宁市| 大兴区| 伊吾县| 祁门县| 苍溪县| 彩票| 尚志市| 临澧县| 思茅市| 法库县| 泰来县| 无为县| 图们市| 英德市| 胶州市| 五原县| 旬邑县| 潼南县| 江源县| 高陵县| 浦县| 永春县| 沈丘县| 大港区| 岳阳市| 保德县| 虞城县| 民乐县| 沁阳市| 错那县| 怀来县| 微山县| 泸水县| 丹凤县| 沙雅县| 吉木萨尔县| 县级市| 威远县|