本栏目责任编辑:冯蕾 。 一网络通讯与安全。 B/S体系结构的应用 刘慧巍 (渤海大学信息科学与工程学院,辽宁锦州121000) 摘要:本文介绍了Browser/Server体系结构开发应用软件的特点,提出了三层体系机构的模型,分析了三层体系结构的具体运行程 序,最后根据这个模型开发了一个应用实例,并给出了这个实例的部分代码. 关键词:WEB;COM;应用软件;服务器 中图分类号:TP393 文献标识码:A 文章编号:1009—3044(2007)04—11003—02 LlU HUI—wei Application of Brows'er/Server System Structure (College of Information Science and Engineering Bohai Universi%'Oinzhou 121000,China) . Abstract:The paper introduced characteristic of the developed application software of Browser/Server system structure,and it bringed up the model of three tiers system structure and analysed the concrete function of the structure At last I delevoped an application based on the model and gived part of codes of the application. Key worcls:web;com;application software;server 1引言 由于客户服务器两层结构存在灵活性差、升级困难、维护工 作量大等缺陷,已较难适应当前信息技术与网络技术发展的需 下面以某学校学生管理系统为冽说明B/S结构软件的设计方 法,该系统采用B/S体系。 结构与C0M+技术相结合。通过该系统管理人员可以对学生 的学籍、学生的日常表现、学生的学习成绩、学校教师、学校的资 产进行管理与维护。任课教师可以通过浏览器查询所教班级学生 要 随着WEB技术的目益成熟,Browse/Smwer(简称B/s)结沟已成 为取代Client/Server(简称c/s)结构的一种全新技术。采用陔结构 软件的优势在于:…无须开发客户端软件,维护和升级方便;(2)可 跨平台操作,任何一台机器只要装有WWW浏览器软件,均可作 各种相关信息。学校管理人员通过浏览器对学校的学生、教师等 信息进行管理与维护以及有关查询统汁功能。学校资产管理人员 通过C/S体系结构实现对学校资产的管理维护。 为客户机来访问系统;(3)具有良好的开放性和可扩充性;(4)可采 用防火墙技术来保证系统的安全性,有效地适应了当前用户对管 理信息系统的新需求。因此该结构在管理信息系统开发领域中获 本系统结合了ASP技术和C0M+技术,是一个三层结构。表 示层由ASP页面组成。用以实现WEB页面显示和调用COM+绢 得飞速发展,成为应用软件研制中一种流行的体系结构。 本文在对B 体系结构分析的基础上,提出了一种新的体系结 构.把B/S与C/S相结合,将组件技术和AetiveX技术分别应用在 服务器端和客户端,开发高效、安全的应用系统。最后给出了一个 应用实例。 件,业务逻辑和数据访问由一组用VC实现的COM+组件构成。为 了便于维护、升级和实现分布式应用,在实现过程中,叉将业务逻 辑层和数据访问屡分离开.ASP页面不直接调用数据访问层,而 是通过业务逻辑层来调用数据库。 该系统的实现主要分为三个部分:数据库、COM+组件和ASP 页面。其中数据库与ASP页面的实现 一般B/S结构的WEB应 2 B/S三层体系结构 在B/S体系结掏系统中,用户通过浏览器向分布在网络上二的 许多服务器发出请求,服务器对浏览器的请求进行处理,将用户 用相似 COM+实现可分为三个步骤:COM+组件的设计、COM+应 用程序的生成和组件注册、基于属性编稗。该管理系统利用VC中 所需信息返回到浏览器。B/S结构简化了客户机的T作.客户机上 只需配置少量的客户端软件。服务器将担负更多的T作,对数据 库的访问和应用程序的执行将在服务器上完成。浏览器发 请 的ATL开发COM+组件。下面是该系统中一个定制组件部分主要 代码在showscore.asp页面中接受、辨别用户的查询请求,做出不 同的查询处理 当客户的身分为教师或教务员时,可以查询所有 学生的成绩:当客户的身分为学生时,只能查询本人的成绩。 定制COM组件Score.dll进行查询处理。首先设计该组件的 求.而其余如数据请求、加工、结果返回以及动态网页生成等T作 全部由We}1 Se n.er完成 实际上B/S体系结构是把二层C/S结构 的事务处理逻辑模块从客户机的任务中分离出来,由Web服务器 单独组成一层来负担其任务.这样客户机的日三力减轻了,把负倚 分配给了Web服务器。这种结构不仅把客户机从沉重的负担和小 断对其提高的性能的要求中解放出来,也把技术维护人员从繁重 的维护升级:f作中解脱出来。由于客户机把事务处理逻辑部分分 给了功能眼务器,使客户机一下子”苗条”丁许多,不再负责处理 接N,为组件设计四个属性:SubjNo(课程号),Term(课程所属学 期),ClassNo(班级号)和StuNo(学号) 定义两个方法Re— quetTScores和RequervAl1Scores,分别对教师、教务部门和学生的 请求做m相应的处理,并将查询结果集返回给用户。 以下是实现该组件Score.dll接口捕造以及实现方法的部分 代码,从中可以看到组件的接口是如何实现的: impoit”oeid1.idl”: ’ 复杂计算和数据访问等关键事务,只负责显示部分,所以维护人 员不再为程序的维护工作奔波于每个客户机之问,而把主要精力 【olojec!, uuidf46C01798一BE39—4FC0~A25D一718BA31DFADC) dual, 放在功能服务器上程序的更新工作。这种三层结构在层与层之问 相互独立.任何一层的改变不会影响其它层的功能。 helpstring(”IStudentScore Interface”), 3实例 收稿日期:2007叭一18 pohlter default(unique)] 作者简介:刘慧巍(1979一),男,辽宁锦州市人,助教,主要从事计算机教学研究。 1003 维普资讯 http://www.cqvip.com ・网络通讯与安全・ 。・ 本栏目责任编辑:冯蕾 ::SysFreeString(bstrSQL);//事物成功完成,则提交该事物 I f(m_spObjectContext-1 mspObjectContext->SetComplete0; }catch(一conl—error&e){ if(m—spObjectContext) //事物失败,回滚事物处理 mspObjectContext一>SetAbort0 //其他错误处理,从略 }retum hr;} RequeryAllScores0实现部分从略。另外ASP凋用实现部分比 __interface IStudentScore:IDispatchf 【propget,id(1),helpstring(”课程号”)]HRESULT SubjNo([out, retva1]BSTR*pVa1); 【propput,id(1),helpstring(”课程号”)]HRESULT SubjNo([in] BSTR newVa1); //其它接口从略 【id(5),helpstring(”methodRequeryScores”)]HRESULT RequerySc ores(([out,retva1]LPDISPATCH ppRecordset));}; STDMETH0DIMP CStudentScore::RequeryScores0 fHRESUIJrr hr=S OK; IobiectContext半H1 sp0bjectContext=NULL: 较简单从略。 ,/利用ADO访问数据库 ::CoInitia1jze(NULL); RecordsetPtr pRecordSet=NULL.pRecordSetClone=NULL: 组件编译结束后可以用COM+组件服务管理工具来管理 COM+组件及其所在的应用程序。COM+组件服务是个图形界面的 管理工具.利用它可以安装和发布组件、配置组件及其所在应用 BSTR bstrDSN=::SvsA11ocStringfL”Provider:SQL0LEDB.1;Per- sist Security Info=True;\ PaSSWOrd=;Initial Catalog=pubs;Data Source=zhudamiing;User 程序的属性,以实现组件安全性、MTS支持、排对组件、设置组件 构造参数等。 ID=sa“); BSTR bstrSQL; 4结束语 随着INTERNET普及,基于B/S体系结构开发应用程序变为 流行的方式。将组件技术应用到B/S体系结构中,实现业务逻辑 封装,提高软件的可重性和可维护性。 try{GetObjectContext(&m—spObjectContext);ateInstancef uuidoffRecordset)1; pRecordSet.Cre— ,/根据查询要求f查询所有课程、查询特定学期所有课程、查询 指定课程、查询特定学期某一课程)进行不同操作生成相应SQL 语句.程序具体处理从略 pRecordSet一>CursorLocation:adUseClient; 参考文献: 【1]余英,梁刚.VC实践与提高COM和COM+篇【M].中国铁道 出版社. pRecordSet->Open(bstrSQL,bstrDSN,adOpenKeyset,adLockOp— timistic,adCmdText); pRecordSet一>PutRefActiveConnection(NULL); pRecordSetClone pRecordSet->Clone(adLockOptimistic); 『21林子禹.等.基于WEB与组件技术的企业应用系统设计模 型『M1.计算机工程与应用,2000.6. 【3]夏骄雄.等.基于Intranet的管理信息系统【M】.,】、型微型计算 机系统.2001.4. pRecordSetClone->QueryInterface(IID IDispatch.fvoid )ppRe— cordset); pRecordSet—r>Close0; pRecordSet=NULL; 【4]楼伟进,应飚.C0M,DC0M,C0M+组件技术【M].计算机应用, 2000,4. 【5]张震,张曾科.一种新的WEB数据库系统结构【M].小型微型 计算机系统.2001.5. ::SysFreeString(bstrDSN); f上接第988页) 46)interface Vlan2 47)description Server VLAN 48)ip address 192.167.1.1 255.255.255.0 49)1 的IP地址就是各VLAN内计算机的默认网关,路由接口的IP地 址和子网掩码就决定了该VLAN中计算机可以使用的IP地址的 范围。如果某用户办公位置或网络设备发生变化,但工作部门关 系不变,无需更改VLAN配置,自动保持VLAN成员资格;反之, 用户工作部门关系改变,网络管理员只需更改VLAN配置,即可 使其加入新的工作组,降低了移动和变更的管理成本。 50)interface Vlan3 5 1)description Teach VLAN 52)ip address 192.1 67.2.1 255.255.255.0 53)ip helper 192.167.1.2 54)1 55)interface Vlan4 56)description O弼ce VIAN 57)ip address 192.167.3.1 255.255.255.0 7结束语 目前校园网的建设中.核心交换机都采用三层交换机,在很大 程度上支持了虚拟局域网(VLAN)技术,便于管理员对网络的管理 和维护,以高效的网络硬件性能和低成本的优势保证了校园网的 传输效率和安全性能。本文就是在第三层交换应用中结合VLAN 技术,针对具体校园网的实际情况对网络进行“升级”重组,使该校 园网有了质的飞跃.从而方便了相关人员的管理、使用和维护。 58)ip helper 192.167.1.2 59)1 60)interface Vlan5 61)description Flat VLAN 62)ip address 192.167.4.1 255.255.255.0 参考文献: 『11张卫,王能,俞黎阳,陆刚.计算机网络_T程【M].清华大学 出版社.2004.8.66—75. 63)ip helper 192.167.1.2 64)1 65)ip classless 66)ip route0.0.0.0 0.0.0.0 192.167.0.1 『21周常庆译.网络分析与设计【M】.中国电力出版社,2003.8, 128-136. 67)ip http server 68)1 69)line con 0 70)line vtv 5 15 711 1 【3】杨永斌.VLAN技术在校园网建设中的应用【J].计算机科 学,2004.31(12). 『4]姜忠.虚拟局域网VLAN技术概述 .网络与多媒体,2005,19. 72)end 【5]黄劲荣.虚拟局域网VLAN技术及实现【J].教育信息化, 2005,4. 只有在三层交换机中为每个VLAN设置一个路南接口.才能 实现VLAN问的路由。以上代码中的第42—63行依次为VLAN1、 VLAN2、VLAN3、VLAN4、VLAN5设置了各自接口。这些路由接口 1 004 电隧知识与技术 『6]王竹林,等.校园网组建与管理【M].清华大学出版社,2002.1.
因篇幅问题不能全部显示,请点此查看更多更全内容