基于B/S体系结构开发应用系统

点击数:574 | 发布时间:2025-02-27 | 来源:www.yahucang.com

    摘要 本文介绍了组件与ActiveX技术,剖析了Browser/Server体系结构开发应用软件的特征和不足。提出了克服该不足的一种办法。最后给出了一个应用实例。
    关键字 WEB ,COM ,应用软件,服务器

    1 引言因为顾客服务器两层结构存在灵活性差、升级困难、维护工作量大等缺点,已较难适应目前信息技术与互联网技术进步的需要。伴随WEB技术的日益成熟,Browse/Server结构已成为取代Browser/Server结构的一种全新技术。使用该结构软件的优势在于:无须开发推广客户端软件,维护和升级便捷;可跨平台操作,任何一台机器只须装有WWW浏览器软件,均可作为顾客机来访问系统;具备好的开放性和可扩充性;可使用防火墙技术来保证系统的安全性,有效地适应了目前用户对管理信息管理软件的新需要。因此该结构在管理信息管理软件开发范围中获得高速发展,成为应用软件研制中一种时尚的体系结构。本文在对B/S体系结构剖析的基础上,提出了一种新的体系结构,把B/S与C/S相结合,将组件技术和ActiveX技术分别应用在服务器端和推广客户端,开发高效、安全的应用系统。最后给出了一个应用实例。2 . COM组件技术和ActiveX技术COM是一种技术指标。它是由Microsoft公司成立,提供了使多个应用程序或组件对象协同工作并相互通信的能力。COM组件是遵循COM规范撰写、以WIN32动态链接库(DLL)或可实行文件(EXE)的形式发布的可实行的二进制代码。遵循COM的规范标准,使组件与应用、组件与组件之间可以相互操作,极其便捷地打造可伸缩的应用系统。从工程的角度看,组件在应用开发方面具备以下特征:组件与开发的工具语言无关。开发职员可以参考需要和喜好选择特定语言工具达成组件的开发。常见的开发工具是VB、VC和Delphi。将组件编译成DLL或EXE置于服务器端。可有效保护商业秘密。 通过接口有效保证了组件的复用性。一个组件具备若干个接口,每一个接口代表组件的某个属性或办法。其它组件或应用程序可以设置或调用这类属性和办法来进行特定的逻辑处置。组件和应用程序的连接是通过其接口达成的。负责集成的开发职员无须知道组件功能的怎么样达成,而只须创建组件对象与其接口打造连接。在保证接口一致性的首要条件下,可以调换组件、更新版本,也可以将组件应用在不一样的系统中。组件运行效率高、便于用和管理。由于组件是二进制代码,比ASP脚本运行效率高,所以核心的商务逻辑计算任务需要由组件来负责,ASP脚本只起组装组件的角色。而且组件在互联网上的地方可被透明地分配,组件和用它的程序既能在同一进程中运行,也可在不同进程或不一样的机器上运行。组件之间是相互离别和独立的。借助MTS或COM+对组件管理愈加便捷。ActiveX是遵循COM/DCOM流程而开发的用于INTERNET的一种对象链接与嵌入技术(OLE)。COM是应OLE设计者的需要而诞生的。其基本的出发点是想让某个软件通过一个通用的机构为另一个软件提供服务。对于基于WEB的应用而言,它提供了使组件嵌入到WEB页面以扩展交互功能的应用机制。推广客户端控件是面向用户的,以可视化的图形视频或文字界面、或者音频形式在浏览器上出现。但它可能并非浏览器的组成部分。这类控件原先是放在服务器上的。当浏览器发出请求时,WEB服务器回传页面,由浏览器负责讲解。在讲解过程中,若发现页面中需要调用ActiveX控件时,则用该控件的在页面中注明的ID值先在当地的注册表内进行查看。若已经存在,则说明该控件已经在当地安装,然后通过注册表中的有关信息直接用该控件;不然就要依据页面中所提示的该控件所在的服务器上的路径到服务器上去下载并且自动完成在当地的安装注册,使该控件成为当地资源,供以后用,这就是所谓“一次下载,永久用“。推广客户端控件一旦在当地安装完毕,就等价于一个可实行的应用程序,它能访问用当地的资源,甚至进行远程访问。当然,这可能带来了安全性问题。3 基于B/S体系结构开发应用系统 3.1 B/S三层体系结构在B/S体系结构系统中,用户通过浏览器向分布在互联网上的很多服务器发出请求,服务器对浏览器的请求进行处置,将用户所需信息返回到浏览器。B/S结构简化了顾客机的工作,顾客机上仅需配置少量的推广客户端软件。服务器将担负更多的工作,对数据库的访问和应用程序的实行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回与动态网页生成等工作全部由Web Server完成。事实上B/S体系结构是把二层C/S结构的事务处置逻辑模块从顾客机的任务中离别出来,由Web服务器单独组成一层来负担其任务,如此顾客机的重压减轻了,把负荷分配给了Web服务器。这种三层体系结构如图1所示。 这种结构不只把顾客机从沉重的负担和不断对其提升的性能的需要中解放出来,也把技术维护职员从繁重的维护升级工作中解脱出来。因为顾客机把事务处置逻辑部分分给了功能服务器,使顾客机一下子"苗条"了很多,不再负责处置复杂计算和数据访问等重点事务,只负责显示部分,所以维护职员不再为程序的维护工作奔波于每一个顾客机之间,而把主要精力放在功能服务器上程序的更新工作。这种三层结构在层与层之间相互独立,任何一层的改变不会干扰其它层的功能。3.2 B/S三层体系结构的不足经过近一两年的应用,B/S体系结构也暴露出了很多不足地方,具体表目前以下几个方面:(1)因为浏览器只不过为了进行WEB浏览而设计的,当其应用于WEB应用系统时,很多功能否达成或达成起来比较困难。譬如通过浏览器进行很多的数据输入,或进行报表的应答都是比较困难和不便的。(2)复杂的应用架构困难。虽然能用ActiveX、Java等技术开发较为复杂的应用,但相对于进步已很成熟C/S的一系列应用工具来讲,这类技术的开发复杂,并没完全成熟的技术供用。(3) HTTP靠谱性低大概导致应用问题,尤其是对于管理者来讲,使用浏览器方法进行系统的维护是很不安全与不便捷的。(4)WEB服务器成为对数据库的唯一的推广客户端,所有对数据库的连接都通过该服务器达成。WEB服务器同时要处置与顾客请求与与数据库的连接,当访问量大时,服务器端负载过重。(5)因为业务逻辑和数据访问程序一般由JavaScript、VBScript等嵌入式微信小程序达成,分散在每个页面里,很难达成共享,给升级和维护也带来了不便。同时因为源码的开放性,使得商业规则比较容易暴露,而商业规则对应用程序来讲则是尤为重要的。 为克服以上不足,在原有B/S体系结构基础上,使用一种新的体系结构,如图2所示。在该种结构体系中,一些需要用WEB处置的,满足大部分访问者请求的功能界面(如信息发布查看界面)使用B/S结构。后台仅需少数人用的功能应用(如数据库管理维护界面)使用C/S结构。组件坐落于WEB应用程序中,推广客户端发出HTTP请求到WEB SERVER。WEB SERVER将请求传送给WEB应用程序。WEB应用程序将数据请求传送给数据库服务器,数据库服务器将数据返回WEB应用程序。然后再由WEB SERVER将数据传送给推广客户端。对于一些达成起来困难的功能或一些需要丰富的HTML页面,通过在页面中嵌入ActiveX控件来达成。使用这种结构优点在于:(1)充分发挥了充分了B/S与C/S体系结构的优势,弥补了二者不足。充分考虑用户利益,保证浏览查看者便捷操作的同时也使得系统更新简单,维护简单灵活,易于操作。(2)信息发布使用B/S结构,维持了瘦推广客户端的优点。装入顾客机的软件可以使用统一的WWW浏览器。而且因为WWW浏览器和互联网综合服务器都是基于工业标准,可以在所有些平台上工作。(3)数据库端使用C/S结构,通过ODBC/JDBC连接。这一部分只涉及到系统维护、数据更新等,没有完全使用C/S结构带来的推广客户端维护工作量大等缺点。并且在推广客户端可以架构很复杂的应用,界面友好灵活,易于操作,能解决很多B/S存在的固有些缺点。(4)对于原有基于C/S体系结构的应用,可以很容易地升级到这种体系结构,仅需开发用于发布的WWW界面,可以保留原有些C/S结构的某些子系统,充分地借助现有系统的资源。使得现有系统或资源不需要大的改造即可以连接用,保护了用户以往的投资(5)通过在浏览器中嵌入ActiveX控件可以达成在浏览器中不可以达成或达成起来比较困难的功能。譬如通过浏览器进行报表的应答。另外,在推广客户端ActiveX控件的代理,可以丰富HTML页面,产生另人惊奇的成效。(6)将服务器端划分为WEB服务器和WEB应用程序两部分。WEB应用程序使用组件技术达成三层体系结中的商业逻辑部分,达到封装源码,保护常识产权的目的。Internet应用程序大多数是分布式应用程序,使用组件技术一个要紧特征就是它的处置能力可以伴随用户数目、数据量所需性能的提升而增加。COM的无逢扩展集COM+,有着如内存数据库、负载平衡等强大的功能。

    4 实例

    下面以某学校学生管理软件为例说明B/S结构软件的设计办法,该系统使用B/S体系结构与COM+技术相结合。通过该系统管理职员可以对学生的学籍、学生的平时表现、学生的学习成绩、学校教师、学校的资产进行管理与维护。任课教师可以通过浏览器查看所教班级学生各种有关信息。学校管理职员通过浏览器对学校的学生、教师等信息进行管理与维护与有关查看统计功能。学校资产管理职员通过C/S体系结构达成对学校资产的管理维护。本系统结合了ASP技术和COM+技术,是一个三层结构。表示层由ASP页面组成,用以达成WEB页面显示和调用COM+组件,业务逻辑和数据访问由一组用VC达成的COM+组件构成。为了便于维护、升级和达成分布式应用,在达成过程中,又将业务逻辑层和数据访问层离别开,ASP页面不直接调用数据访问层,而是通过业务逻辑层来调用数据库。4.1 COM组件技术应用该系统的达成主要分为三个部分:数据库、COM+组件和ASP页面。其中数据库与ASP页面的达成与一般B/S结构的WEB应用相似。COM+达成可分为三个步骤:COM+组件的设计、COM+应用程序的生成和组件注册、基于属性编程。该管理软件借助VC中的ATL开发COM+组件。下面是该系统中一个定制组件部分主要代码在showscore.asp页面中同意、分辨用户的查看请求,做出不一样的查看处置。当顾客的身分为教师或教务员时,可以查看所有学生的成绩;当顾客的身分为学生时,只能查看本人的成绩。定制COM组件Score.dll进行查看处置。第一设计该组件的接口,为组件设计四个属性:SubjNo(课程号),Term(课程所属学期),ClassNo(班级号)和StuNo(学号)。概念两个办法RequeryScores和RequeryAllScores,分别对教师、教务部门和学生的请求做出相应的处置,并将查看结果集返回给用户。以下是达成该组件Score.dll接口描述与达成办法的部分代码,从中可以看到组件的接口是怎么样达成的:import "ocidl.idl"; [ object, uuid, dual, helpstring, pointer_default ] interface IStudentScore : IDispatch{ [propget, id, helpstring] HRESULT SubjNo; [propput, id, helpstring] HRESULT SubjNo; //其它接口部分从略 [id, helpstring] HRESULT RequeryScores); };STDMETHODIMP CStudentScore::RequeryScores{ HRESULT hr=S_OK; IobjectContext* m_spObjectContext=NULL; //借助ADO访问数据库 ::CoInitialize; _RecordsetPtr pRecordSet=NULL,pRecordSetClone=NULL; BSTR bstrDSN=::SysAllocString; BSTR bstrSQL; try{ GetObjectContext; pRecordSet.CreateInstance); //依据查看需要进行不同操作生成相应SQL语句,程序具体处置从略 pRecordSet->CursorLocation = adUseClient;pRecordSet->Open; pRecordSet->PutRefActiveConnection; pRecordSetClone = pRecordSet->Clone; pRecordSetClone->QueryInterfaceppRecordset); pRecordSet->Close; pRecordSet = NULL; ::SysFreeString; ::SysFreeString; //事物成功完成,则提交该事物 I f m_spObjectContext->SetComplete;} catch{ if //事物失败,回滚事物处置 m_spObjectContext->SetAbort // 其他错误处置,从略 } return hr;} RequeryAllScores达成部分从略。另外ASP调用达成部分比较简单从略。组件编译结束后可以用COM+组件服务管理工具来管理COM+组件及其所在的应用程序。COM+组件服务是个图形界面的管理工具,借助它可以安装和发布组件、配置组件及其所在应用程序的属性,以达成组件安全性、MTS支持、排对组件、设置组件架构参数等。4。2 ActiveX技术应用 在本系统中很多报表的打印如学生成绩打印、学籍报表、学籍卡打印等需要特殊的格式。而浏览器所提供的打印功能没办法达成。为此可使用ActiveX技术,达成在WEB环境下的当地端打印和报表生成。具体达成过程为:(1)WWW服务器在接到用户请求后调用WEB应用程序中的相应组件,通过组件访问数据库,对数据处置生成报表数据,以文件形式存储于WEB服务器中相应目录下。(2)WWW服务器向用户浏览器发送内嵌ActiveX控件的HTML页面,并在HTML页面里的(OBJECT)标志中的param属性里指明数据文件的URL地址。(3)HTML页面依据所提供的ActiveX标志从WWW服务器上下载ActiveX控件到当地端,并在浏览器里实行。ActiveX控件在顾客浏览器里完成初始化工作将来,则需直接与服务器端联系,以获得报表数据。ActiveX控件与服务器端的连接使用HTTP协议所提供的GET办法,依据数据文件在WWW服务器上的URL地址,直接将数据文件从WWW服务器下载到当地端。(4)对数据文件进行分析,输入到控件的存储显示模块里,用以存储显示。(5)当用户按下打印按钮时,ActiveX调用打印模块进行打印输出。
    5 结束语伴随INTERNET普及,基于B/S体系结构开发应用程序变为时尚的方法。将组件技术应用到B/S体系结构中,达成业务逻辑封装,提升软件的可重性和可维护性。



    参考文献:[1]余英 ,梁刚 VC实践与提升COM和COM+篇. 中国铁道出版社[2]林子禹等 基于WEB与组件技术的企业应用系统设计模型 计算机工程与应用 2000.6.[3]夏骄雄等 基于Intranet的管理信息管理软件 小型微型计算机系统 2001、4 [4]楼伟进,应飚.COM/DCOM/COM+组件技术 :计算机应用2000、4.[5]张震、张曾科 一种新的WEB数据库系统结构 小型微型计算机系统 2001、5

  • THE END

    声明:本站部分内容均来自互联网,如不慎侵害的您的权益,请告知,我们将尽快删除。

专业院校

返回顶部

Copyright©2018-2024 国家人事网(https://www.zbxggc.com/)
All Rights Reserverd ICP备18037099号-1

  • 国家人事网微博

  • 国家人事网

首页

财经

建筑

医疗