【ACCESS精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了ACCESS精品源码-基于Web的三层应用程序设计 - 技术总结的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
第30卷第1期2008年3月 湘潭师范学院学报自然科学版JournalofXiangtanNormalUniversityNaturalScienceEdition Vol.30No.1Mar.2008基于Web的三层应用程序设计①周 剑12徐德智11.中南大学信息科学与工程学院湖南长沙4100832.湖南科技大学机电工程学院湖南湘潭411201摘 要:随着Web技术迅速发展基于Web的应用程序设计正在引发一场新的技术革命要求开发人员在应用程序开发中使用多种开发结构三层结构是指逻辑上的三层这种体系结构代表了全球应用软件技术发展的必然趋势.本文以一个基于web的考试系统为例回顾了应用程序结构发展的历程论述了三层结构的构造过程。
关键词:Web三层结构asp中图分类号:TP393.092 文献标识码:A 文章编号:1671-0231200801-0034-031 应用程序结构的发展进入21世纪以来应用软件平台发生了革命性的变革有人称之为第二次革命。
这种变革与应用市场需求及其解决方案的是相辅相成的今天的开发人员所面临的商用需求极具广泛性:将传统的客户机/服务器应用程序发展成多层应用程序以胜任与企业级相适应的各种任务。
对软件方案解决需求的增长要求开发人员在应用程序开发中使用多种软件产品。
基于技术的多层B/SBrowser/Server结构、基于组件又称部件或构件开发的新型软件开发技术、及新型套装开发工具软件构成了新一代计算机管理系统平台体系结构1。
总体来说应用程序结构发展主要经过了3个阶段即从单层应用软件发展到双层结构近年来又出现了三层结构。
1.1 单层结构没有层次概念所有的用户界面、业务规则以及数据处理都包含在一个应用程序中它们通常都在同一台计算机上实现。
软件的结构难以组织程序的扩展性和可移植性很差而且不利于开发人员的协作。
1.2 双层结构在这个体系结构中处理被分散在两台机器上:客户机和服务器。
客户机一般执行表示逻辑和业务逻辑而服务器则提供对数据的访问。
服务器通常专用于运行一个关系型数据库管理系统例如Oracle或SQL-Server的服务器。
在客户端上类似于VisualBasic的开发工具为开发Windows的用户大开方便之门。
随着应用程序和用户端不断增长两层结构已经不能满足系统需求传统的Client/Server主从结构逐渐向灵活的多级分布式Web计算模型进行着演变三层结构在这样的背景下才“千呼万唤始出来”。
2 三层结构的引入“三层结构”一词中的“三层”是指:“表现层”、“中间业务层”、“数据访问层“.在逻辑上将这三层分开就得到了三层结构其中:表现层:位于最外层最上层离用户最近。
用于显示数据和接收用户输入的数据为用户提供一种43①收稿日期:2007-09-21作者简介:周 剑1979-男湖南湘乡人硕士生讲师研究方向:软件工程。
交互式操作的界面。
这一层通常用前端工具vbvcasp等开发。
中间业务层:负责处理用户输入的信息或者是将这些信息发送给数据访问层进行保存或者是调用数据访问层中的函数再次读出这些数据。
这一层通常以动态链接库的形式存在并注册到服务器的注册簿registry中2。
数据访问层:仅实现对数据的保存和读取操作。
数据访问可以访问数据库系统、二进制文件、文本文档或是XML文档。
图1 三层结构示意图3 三层结构的实现本文以一个基于web的考试系统为例论述了三层结构的构造过程以及与两层结构的异同。
系统采用AspSql-server2000开发3。
3.1 两层结构的asp应用的缺点在browser/server应用程序开发领域微软公司的iis/asp以其强大的功能良好的扩展能力迅速地流行起来。
它能使一个具有vb/vc经验的程序员很快地成为一个web程序员但是由于asp代码和html代码是混在一起的当程序逻辑足够复杂时.asp源文件非常长而且无论客户提出用户界面的改变还是商业逻辑的改变都需要对.asp文件进行改动而商业逻辑的改变很可能需要改动很多文件。
比如在某考试系统中“合格”的标准可能从达到60分就算合格改为进入前50名才算合格这样的程序难以升级和维护。
3.2 三层结构构建的思路根据前面定义的三层结构我们可以比较容易的解决上面的问题在客户端所有需要显示合格人员名单的地方调用这样一个函数getqualifiedlist在中间业务层用dll实现这个getqualifiedlist函数如果用户对“合格”的定义变了只需要修改这个函数就可以了只要此函数的入口参数和返回内容不变在客户端不需作任何改动。
这样也符合面向对象程序设计思想之一:封装。
3.3 三层结构构建的方法3.3.1 在数据库系统中建立如下数据库表建立一张学生表student包含学生学号stuid主键姓名name和分数score。
3.3.2 建立和配置动态链接文件启动VB新建一工程工程类型为activexdll。
在工程中新建一个activex类取名为student然后向类中填加属性和方法填加stuid学号属性、name姓名、score成绩属性然后创建create方法.该方法实现根据学号创建学生对象把学号姓名和成绩读出分别赋给3个私有变量。
由student类派生出一个类students它有一个核心函数getqualifiedlist此函数实现找出数据库中所有成绩合格的学生纪录把它们作为对象集合放在colqualifiedlist对象集合中。
如图2所示在getqualifiedlist函数中可以根据实际情况灵活的设置学生考试的合格情况如果是60分及格相应的sql语句为selectstulidfromstudentwherescore60orderbyscore如果要变为前50名合格只需要修532012-05-172012-05-172012-05-172012-05-172012-05-172012-05-17改成selecttop503fromstudentorderbyscoredesc。
编写两个函数第一个函数getfirst获取对象集合中的第一个对象第二个函数getnext实现集合的遍历。
最后在VB下对源文件进行编译得到一个dll文件。
图2 类结构图3.3.3 注册动态链接库使用regsvr32文件名注册dll文件这里的文件名为test解除注册为:regsvr32文件名/u4。
3.3.4 用Asp编写用户界面程序使用Asphtml设计用户界面可在网页制作软件中编辑使用语句setstudentserver.createobject“test.employees”调用服务器组件建立student对象调用该对象的getqualifiedlist函数实现成绩合格学生的选择借助循环读出符合条件的学生的相应属性即学生的学号、姓名、成绩最后完成设计。
通过此系统开发我们可以发现三层结构的优点商业逻辑的改变只会影响中间业务层其它两层的源代码无需修改例如上面提到的学生成绩合格的规则改变或者数据库后台的变更比如从
Access升级到Sql-server都只要修改中间业务层相应代码体现了分层结构的特色。
相比其它结构三层结构具有它独特的特色已经长久的生命力也必将是软件架构未来发展的方向。
参考文献:1李端有周振红.基于组件的三层式应用程序体系结构J.长江科学院学报20013.2路红武尤兰.基于-net类结构的WEB应用分层设计与实现J.北京化工大学学报20051.3胡颖辉.基于面向对象技术实现ASP.NET应用程序的安全控制J.科技资讯200636.4郭瑞军.ASP数据库开发实例精粹M.北京:电子工业出版社2006.632012-05-172012-05-172012-05-172012-05-172012-05-172012-05-17 专 业 推 荐 ↓ 精 品 文 档
上一篇:
ASPCMS渠道联盟中心代理加盟手册(上谷网络全国服务中心渠道招商)
下一篇:
西方政府再造的政治理论