新闻发布系统.docx
《新闻发布系统.docx》由会员分享,可在线阅读,更多相关《新闻发布系统.docx(16页珍藏版)》请在冰点文库上搜索。
新闻发布系统
整体架构与实现校园网新闻发布系统
摘要应用网络通信技术传达最新动态,已成为今天通信中的重要组成部分,随着互联网的飞速发展,新闻在网络中的发布也越来越引起教育机构、政府及企业单位的高度重视。
组建校园网新闻发布系统,快速传达校园内外最新动态,有利于加强师生的互动性,拓展师生的生活视野。
本文阐述了校园网新闻发布系统的需求及内涵,深入分析校园网新闻发布系统的体系结构及应用,最终讨论了新闻发布系统的编程技术与实现。
编制校园网新闻发布系统应遵守软件工程的原则,本文从新闻发布系统设计、功能目标设计、具体页面的确定及数据库的设计等几个方面来说明新闻发布系统的技术与实现。
关键词三层结构ADO.NET
Theoveralloverheadconstructionandrealizesthesystemofcampusnetnewsissue
ChengChengLi
(Dept.ofComputerandInformationScience,SouthwestForestryCollege,Kunming,Yunnan,650224,China)
AbstractApplyingthenetworkcorrespondencetechniqueinformslatestdevelopment,hasbecometheimportantpartofthenowdayscorrespondence,alongwiththeflyingdevelopingoftheInternet,announceofnewsinnetworkalsocauseseducateorganization,governmentandbusinessenterpriseunitsmoreandmorevaluehighly.Establishingthenewsannouncesystemofcampusnet,informinglatestdevelopmentquicklyoutsideorinsidethecampus,itisbenefittoenhancestheinteractiveofteachersandstudentsandexpandslivingvisualfieldofteachersandthestudents.Thistextexpatiatestheneedsandcontentofthenewsannouncessystemofcampusnet,andgoesdeepintoanalyzesystemandapplicationsofthenewsannouncesystemofparknet,andattheenddiscusstheplaitdistancetechniqueofthesystemwithrealizesofthenewsannouncesystem.Establishingthenewannouncessystemofcampusnetshouldobeytheprincipleofthesoftwareengineering,thistextexplainsthetechniquethatnewsannouncesystemwithrealizesfromafewaspectsasfollows:
suchasthenewsannouncesystemdesign、functiontargetdesign、certainofconcretepageanddesignofdatabaseandsoon.
KeywordsThree-layerADO.NET
目录
引言1
2校园网新闻发布系统的现状1
3需求分析1
3.1功能模块的划分2
3.2数据流程图2
4总体技术架构3
4.1系统开发运行环境3
4.2使用ADO.NET连接数据库4
4.3ADO.NET对象4
4.4WEB控件与数源的绑定[12]5
5三层结构的确立5
5.1理论基础5
5.2两种体系结构的对比6
5.3三层体结构在该系统中的应用7
6数据库的设计8
6.1数据库的需求分析8
6.2实体关系图8
6.3数据库结构的创建10
7代码设计10
8人机交互界面的设计12
9系统测试12
10结论与展望13
引言
信息高速公路是一种高速多媒体传输系统,它能在全球甚至更大的范围内传输声像图文并茂的多媒体信息。
由美国首先提出的“信息高速公路”是指数字化大容量光纤通信网络,用以把政府机构、企业、大学、科研机构和家庭的计算机联网。
一些国家和公司还提出利用卫星架设“空中信息高速公路”的设想(北京科普之窗,2000)。
这一时代的到来使得新闻在网络中传输成为可能。
今天上网看新闻已经是人们日常生活的一部分,快速及时的浏览新闻,能拓展人们的生活视野。
因此越来越多的企事业单位都很重事新闻网站的建设。
校园网新闻发布系统有利于校园网新闻的及时传播,及时传达最新动态,学术研究成果,是资源快速共享的一种方式。
因此研究校园网新闻发布系统对于学校建设与发展具有重要意义,本文所阐述的系统就是在这样的前提下提出的。
该系统要求能添加新闻、删除新闻、更新新闻,对一般用户能查看、检索新闻。
2校园网新闻发布系统的现状
今天校园网络迅速普及,校园网新闻发布系统也层出不穷,经Google搜索,约有1,110,000项符合“校园网新闻发布”的查询结果,约有522,000项符合“校园网新闻发布系统”的查询结果。
这说明了校园网新闻的发布,随着互联网的快速发展也迅速发展起来。
而现行的校园网新闻发布系统大多是采用ASP技术组建的。
例如:
第三军医大学校园网新闻、华东交通大学校园网新闻发布系统、无锡商学院新闻系统等等。
本文将阐述使用ASP.NET来组建校园网新闻发布系统。
3需求分析
通过对现实的调查与研究,获知在该系统中需确立查看新闻和管理新闻两大功能模块,具体内容如下:
(1)查看新闻
在查看新闻模块中,可以查看新闻发布日期、查看新闻内容、查看新闻帖图及根据关键字查找新闻等。
(2)管理新闻网站
身份验证功能、添加新闻功能、删除新闻功能、修改新闻功能。
3.1功能模块的划分
通过上述分析可以为该系统作如下功能划分见图3-1-1。
图3-1-1:
系统功能模块图
3.2数据流程图
在对系统进行功能模块划分之后可画出该系统的数据流程图,该数据流程图说明了用户对数据表的操作与存储如(WendBoggs,2002)下图3-2-1用户查看新闻流程图,图3-2-2管理员管理新闻流程图:
图3-2-1:
普通用户查看、检索新闻流程图
图3-2-2:
管理员管理新闻流程图
4总体技术架构
在总体技术架构中,主要说明该系统中所运行环境与具体实现所用到的核心技术。
4.1系统开发运行环境
技术平台:
微软的.NET框架2003版。
信息服务器:
IIS5.1版本。
开发语言:
ASP.NET实现语言C#。
开发工具:
MicrosoftVisualStudio.NET2003
数据库:
MicrosoftOfficeAccess2003
操作系统:
WindowsXPProfessional
系统运行架构如图4-1-1所示。
图4-1-1:
系统运行架构图(叶汶华,2004)
4.2使用ADO.NET连接数据库
ASP.NET本身无法存取数据库,它必须与ADO.NET配合起来才能存取数据库记录(东名,2001)。
ADO.NET对象模型中有五个主要组件,分别是Connection对象、Command对象、DataAdapter对象、DataSet对象以及DataReader对象。
这些组件中负责建立联机和数据操作的部分称为数据操作组件(ManagedProviders),分别由Connection对象、Command对象以及DataAdapter对象所组成。
数据操作组件最主要的作用是当作DataSet对象以及数据源之间的桥梁,负责将数据源中的数据取出后植入DataSet对象中以及将数据存回数据源的工作。
ADO.NET提供两组数据操作组件,分别为OleDB数据操作组件以及SQLClient数据操用组件。
本系统采用Access故采用OleDB数据操作组(石志国,2001)。
4.3ADO.NET对象(Request和Response对象,2005)
ASP.NET提供许多对象给用户使用,如Request、Response、Application、Session、Cookies对象。
这些变量可以提供相当多的功能,例如可以在两个网页之间传递变量、输出数据及记录变量值等。
Request对象,主要是让服务器端取得客户端浏览的一些数据。
Response对象主要功能是输出数据到客户端,Application对象可以产生一个web应用程序都可以存取的变量,这个变量可视范围涵盖全部用户,Session对象的功能和Application对象的功能一样,都是用来存储跨网页的对象但Session对象变量针对单一用户,Cookies对象和Application、Session对象很相似都是用来保存数据。
它们的差异见下表4-3-1。
对象
数据存放的位置
生命周期
Application
服务器端的内存上
终止于IIS关闭时
Session
存放在服务器端的内存上
终止于设定时间或用户离线
Cookies
以档案的形式存放在客户端的磁盘上
可一直存在或终止于所设定的时间
表4-3-1Cookies、Application与Session对象的差异(东名等,2001)
4.4WEB控件与数源的绑定(陈娴等,2004)
Web控件的基本概念:
Web控件(DinoEsposi,2002)和HTML控件的不一样,HTTP控件是将HTML标记对象化,让程序代码比较好控制及管理这些控件,基本上它是转化成相对应的HTML标记。
而Web控件的功能比较强大,它会依客户端的一个或多个适当的HTML控件,它可以自动侦测Client端浏览器的种类,并自动调整成适合浏览器的输出。
Web控件还拥有一个非常重要的功能即支持数绑定(DataBing)。
这种功能可以和资料源连接,用来显示或修改数据源的数据。
要将控件与数据源绑定,最简单的方法是直接把数据指定给控件的某个属性,或者合用数据绑定格语句。
数据绑定语句可以让控件取得数据源的数据。
5三层结构的确立
在本节将确立该系统的结构方式,在现在的应用程序开发中存在两种较为流行的应用程序结构体系,即Client/Serve与Browser/Server体系结构。
本节说明它们的理论基础及比较,最终确定使用三层的Browser/Server体系结构。
5.1理论基础(杨威,2000)(系统的三层体系结构,2004)
在过去应用系统开发过程中,Client/Serve体系结构得到了广泛的应用。
其特点是,应用程序逻辑通常分布在客户和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。
但Client/Serve结构存在着很多体系结构上的问题,比如:
当客户端数目激增时,服务器端的性能会因为负载过重而大大衰减;一旦应用的需求发生变化,客户端和服务器端的应用程序都需要进行修改,给应用维护和升级带来了极大的不便;大量的数据传输增加了网络的负载等等[6]。
在Browser/Server三层体系结构下,表示层、功能层、数据层被割成三个相对独立的单元。
在表示层中包含系统的显示逻辑,位于客户端。
它的任务是由Web浏览器向网络上的某一Web服务器提出服务请求,Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它显示在Web浏览器上。
在功能层中包含系统的事务处理逻辑,位于Web服务器端。
它的任务是接受用户的请求,首先需要执行相应的扩展应用程序与数据库进行连接,通过SQL等方式向数据库服务器提出数据处理申请,然后等数据库服务器将数据处理的结果提交给Web服务器,再由Web服务器传送回客户端。
在数据层中包含系统的数据处理逻辑,位于数据库服务器端。
它的任务是接受Web服务器对数据库操纵的请求,实现对数据库查询、修改、更新等功能,把运行结果提交给Web服务器。
5.2两种体系结构的对比
Browser/Server体系结构与Client/Server体系结构相比不仅具有Client/Server体系结构的全部优点,而且又有Clinet/Server体系结构所不具备的独特优势。
(1)开放的标准:
Client/Server所采用的标准只要在内部统一就可以,它的应用往往是专用的。
Browser/Server所采用的标准都是开放的、非专用的,是经过标准化组织所确定的而非单一厂商所制定,保证了其应用的通用性和跨平台性。
(2)较低的开发和维护成本:
Client/Server的应用必须开发出专用的客户端软件,无论是安装、配置还是升级都需要在所有的客户机上实施,极大地浪费了人力和物力。
Browser/Server的应用只需在客户端装有通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。
(3)使用简单,界面友好:
Client/Server用户的界面是由客户端软件所决定的,其使用的方法和界面各不相同,每推广一个Client/Server系统都要求用户从头学起,难以使用。
Browser/Server用户的界面都统一在浏览器上,浏览器易于使用、界面友好,不须再学习使用其它的软件,一劳永逸的解决了用户的使用问题。
(4)客户端消肿:
Client/Server的客户端具有显示与处理数据的功能,对客户端的要求很高,是一个“胖”客户机。
Browser/Server的客户端不再负责数据库的存取和复杂数据计算等任务,只需要其进行显示,充分发挥了服务器的强大作用,这样就大大的降低了对客户端的要求,客户端变得非常“瘦”。
(5)系统灵活:
Client/Server系统的三部分模块中有一部分需改变就要关联到其它模块的变动,使系统极难升级。
Browser/Server系统的三部分模块各自相对独立,其中一部分模块改变时其它模块不受影响,系统改进变得非常容易,且可以用不同厂家的产品来组成性能更佳的系统。
(6)保障系统的安全性:
在Client/Server系统中由于客户机直接与数据库服务器进行连接,用户可以很轻易的改变服务器上的数据,无法保证系统的安全性。
Browser/Server系统在客户机与数据库服务器之间增加了一层Web服务器,使两者不再直接相连,客户机无法直接对数据库操纵,有效地防止用户的非法入侵。
三层的Browser/Server体系结构具有许多传统Client/Server体系结构不具备的优点,而且又紧密的结合了Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。
5.3三层体结构在该系统中的应用
由上分析与比较,本系统最终采用Browser/Server体系结构,其具体应用如下。
表示层ASP.NETwebForm,即新闻发布系统页面;业务逻辑层,即.Net组件;数据访问层,即ADO.NET。
这三层结构的关系如图5-3-1.
图5-3-1系统三层结构
6数据库的设计
数据库模型的设计是否合理会极大影响系统的使用性能。
本节根据需求分析,设计出适合该系统的数据表。
6.1数据库的需求分析
根据系统功能设计的要求以及功能模块划分,可能设计如下数据项和数据结构。
新闻内容表:
标题、发布时间、内容、作者、点击数目、上载图片、新闻类型编号
新闻类型表:
新闻类型编号、新闻类型名称。
新闻管理系统的用户的身份验证,不使用数据库设计,而使用Web.config文件来实现这个功能。
6.2实体关系图
由6.1分析可以画出在该系统中的实体关系图,见图6-2-1。
图6-2-1实体关系图
6.3数据库结构的创建
根据数据库的分析,建立如下两个数据表。
系统新闻内容表(Contents),其结构见表6-3-1.
字段名称
数据类型
字段描述
ID
自动编号
主关键字
biaoti
备注
新闻标题
shijian
日期/时间
新闻发布日期
neirong
备注
新闻内容
zuozhe
备注
新闻作者
click
数字
新闻点击次数
img
备注
新闻图片
typeid
数字
新闻类型
表6-3-1新闻内容表
系统新闻类型表(Type),其结构见表6-3-2。
字段名称
数据类型
字段描述
ID
自动编号
主关键字
typename
文本
新闻类型
表6-3-2新闻类型表(Type)
7代码设计
编码是程序设计的重要组成部分,是对计算机所下的指令,因此编码的好坏将直接影响到系统的安全性、稳定性、健壮性、可行性及系统的可维护性。
本系统的采用C#脚本语言,使用ADO.NET连接数据库,ADO.NET对像及Web控件绑定数据库。
使用ADO.NET连接数据库(MSDN中文网站,2005)
OleDbConnectionmyConnection=newOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Server.MapPath("new.mdb"));
OleDbDataAdaptermyCommand=newOleDbDataAdapter("selecttop12aa.*FROMaaWHEREtypeid=1orderbyshijiandesc",myConnection);
DataSetds=newDataSet();
建Web控件与数据源的绑定:
myCommand.Fill(ds,"aa");
MyList.DataSource=ds.Tables["aa"].DefaultView;
MyList.DataBind();
管理员的身份验证在Web.configuration配置:
HTTP对像存储变量与:
Response.Redirect("manage.aspx")
新闻的上传及异常处理:
Stringfilepath=
Server.MapPath("file/"+Path.GetFileName(File1.PostedFile.FileName));
if((biaoti.Text=="")||(neirong.Text=="")||(zuozhe.Text==""))
{
Label1.Text="标题、内容、作者等不能为空!
";
}
elseif(biaoti.Text.Length>=50)
{
Label1.Text="你的标题太长了!
";
}
elseif(File1.PostedFile.ContentLength>153600)
{
Span1.Text="上传的文件不能超过70kb";
return;
}
elseif(File.Exists(filepath))
{
Span1.Text="上传文件重名,请改名后再上传!
";
return;
}
else{
if(File1.PostedFile!
=null)
try
{
File1.PostedFile.SaveAs(filepath);
}
catch(Exceptionexc)
{
Span1.Text="保存文件时出错"+filepath+"
"+exc.ToString();
}
8人机交互界面的设计
总体布局与设计,在该新闻系统中,首页设计是关键。
在排版与布局上做到以时间为降序,这样用户登录便能看到最近发布的新闻,也可以通过更多新闻查看以前的新闻。
具体页面设计如下:
首页的设计,分为“内部新闻”和“外部新闻”两种类型,然后分别给出最近发布的新闻标题,如果用户想查看具体新闻,可以单击标题的超链接。
另外,每类新闻还提供“新闻管理”和“更多新闻”的超链接。
查看新闻页面的设计,当用户在首页或者是分类新闻页面浏览到自己感兴趣的新闻时,可以通过单击标题的超链接来查看新闻内容。
这个页面包括一个广告图片、新闻标题、新闻内容、新闻图片及新闻发布的时间等几个部分。
同时在下角还显示新闻的浏览次数。
新闻管理登录,要想进入管理系统,首先得通过身份验证,当单击“新闻管理”超链接以后,就进入新闻管理登录页面,管理员需要在文本框中输入管理员密码。
如果通过身份验证,就进入到功能选择页面,在功能页面中主要包括两个超链接即:
添加新闻、删除新闻。
添加新闻页面,添加新闻主要有选择新闻类别、标题、内容、作者、图片。
删除新闻页面,在该页面中可以实现按照指定新闻类型显示、删除某条新闻、查找新闻、修改新闻等功能。
在删除新闻的页面中,点击新闻标题超链接,进入新闻的修改页面。
在新闻修改页面中可以修改某条新闻的标题、内容、作者等。
9系统测试
经过编码设计与人机交互设计,就可对系统进行测试了。
该系统在WindowsXP上进行测试得出如下结论:
该系统能稳定地运行,但当访问的用户到达一定数量时,速度明显变慢。
在添加新闻页面中,不能使图文混排,上载图片速度慢。
10结论与展望
本文从新闻发布系统设计、功能目标设计和具体页面的确定及数据库的设计等几个方面探讨了新闻发布系统的技术与实现,最终采用Browser/Server三层结构应用ASP.NET编制校园网新闻发布系统。
采用易移植的数据库Access作为数据的存储工具,但同时它也失去了大型数据库的优点,如事务处理,存储容量大等。
该系统运行在Windows操作系统上且需IIS的支持,同时客户端能在任何具有浏览器的操作系统上查看新闻,包括Linux等操作系统。
随着网络校园化,校园文化、校园动态的传播方式也明显改变从过去的纸上传播变为网络传播。
校园网新闻发布系统作为校园传播最新动态,传播学校方针,让同学了解学校、了解社会的平台,它能为学校的建设与发展带来深远的影响。
参考文献:
[1]北京科普之窗.第二次信息革命:
[2]陈娴等编著.ASP.NET项目开发实践[M],2004.1
[3]东名等.ASP.NET动态网页设计高手[M].北京:
清华大学出版社,2001年
[5]石志国.ASP动态网站编程[M].北京:
清华大学出版社,2001年
[6]杨威.ASP3.0网络开发技术[M].北京:
人民邮电出版社,2000年
[7]季久峰.ASP.NET办公自动化开发实例导航[M]20