摘 要: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所示。www.133229.COm
如图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.