第7章在线RSS阅读器
本章介绍如何利用AJAX技术来实现在线RSS阅读器。本章所介绍的在线RSS阅读器主要是基于AJAX技术和ASP.NET2.0来进行开发的。AJAX技术用来实现客户端与服务器端的通信,而ASP.NET2.0则用来实现页面和服务器程序。此外RSS本身也是一种技术,是一种用来对信息进行聚合的简单方式,它也是当前网络技术比较热门的一种技术,本章介绍如何实现一种在线的RSS阅读器。
7.1 RSS技术概述
RSS是Rich Site Summary、Really Simple Syndication或RDF(Resource Description Framework) Site Summary的简写,翻译过来就是丰富站点摘要或简易信息聚合。它是一种用于共享新闻和其他Web内容的数据交换规范,起源于Netscape公司的推“Push”技术,将用户订阅的内容传送给他们的通讯协同格式。
网站源码在线7.1.1 发展历程
1999年,RSS技术首先由Netscape公司推出。当时Netscape公司定义了一套描述新闻频道的语言用于将网站内容投递到Netscape Navigator浏览器中,这种语言就是后来RSS。当时由于种种原因,Netscape公司只发布了一个0.9版本的规范。
与此同时,微软公司也推出了类似的数据规范,与RSS非常接近,试图利用新闻频道的架构把推“Push”技术变成了一个应用主流,捆绑在IE浏览器中。但也是由于各种限制,这中技术也没有得到推广。
后来,随着XML技术的发展和博客体的快速增长,RSS技术开始得到广泛地接受,其应用范围也有所推广,包括博客圈、新闻传媒、电子商务、企业知识管理等。
2001年,Dave Winer开始开发RSS的新版本,这样RSS出现了0.91和0.92版本。
随着RSS的广泛应用,一个联合小组根据W3C新一代的语义网技术RDF对RSS进行了重新定义,发布了RSS1.0版本,并把RSS定义为RDF Site Summary。但Dave Winer并没有参与到这个小组,而在自己的方向上进一步开发了RSS的后续版本2.0,而且他也不承认RSS1.0的有效性。此刻,RSS就分化成了RSS0.9x/2.0和RSS1.0两个方向。
而更为有意识的是,Google在收购了美国大型的博客服务网站www.blogger之后,大力推广该网站一直采用的一种近似于RSS技术的衍生版本Atom,使其逐渐成为RSS领域中有力的竞争对手。
所以,在RSS领域中存在着三个RSS技术标准,即:RSS0.9x/2.0、RSS1.0和Atom0.3。三个标准在RSS领域中展开竞争,但为了技术标准的统一,三个技术标准正在展开相互兼容的对话。
7.1.2 特点
RSS技术对内容提供者和接收者都有好处,对内容提供者来说,RSS技术提供了一个
实时、高效、安全、低成本的信息发布渠道;对内容接收者来说,RSS技术提供了一个崭新的阅读体验。
RSS技术的特点可以概括如下:
(1) 来源多样的个性化“聚合”特性
因为RSS是一种被广泛采用的内容包装定义格式,所以任何内容源都可以采用这种方式来发布信息,包括专业新闻站点、电子商务站点、企业站点、甚至个人站点等。而在用户端,RSS阅读器软件的作用就是按照用户的喜好,有选择地将用户感兴趣的内容来源“聚合”到该软件的界面中,为用户提供多来源信息的“一站式”服务。
(2) 信息发布的时效、低成本特性
RSS技术秉承“推”信息的概念,当新内容在服务器数据库中出现时第一时间被“推”到用户端阅读器中,极大地提高了信息的时效性和价值。此外,服务器端内容的RSS包装在技术实现上极为简单,而且是一次性的工作,使长期的信息发布编辑成本几乎降为零。
(3) 无“垃圾”信息、便利的本地内容管理特性
RSS用户端阅读器软件的特点是完全由用户根据自身喜好以“频道”的形式订阅值得信任的内容来源,如“新华网国际新闻”、“中国汽车网市场行情”、“天极网IT产品资讯”等。RSS阅读器软件完全屏蔽掉其他所有用户没有订阅的内容以及弹出广告、垃圾邮件等令人困扰的噪音内容。此外,对下载到阅读器软件本地的订阅RSS内容,用户可以进行离线阅读、存档保留、搜索排序、相关分类等多种管理操作,使阅读器软件不仅是一个“阅读”器,更是一个用户随身的“资料库”。
7.1.3 RSS技术应用现状
RSS技术在商业网站中已经得到广泛的应用,目前很多商业网站都提供RSS内容以供用户使用。
(1)国外的发展现状
RSS技术在西方发达国家,尤其是美国,已经达到了相当大的规模。据不完全统计,美国提供RSS内容的网站数目从2001年9月的1千余家增加到2004年9月的19.5万余家,短短的三年中增长了150倍,市场的飞速发展令人瞩目。
此外,随着RSS内容数量的增加,RSS用户的数量也取得了飞速的发展,从2001年8月的10万用户增加到2004年8月的9百万左右。
(2)国内的发展现状
国内的RSS技术也已经得到普及,据不完全统计,目前国内的RSS用户数量大约有20万左右。而在提供商方面也有很大发展,比如新浪网、新华网等著名网站都先后推出了RSS 内容服务,这些对国内RSS内容的发展起到了很好的促进作用。
7.1.4 RSS阅读器
RSS阅读器是为用户提供阅读RSS内容的工具,有了这种工具,用户只需要添加初始关注的RSS地址,以后系统会自动更新相关内容。目前存在的主要RSS阅读器如下:
(1)专用阅读器
●新闻蚂蚁,wsants/
●看天下,www.kantianxia/
●新浪点点通,www.sina/ddt/
●Plazoo,www.plazoo/
●周博通,www.zhoubotong/
●FeedDemon,www.bradsoft/feeddemon/
●SharpReader,www.sharpreader/
●RSS Bandit,/
●Straw,www.straw/
(2)附加阅读器
●Maxthon,www.maxthon/
●Firefox,www.firefoxcn
(3) RSS在线阅读器
●toPim,www.maxthon/
●NewsGator,wsgator/
●Bloglines,www.bloglines/
●Blogchina Rss,rss.blogchina/
以上列举目前比较流行的RSS阅读器,本章也将利用AJAX和ASP.NET2.0创建一个简单的在线阅读器。
7.1.5 RSS文件
RSS技术其实就是在客户端和服务器端利用RSS文件进行沟通,因此在提供商方面就是生成RSS文件,并进行发布,而客户端则通过解析这个RSS文件来获得相关的信息。本章要开发的在线阅读器就为了解吸这种文件以让客户能够阅读信息。
RSS文件的格式由于其采用RSS版本不同,格式可能有所差别,但其实都是基于XML 格式的一种文档,RSS文件就是XML文档。下面这段代码就是一个典型的RSS文件:<?xml version="1.0" encoding="gb1232"?>
<rss version="2.0">
<channel>
<title>生活频道</title>
<link>example/</link>
<description>我的生活</description>
<item>
<title>九月的生活</title>
<link>example/2002/09/01</link>
<description>开心的日子</description>
</item>
<item>
<title>日记</title>
<link>example/2002/09/02</link>
</item>
</channel>
</rss>
从上面文档可以看出,RSS文件就是一个XML文档。在RSS文件中,主要节点有rss、channel和item等,其中rss节点表示执行的RSS标准命名空间,channel节点表示在博客或新闻组中的一个类别,通常被译为频道,item节点表示用户要查看的主要信息,在item节点里包括信息的标题title、链接地址link和信息描述description等。关于RSS文件详细格式,可以参考www.kankanblog/seo%2Duniversity/rss.php展示的RSS文件。
此外RSS文件的后缀可以是rss、xml或rdf。
7.2 系统设计
这一部分介绍在线RSS阅读器系统的功能分析,软件结构设计等。
7.2.1 功能分析
一个简单的RSS阅读器具有的最基本的功能就是能够根据用户提供的RSS频道的地址来读取相应的RSS文件并以可读的形式展现给用户,这就是RSS阅读器的最基本功能—RSS 文件阅读功能。
此外,RSS阅读器还需要具有简单的RSS频道管理功能,即提供给用户添加频道、修改、删除和查看频道的功能。
总之,本章要实现的RSS阅读器主要就包括一下两部分功能:
●RSS文件阅读功能
●RSS频道管理功能
7.2.2 系统框架设计
根据以上功能设计,设计出如图7-1所示的系统主框架图。
图7-1 RSS阅读器主框架
在图7-1中,最上侧为头部分,这里显示系统的名称,中间为系统的功能展示区,下侧
为尾部分,显示一些与系统相关的信息。其中,中间部分又分为两个部分,左侧为功能导航,右侧为功能显示区域,在左侧上部为新增频道和频道管理功能的链接,下部为频道导航列表。
单击新增频道链接则进入新增频道功能界面,如图7-2所示。
图7-2 添加频道功能界面
图7-2提供了用户添加自己要收藏的频道的界面,用户可以输入频道名和频道地址然后单击添加按钮来实现频道的收藏。
单击频道管理链接则进入频道管理功能界面,如图7-3所示。
图7-3 频道维护界面
在图7-3中,上面是收藏的频道的浏览功能,用户可以单击操作按钮进入下部的频道维护功能,在这里用户可以修改或者删除频道。
单击频道链接则进入相应的频道浏览功能,如图7-4所示。
图7-4 RSS频道浏览功能
图7-4显示了所要查看的RSS频道的内容,这里只是一部分截图,详细内容可以参考相应的源码。这里把RSS文件解析后以可读的形式展现在用户面前,并且只包含该频道的
内容,而没有广告等多余的信息。
7.2.3 软件结构设计
在线RSS阅读器的实现是基于AJAX,ASP.NET2.0和SQLServer2005来实现的。系统架构采用典型的三层结构,即:表现层、业务层和数据层。使用HTML标记、CSS等元素来组成页面来展现功能而组成客户端,使用ASP.NET2.0来实现业务逻辑和数据访问并组成服务器层,AJAX用来实现客户端与服
务器的数据交换,而数据交换的形式可以采用XML 格式或者文本格式。图7-5描述了该系统软件结构层次。
客户端
服务器端
图7-5 系统软件结构层次
7.2.4 数据库设计
数据库中只包括一个数据表RSSUrl,用来存储用户收藏的频道,如表7-1所示。
表7-1 RSSUrl的设计
字段名类型大小描述
默认索引
ID int
频道名
Name varchar200
频道地址
Url varchar255
CreateDate date 默认创建日期
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论