从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 阅读(1251)
评论(0) 编辑 收藏 所属分类:
J2SE