【vc++精品源码栏目提醒】:网学会员为广大网友收集整理了,基于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 三层结构构建的思路根据前面定义的三层结构我们可以比较容易的解决上面的问题在客户端所