论文部分内容阅读
摘要:RSS新技术在教育领域的应用越来越广泛,将其应用在教育资源库的建设之中,就可以很方便的实现教育资源的共享和聚合。基于RSS的技术基础,结合ASP技术就可以实现教育资源的提供、获取以及定制服务,从而打造出适合用户的教育资源联盟。
关键词:RSS;ASP;教育资源库
中图分类号:G633文献标识码:A文章编号:1009-3044(2007)06-11740-03
辛迪加源于英文syndicate,原意指联合组织,后来马克思将其发展成一种垄断组织的定义。目前,在互连网上也出现一种资源聚合的技术——RSS。简单的讲,RSS技术是在不同站点之间实现内容共享的一种技术。由于RSS发展的历史原因, RSS的英文全称解释则较为复杂,大致有三种:“Rich Site Summary”(丰富站点摘要)、“Really Simple Syndication”(真正简单聚合)和“RDF(Resource Description Framework) Site Summaries”(RDF站点摘要)。无论哪种解释,都共同的体现着资源的共享、聚合。用户可以借助RSS阅读器,在不打开网站内容页面的情况下时事阅读网站相关内容。
RSS作为一种新技术,已被广泛应用于教育领域。比如很多在线学习系统,都已提供RSS服务,学生在利用网络进行学习的过程中,很容易就获取到最近更新的知识;很多教师也利用RSS实现学生作业提交,教师利用RSS把所有学生作业聚合阅读,大大提高了教学效率。
而另一方面,随着国家大力推行教育信息化,各种教育资源库的建设与整合逐步得到完善,教育资源也日益增加。然而,伴随着教育资源库的建设和整合,诸多问题也随之而来:海量的教育资源会使用户产生资源迷航,资源库间的资源信息共享缺乏,造成资源的重建和浪费……这对教育资源库服务的便利性大打折扣。因此需要在教育资源库建设过程中,提供资源信息共享和聚合功能,以解决资源库间的资源信息互通问题。利用RSS技术则可以很好解决这一问题。
1 RSS技术基础
W3C(World Wide Web Consortium,http://www.w3.org/)定义所有RSS文件必须遵循XML1.0规范。一个RSS文件必须以.xml扩展名保存,它以rss为根元素,用version属性来声明RSS文件遵循的RSS版本。RSS2.0 文件中的rss元素定义为。RSS主体内容由hannel元素及其子元素组成。channel元素用来定义频道内容,子元素title、、link、description等用来对频道的信息进行描述,子元素item构成频道的内容项,可重复出现,因此通过对频道及所含资源的描述,可实现对作为资源集合的网站的描述。下面对channel元素的一些重要子元素进行简要阐述:
(1)title是频道的标题;
(2)link是与频道内容对应网页的地址(URL);
(3)description是对频道内容的简要描述;
(4)image指定了频道的图像;
(5)ttl描述频道的更新周期;
(6)cloud用于需要及时更新内容聚合的情况,描述了具体注册站点、协议和端口等信息;
(6)textinput用于呈现一个HTML表单以便用户输入;
(7)items指定频道中的一个内容项,比如资源的标题,它的超链接将指向具体的资源链接页面。items元素包含的子元素title、link、description、source 、enclosure、category、pubDate、author等用来对具体资源信息的标题,链接,内容简介,来源地址,附带图片、音乐等文件,类型,发布日期,作者进行描述。
2 RSS和ASP技术实现教育资源提供
可以利用RSS技术在教育资源建设的同时增加RSS Feed(RSS种子),从而提供RSS服务。由于资源的更新速度快,如果为每一个资源都制作一个RSS Feed既复杂也浪费人力和时间,因此需要采用动态网页技术自动实现RSS Feed的更新。这样,在建设资源库时,则自动更新了RSS Feed。我们在这里采用ASP+ACCESS方法实现,ACCESS是一种小型数据库,它的优势在于简洁、方便,但它对大型数据库的支持较弱,所以在真正的应用中,数据库可以选择一些大型数据库(如SQL Server,Oracle等),但数据库设计和程序实现基本相同。
2.1数据库设计
增加RSS Feed功能并不会产生数据库的巨增,这是因为大部分RSS Feed所需的必备数据与原始资源库的数据是相同的,例如RSS Feed的元素(items)的标题(title)、内容简介(description)、类型(category)、发布日期(pubDate)、作者(author)等,都应该是原始数据库中必须的字段。因此只需要对原始数据库稍加扩充就可以实现RSS Feed,下面给出一个增加RSS Feed后扩充的数据库实例。
表1 资源项表
2.2程序实现
设计好数据库后,就可以用ASP动态生成RSS Feed文件,其算法流程图如图1。核心实现代码如下:
图1 RSS Feed生成算法
<%
dim Connstr,DbPath
DbPath="db1.mdb"'数据库文件的位置
Set conn = Server.CreateObject("ADODB.Connection")
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
Conn.Open Connstr'打开数据库连接
Set RS=Conn.Execute("SELECT Top 50 * FROM Res ORDER BY R_pubDate DESC;")'从资源库中选出最新的50条记录,也可以根据实际情况选出适量记录,甚至可以选出某时间段的资源。
3 RSS和ASP技术实现教育资源获取
运用RSS技术实现资源提供后,用户必须在本机上安装RSS阅读器(如新浪点点通阅读器),并且将提供的RSS Feed添加到新的频道,就可以获取资源库的最新信息。为了达到真正意义上的资源共享,我们必须提供资源获取的服务,使得用户可以下载资源,而不仅仅是提供一个表面友好的链接。其核心实现代码如下:
<%
dim xmlDoc ,http
dim root,ItemList,ItemNode,ItemNodeChilds,ItemNodeChild
Set http=Server.CreateObject("Microsoft.XMLHTTP") '创建XMLHTTP对象
http.Open "GET","http://rss.sina.com.cn/news/marquee/ddt.xml",False'获取远程xml文件
http.send
Set xmlDoc=Server.CreateObject("MSXML2.DOMDocument") '创建DOMDocument对象
xmlDoc.Async=False
xmlDoc.ValidateOnParse=False
xmlDoc.Load(http.ResponseBody)
set root=xmlDoc.documentElement
set ItemList=root.getElementsByTagName("item")'取出item元素
if ItemList.hasChildNodes then'如果xml文档含有子节点则执行
for each ItemNode in ItemList'对所有的子节点遍历
if ItemNode.hasChildNodes then
set ItemNodeChilds=ItemNode.childNodes'取出item的所有子对象
for each ItemNodeChild in ItemNodeChilds'对所有的item子对象遍历
if ItemNodeChild.TagName="title" then title=ItemNodeChild.text'取出资源标题
if ItemNodeChild.TagName="link" then url=ItemNodeChild.text'取出资源链接地址
next
response.Write(""&title&"
")'输出超链接
end if
next
end if
%>
4 实现教育资源的定制
资源定制是根据用户需求,建立用户检索文档,自动搜集用户感兴趣的信息,并将其传递至用户指定的“地点”,如用户邮箱中。教育资源库网站在提供RSS Feed 后,用户可以定制个性化服务,即资源库站点提供资源信息的定制服务。可以采取EMail的定制方案,这主要是因为这种方案可靠、方便、简单且经济。教育资源库站点的RSS Feed提供的资源信息定制模型如图3所示。通过资源信息服务的定制服务,使得一个用户可以同时获取多个教育资源库的更新情况,真正达到教育资源库的聚合,使得教育资源的建设更具有意义,利用率更高。
5 结束语
采取以上模型和程序方法,就可以非常简单的实现教育资源库的RSS服务。利用RSS技术建立的教育资源共享,是一个主动意义上的共享:用户一旦定制了某个教育资源库的RSS服务,教育资源库的更新会主动推送至用户的桌面。RSS技术是当前信息学科研究的热点之一,运用RSS技术为教育资源库建设服务,值得教育信息技术学者们研究,希望本文能起到抛砖引玉的作用,能在一定程度上促进教育信息化的进程。
参考文献:
[1]谢强.RSS及其在教学中的应用[N].福建行政学院福建经济管理干部学院学报,2005(11).
[2]易晓阳.RSS含义、本征与应用[M].图书馆学研究,2006(8).
[3]詹青龙.RSS技术及其在远程教育中的应用[M].教育信息化,2005(10).
[4]萨支斌.RSS技术研究[M].情报探索,2006(9).
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
关键词:RSS;ASP;教育资源库
中图分类号:G633文献标识码:A文章编号:1009-3044(2007)06-11740-03
辛迪加源于英文syndicate,原意指联合组织,后来马克思将其发展成一种垄断组织的定义。目前,在互连网上也出现一种资源聚合的技术——RSS。简单的讲,RSS技术是在不同站点之间实现内容共享的一种技术。由于RSS发展的历史原因, RSS的英文全称解释则较为复杂,大致有三种:“Rich Site Summary”(丰富站点摘要)、“Really Simple Syndication”(真正简单聚合)和“RDF(Resource Description Framework) Site Summaries”(RDF站点摘要)。无论哪种解释,都共同的体现着资源的共享、聚合。用户可以借助RSS阅读器,在不打开网站内容页面的情况下时事阅读网站相关内容。
RSS作为一种新技术,已被广泛应用于教育领域。比如很多在线学习系统,都已提供RSS服务,学生在利用网络进行学习的过程中,很容易就获取到最近更新的知识;很多教师也利用RSS实现学生作业提交,教师利用RSS把所有学生作业聚合阅读,大大提高了教学效率。
而另一方面,随着国家大力推行教育信息化,各种教育资源库的建设与整合逐步得到完善,教育资源也日益增加。然而,伴随着教育资源库的建设和整合,诸多问题也随之而来:海量的教育资源会使用户产生资源迷航,资源库间的资源信息共享缺乏,造成资源的重建和浪费……这对教育资源库服务的便利性大打折扣。因此需要在教育资源库建设过程中,提供资源信息共享和聚合功能,以解决资源库间的资源信息互通问题。利用RSS技术则可以很好解决这一问题。
1 RSS技术基础
W3C(World Wide Web Consortium,http://www.w3.org/)定义所有RSS文件必须遵循XML1.0规范。一个RSS文件必须以.xml扩展名保存,它以rss为根元素,用version属性来声明RSS文件遵循的RSS版本。RSS2.0 文件中的rss元素定义为
(1)title是频道的标题;
(2)link是与频道内容对应网页的地址(URL);
(3)description是对频道内容的简要描述;
(4)image指定了频道的图像;
(5)ttl描述频道的更新周期;
(6)cloud用于需要及时更新内容聚合的情况,描述了具体注册站点、协议和端口等信息;
(6)textinput用于呈现一个HTML表单以便用户输入;
(7)items指定频道中的一个内容项,比如资源的标题,它的超链接将指向具体的资源链接页面。items元素包含的子元素title、link、description、source 、enclosure、category、pubDate、author等用来对具体资源信息的标题,链接,内容简介,来源地址,附带图片、音乐等文件,类型,发布日期,作者进行描述。
2 RSS和ASP技术实现教育资源提供
可以利用RSS技术在教育资源建设的同时增加RSS Feed(RSS种子),从而提供RSS服务。由于资源的更新速度快,如果为每一个资源都制作一个RSS Feed既复杂也浪费人力和时间,因此需要采用动态网页技术自动实现RSS Feed的更新。这样,在建设资源库时,则自动更新了RSS Feed。我们在这里采用ASP+ACCESS方法实现,ACCESS是一种小型数据库,它的优势在于简洁、方便,但它对大型数据库的支持较弱,所以在真正的应用中,数据库可以选择一些大型数据库(如SQL Server,Oracle等),但数据库设计和程序实现基本相同。
2.1数据库设计
增加RSS Feed功能并不会产生数据库的巨增,这是因为大部分RSS Feed所需的必备数据与原始资源库的数据是相同的,例如RSS Feed的元素(items)的标题(title)、内容简介(description)、类型(category)、发布日期(pubDate)、作者(author)等,都应该是原始数据库中必须的字段。因此只需要对原始数据库稍加扩充就可以实现RSS Feed,下面给出一个增加RSS Feed后扩充的数据库实例。
表1 资源项表
2.2程序实现
设计好数据库后,就可以用ASP动态生成RSS Feed文件,其算法流程图如图1。核心实现代码如下:
图1 RSS Feed生成算法
<%
dim Connstr,DbPath
DbPath="db1.mdb"'数据库文件的位置
Set conn = Server.CreateObject("ADODB.Connection")
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DbPath)
Conn.Open Connstr'打开数据库连接
Set RS=Conn.Execute("SELECT Top 50 * FROM Res ORDER BY R_pubDate DESC;")'从资源库中选出最新的50条记录,也可以根据实际情况选出适量记录,甚至可以选出某时间段的资源。
3 RSS和ASP技术实现教育资源获取
运用RSS技术实现资源提供后,用户必须在本机上安装RSS阅读器(如新浪点点通阅读器),并且将提供的RSS Feed添加到新的频道,就可以获取资源库的最新信息。为了达到真正意义上的资源共享,我们必须提供资源获取的服务,使得用户可以下载资源,而不仅仅是提供一个表面友好的链接。其核心实现代码如下:
<%
dim xmlDoc ,http
dim root,ItemList,ItemNode,ItemNodeChilds,ItemNodeChild
Set http=Server.CreateObject("Microsoft.XMLHTTP") '创建XMLHTTP对象
http.Open "GET","http://rss.sina.com.cn/news/marquee/ddt.xml",False'获取远程xml文件
http.send
Set xmlDoc=Server.CreateObject("MSXML2.DOMDocument") '创建DOMDocument对象
xmlDoc.Async=False
xmlDoc.ValidateOnParse=False
xmlDoc.Load(http.ResponseBody)
set root=xmlDoc.documentElement
set ItemList=root.getElementsByTagName("item")'取出item元素
if ItemList.hasChildNodes then'如果xml文档含有子节点则执行
for each ItemNode in ItemList'对所有的子节点遍历
if ItemNode.hasChildNodes then
set ItemNodeChilds=ItemNode.childNodes'取出item的所有子对象
for each ItemNodeChild in ItemNodeChilds'对所有的item子对象遍历
if ItemNodeChild.TagName="title" then title=ItemNodeChild.text'取出资源标题
if ItemNodeChild.TagName="link" then url=ItemNodeChild.text'取出资源链接地址
next
response.Write(""&title&"
")'输出超链接
end if
next
end if
%>
4 实现教育资源的定制
资源定制是根据用户需求,建立用户检索文档,自动搜集用户感兴趣的信息,并将其传递至用户指定的“地点”,如用户邮箱中。教育资源库网站在提供RSS Feed 后,用户可以定制个性化服务,即资源库站点提供资源信息的定制服务。可以采取EMail的定制方案,这主要是因为这种方案可靠、方便、简单且经济。教育资源库站点的RSS Feed提供的资源信息定制模型如图3所示。通过资源信息服务的定制服务,使得一个用户可以同时获取多个教育资源库的更新情况,真正达到教育资源库的聚合,使得教育资源的建设更具有意义,利用率更高。
5 结束语
采取以上模型和程序方法,就可以非常简单的实现教育资源库的RSS服务。利用RSS技术建立的教育资源共享,是一个主动意义上的共享:用户一旦定制了某个教育资源库的RSS服务,教育资源库的更新会主动推送至用户的桌面。RSS技术是当前信息学科研究的热点之一,运用RSS技术为教育资源库建设服务,值得教育信息技术学者们研究,希望本文能起到抛砖引玉的作用,能在一定程度上促进教育信息化的进程。
参考文献:
[1]谢强.RSS及其在教学中的应用[N].福建行政学院福建经济管理干部学院学报,2005(11).
[2]易晓阳.RSS含义、本征与应用[M].图书馆学研究,2006(8).
[3]詹青龙.RSS技术及其在远程教育中的应用[M].教育信息化,2005(10).
[4]萨支斌.RSS技术研究[M].情报探索,2006(9).
本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。