景宝华
(江苏联合职业技术学院常州铁道分院,江苏 常州 213011;徐州工业职业技术学院,江苏 徐州 221000)
基于NHibernate的网摘与RSS系统设计与开发
景宝华
(江苏联合职业技术学院常州铁道分院,江苏 常州 213011;徐州工业职业技术学院,江苏 徐州 221000)
网摘具有将互联网上分散的信息资源汇集、分类并共享的功能,为网络用户有效管理个人知识体系提供了平台。文章首先分析了网摘系统需要实现的功能,其次对系统数据库进行了设计,最后介绍了系统实现的技术及关键代码。
网摘;RSS;系统设计;开发
1.1 网摘的概念
网摘是基于互联网平台的虚拟网络文摘收藏夹,它主要从知识管理、共享、挖掘的角度出发,解决本地收藏夹缺乏有效的索引机制、不能分享信息和资源,以及由于重装操作系统造成收录信息丢失或因异地上机无法及时获取收录信息等问题。网摘为用户提供了知识管理机制,同时用户之间可以方便的进行知识共享以及进行索引挖掘所需要的信息。
1.2 RSS的概念
RSS(Really Simple Syndication)是一种信息聚合技术。它采用XML标准描述和同步网站内容。网络用户使用RSS订阅功能可以快速地获取完整内容更新,可以在不打开网站页面的情况下,借助支持RSS聚合工具软件获取网站内容。具有信息来源多样的个性化“聚合”特征,且成本低、时效快、便于知识管理,该技术主要用于网站新闻频道。
本系统主要实现用户管理、网摘管理、网摘分类管理、网摘加入RSS、阅读网摘及评论等功能。用户在网上浏览信息时,可以把自己感兴趣的文章添加到网摘中,同时可以分类整理网摘中的信息,并对此作出简要的评论;也可以把此文件添加到RSS中,通过客户端软件轻松地阅读订阅的文章。网摘系统的总体功能模块如图1所示。
图1 网摘系统功能模块图
网摘系统具体实现功能如下:
用户管理:系统管理员能够对系统中的注册用户进行维护,包括用户注册、修改、删除、搜索和查看操作。
网摘管理:用户把文章添加到网摘中去,并根据自己的特点对文章进行分类管理,包括文章的增加、修改、删除、浏览及文章评论。
网摘分类管理:用户对自己的网摘进行分类归档,包括类别的增加、修改、删除和浏览。
信息回复:用户针对文章作出的主题评论所作的回复,包括信息浏览和提交新的评论。
网摘加入RSS:用户可以把经常阅读的文章添加到RSS中,方便以后阅读。
修改密码:提供用户修改密码的功能,密码加密后存入数据库。
本系统设计分为用户界面显示、逻辑处理和后台数据库三部分。后台数据库采用SQL Server 2000数据库系统进行设计与管理,编程语言使用ASP.NET语言进行编码。
(1)模块设计
根据功能需求,系统可以划分为网摘主页、网摘管理模块、网摘分类管理、信息回复、网摘加入到RSS、用户管理模块等6大功能模块。下面简要说明网摘管理模块和网摘分类管理模块。
1)网摘管理模块
根据用户是否登录来判断模块的功能,如是否显示标记为私有网摘的文章,是否能添加文章到网摘系统,以及回复信息的权限。
2)网摘分类管理模块
为了便于用户维护和浏览添加的内容,要对网摘进行分类管理,并根据用户是否登录来判断该用户是否有添加和修改网摘分类的权限。
(2)数据库设计
根据系统功能要求以及功能模块划分,系统需要建立4张表,分别是Users表、WebBrief表、WebSort表和Reply表,表与表之间的关系如图2所示。
图2 表间关系图
网摘系统需要不断查询数据库,并对数据进行插入、修改和删除等操作,为了提高程序的执行效率,需要在数据库中添加存储过程。
下面以用户登录(LoginUser)模块为例介绍其存储过程。该存储过程用于验证用户的登录身份,根据输入的用户名和密码信息,查找该用户是否已注册。如果用户名不存在或是提供的密码不正确,则登陆失败。存储过程代码如下:
CREATE PROCEDURE LoginUser
@usercode varchar(20),
@passwrd nvarchar(40),
@typeflag int out
AS
DECLaRE@userid varchar(20)
BEGIN
SELECT@userid=UserID FROM Users WHERE UserID=@usercode and PassWrd=@passwrd;
IF(@userid<>'')
SET@typeflag=1
ELSE
SET@typeflag=0
END
在系统实现过程中,需要用到数据库框架NHibernate、Ajax框架、MagicAjax等技术。下面仅分析NHibernate关键技术。
目前,操作数据库的方法很多,比如使用aDO.NET操作数据库等。不同的操作方法有各自的优点,使用NHibernate框架操作数据具有以下特点:① 对象持续性;② 支持对象查询;③ 性能优化;④ 数据库移植性好。在使用NHibernate框架之前,必须对系统做相应配置,即将框架所需动态库文件引用到系统中,然后再Web.Config配置文件。接着对数据表进行映射并定义数据类,具体映射代码不再赘述。
由于系统功能模块较多,下面仅给出类别管理模块功能实现代码。该模块主要对网摘类别进行管理,功能包括查看列表、添加、修改和删除功能,关键代码如下:
protected void Page_Load(object sender,Eventargs e)
{
NHibernate.Cfg.Configuration cfg=new NHibernate. Cfg.Configuration();
cfg.AddAssembly("chp10.nhibernate");
NHibernate.ISession Nssession=cfg.BuildSession-Factory().OpenSession();
NHibernate.IQuery Query=Nssession.CreateQuery ("from webSort");
string[]strKey=new string[]{"ID"};
GridView1.DataSource=Query.List();
GridView1.DataKeyNames=strKey;
GridView1.DataBind();
}
本文结合NHibernate框架介绍了使用ASP.NET语言编写具有后台数据管理功能的网摘系统实现的过程和方法,并对使用的关键技术做了分析,完成了网摘系统的设计与开发。在网络信息大爆炸的今天,如何快速根据个人兴趣分类、整理、共享并通过RSS订阅这些信息,有效构建个人知识体系,网摘系统必将会受到更大的关注。
[1]江广顺.ASP.NET+SQLServer热门网络应用开发[M].人民邮电出版社,2007,03.
[2]闫继涛.ASP.NET网络编程技术详解[M].清华大学出版社,2013,12.
Based on the NHibernate and RSS System Design and Development
Jing Baohua
(Jiangsu Union Technical Institute Changzhou Railway Branch,Changzhou 213011,Jiangsu)
Net abstract can have functions of the Internet information resource collection,classification and share.Social Bookmark provides a platform for network users to have effective management of personal knowledge system.This paper analyzes the funtion needed to Apply of net abstract at first,and then designs the system database,at last introduce the technology and key code of system implementation.
net abstract;RSS;system design;development
TP311
A
:1008-6609(2015)12-0073-02
景宝华,男,江苏镇江人,硕士,讲师,研究方向:数据挖掘与信息管理系统。