基于.NET的B/S架构下新闻发布系统的设计与实现
NET是当前web应用开发中流行的技术,讨论了一个基于ASP.NET、B/S开发模式和SQL Server 2000相结合的新闻发布管理系统,同时对系统的功能模块、体系结构以及实现的关键技术进行了详细的介绍。
标签:ASP.NET;SQL Server 2000;三层架构;新闻发布系统
1 引言
新闻发布系统作为网站的一个重要组成部分,任何网站都必然对它进行开发。传统的网站新闻管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面,然后上传页面并修改相应链接,这种方式因为效率太低己不多用;二是基于ASP和腳本语言,将动态网页和数据库结合,通过应用程序来处理新闻页面,这是目前较为流行的做法。但是由于ASP本身的局限性使得系统有一些不可消除的缺陷,而采取了ASP.NET技术,增强了系统性能。
新闻结构
本文正是基于这种需求,结合当今流行的ASP.NET技术,采用简单易行的B/S结构,应用SQL Server后台数据库功能,来实现新闻发布管理系统。
2 系统分析与设计
2.1 系统的开发模式
为了满足系统对先进性、安全性、跨平台性、可扩展性、可移植性、分布式等方面的要求,系统总体架构设计采用先进的基于.NET的B/S的三层体系结构。这种模型使系统结构更加清楚,分工更加明确,有利于后期的维护和升级。三层体系结构由浏览器、web服务器和数据库组成,并结合HTML语言、C#语言、JavaScript脚本语言、ASP.NET、ADO.NET、ODBC等技术,后台数据库采用SQL Server 2000,如图1所示。
如图1可知,用户界面层是用户和整个系统的接口,客户端只需安装通用的浏览器即可建立与
本系统的连接。业务逻辑层负责处理用户输入的信息,或将这些信息发送给数据库层进行保存,或调用数据库层中的函数再次读出这些数据。数据访问层是整个分层体系的最底层,它主要用来实现与数据库的交互,即完成查询、插入、删除和修改数据库中数据的功能。
2.2 系统的功能结构
对于各类门户网站的新闻发布系统来说,所发布的不仅仅只有新闻,还包括通知、公告和专题等各种动态的信息,是一种广义上的新闻发布系统,也称其为信息发布系统。其流程主要是:系统管理员为各部门的管理员分配权限,信息管理员根据自己的用户名和口令登录到管理界面,进行新闻的录入和发布。通过对系统流程及需求的分析,确定了系统主要包括新闻前台显示和后台管理两大类。该系统的功能模块结构图如图2所示。
3 系统实现的关键技术分析
3.1 系统安全的设计
考虑到本系统采用的是B/S结构体系,所有机器都在Internet的开放环境下,因此,系统必须充分考虑到网络上存在的一切不安全因素。为此,本系统采用防火墙机制保护系统的数据和资
源。在SQL Server数据库中对用户权限验证采用双层验证机制:登录身份验证和对数据库的所有用户帐号、密码及用户权限的验证。此外在数据库中存储的数据,存储前使用加密算法进行加密,在SQL Server数据库中只能导出没有任何意义的数据;合法客户请求数据时,从数据库读出数据后,首先使用对应的解密算法,再把数据发送给用户。加密算法封装在dll文件中在源代码中调用.并使用IP验证来保护通过网络传递的数据安全。在WEB服务器中,本系统采用了基于系统管理的页面权限设计,根据安全策略划分出不同的角.对每个角分配不同的权限,并为用户指派不同的角。用户通过角间接地对信息资源进行相应的许可操作,采用表单提交式身份验证模式;加密身份验证使用单独的Cookie名称和路径。另外,使用SSL连接保护信息的传递来对用户输入信息进行输入验证。
3.2 基于ADO.NET技术的Web访问数据库
在ASP.NET中访问数据库有代码内联、代码后置、使用组件、使用存储过程等四种方法。在新闻发布管理系统中采用了代码后置、使用组件、使用存储过程三种方法。
(1)代码后置:在代码后置模型中,对数据库进行操作的代码与页面的实际内容相互隔离,被完全转移到一个单独的文件中。由美工人员负责设计Web应用程序外观(布局、颜、美学等),由程序员负责编写业务逻辑和对数据库操作的代码。
(2)使用组件(DLL):在使用组件的方式中,不仅将对数据库进行操作的代码分离出来放在一个单独的文件中,而且将该文件编译成组件。这些组件放置在Web服务器上,即三层结构中的业务逻辑层。在ASP.NET页面中即可非常方便“引用”此组件,.dll文件中的内容已经编译,可以大大加快程序运行速度,此外还可以保护源程序。
(3)使用存储过程:在新闻发布管理系统中,应用程序使用存储过程代替SQL语句进行数据访问。在提高代码安全性的同时,也加快了程序执行效率。
3.3 基于web的动态网页与链接技术
本系统新闻资源是通过web数据库管理和维护的。系统采用ASP.NET设计Web数据库中间控件。ASP.NET提供了一种新的编程框架,是一种运行于服务器端的脚本引擎,可以创建动态、交互式且高性能的Web应用,它包含了许多新的功能:1)web controls使创建HTML controls变得更为简单;2)支持多种语言。其缺省语言是Visual Basic,而不是Vbscript,可使用编译、事件驱动模式;3)更好的代码控制;4)更好的升级能力。ASP.NET完全和HTML集成,具有强大的网络数据库处理功能。对于大量的、可以重复使用的信息资源,通过建立信息资源数据库,利用ASP.NET与Web服务器建立快速链接。根据用户请求灵活组织内容,形成动态页面。
4 结语
采用基于.NET的B/S三层体系结构和ASP.NET软件开发技术设计并实现了一种新闻发布管理系统,运行效率要远优于基于VBScript开发的ASP程序,系统的安全性也得到较大的提高。该系统与Internet无缝结合,实现了在Internet上完成新闻发布的控制和管理。
参考文献
[1] 李勇平,陈锋波.ASP.NET(c#)基础教程[M].北京:清华大学出版社,2006.
[2] 崔青,李秀红,栾竹青.基于ASP.NET考试系统的Web设计与实现[J].电脑学习,2008,(04).
[3] 暴志刚,胡艳军,顾新建.基于Web的系统权限管理实现方法[J].计算机工程,2006,(01).
[4] 曹衍龙.ASP/ASP.NET数据库开发实用工程案例精选[M].北京:人民邮电出版社,2005.