已阅读5页,还剩96页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章B/S模式和C/S模式,一、C/S模式(一)简介CS是一种分布式系统结构,它基于简单的请求应答协议,在CS模式下,服务器只集中管理数据,而计算任务分散在客户机上,客户机和服务器之间通过网络协议来进行通讯。客户机向服务器发出数据请求,服务器将数据传送给客户机进行计算,这种模式的优点充分利用了客户机的性能,使计算能力大大提高;,另外,由于客户机和服务器之间的通讯是通过网络协议进行的,是一种逻辑的联系,因此物理上在客户机和服务器两端是易于扩充的。两层CS结构应用软件的开发工作主要集中在客户端,客户端软件不但要完成用户交互和数据显示,而且还要完成对应用逻辑的处理,即用户界面与应用逻辑位于同一个平台上。,(二)C/S模式发展1、主机处理系统CS模式实现了一种协作式处理:客户端发出请求到达服务器,服务器处理请求并将结果返回到客户端。CS这种协作其实就是一种特殊的分布式处理,资源分布于两个或更多的分离的计算机系统。,主机处理系统的主要好处是:(1)集中式安全性和海量数据存储设备的管理能力。(2)主机系统支持大量的并发用户。主要缺点是昂贵的初期投入和维护费用。(1)大型系统需要特殊的支持设施,如对计算中心机房的要求苛刻。(2)专业人员的培训也需要付出代价。,2、文件处理系统CS模式的另一种驱动力来自PC及PCLAN,业界称之为“向上优化”,意思是指将独立的PC机以部门或工作组为单位用网络连接起来,PC机一般情况下不再孤立工作。最初,PC机是为了共享文件以及昂贵的外设如激光打印机、磁带机等而连接到LAN上,构成文件处理系统。,在文件处理系统中,所有应用处理包括数据处理都发生在PC工作站一端,文件服务器仅负责从硬盘查询所需要的文件并通过网络把它发送给用户的PC机。数据处理通过PC上的DBMS进行,处理完的结果以整个文件的形式再送回文件服务器存储在硬盘上。,文件处理系统的缺点是:(1)用户所获得的计算能力局限于本地的PC工作站,而不管文件Server的速度有多快,安全性有多高,能力有多强。(2)尤其当多用户同时访问一个共享的数据文件时,同一个文件不得不发送到每个PC机上,这将导致网络开销增加,并发控制也相当困难。只能满足小规模的工作组应用需求。,3、CS处理系统指CS将应用资源在客户端和服务器之间进行恰到好处的分配。客户端通过网络请求服务,由最适合完成此项工作的服务器提供服务。,CS模式最典型的应用是数据库技术。在一个CS数据库系统中,应用被分成两个部分:数据库应用程序运行在PC机上(称作前端系统),负责用户界面和I0处理;DBMS部分(负责数据处理和硬盘存取)运行在服务器上(称作后端系统)。,数据库服务器一般采用集中式的管理方式。CS系统的优点是明显的:(1)通过将应用资源在前端和后端系统间的分离,降低了网络上的开销。(2)因为在CS系统中,网络上传送的一般是请求(如SQL语句)和结果(如记录),而不是整个文件。集中式CS技术已日趋成熟,几个流行的数据库厂商,如Sybase、Oracle以及Informix等均提供解决方案,它们适合于中小型企业以及大型企业的部门级应用。,4、分布式处理系统CS本身就是一种分布式处理技术,这里的“分布式处理系统”为了和前述CS处理系统相区别,专指存在两个或两个以上服务器的CS系统,这种系统伸缩性更强,实现及管理也更复杂。集中式C/S系统在一个WAN环境下显然存在问题。,5、对等处理系统对等系统被称为CS系统的最终归宿,是分布式处理的极限。CS系统的两个不同的部分:请求服务的客户端和处理请求的服务器,发展到对等服务阶段,将脱离主从结构,实现完全等同,即在网络上每个计算机既是客户端又是服务器。,(三)多层架构的C/S模式1、多层架构多层体系结构就是把传统两层CS结构中难以处理的业务逻辑部分单独抽象出来形成独立的一个或多个层次,以克服其不足,形成了所谓的“瘦客户”计算模式。,虽然对于多层体系结构并没有给出一个明确的定义,但是一般认为它是把应用程序逻辑划分为独立的3个部分:第1层是用户界面:提供用户与系统的友好交互;第2层是应用服务器:专管业务逻辑的实现;第3层是数据服务器:负责数据信息的存储、访问及其优化。,传统两层结构的C/S模式的两种类型:,其主要目的是:产生一套切实可行的解决方案,把传统CS结构下的应用可靠地推广到企业级的关键任务环境中,并利用这一技术所带来的高效率、多功能与灵活性,增强企业在市场上的竞争能力。,2、多层体系结构的优点多层CS结构中,应用的各层可以并行开发,各层也可以选择最适合的开发语言,有利于变更和维护应用技术规范。按层分割功能使各个程序的处理逻辑变得十分简单。一般而言,多层CS结构的优势主要表现在以下几个方面:,(1)企业业务逻辑集中放置在服务器上由所有的用户共享,使得系统的维护和更新变得简单。当业务逻辑发生变化时,只需更新服务器上相应的应用逻辑组件,之后所有的客户就可以使用新的业务处理逻辑,避免了客户端应用程序版本控制和更新的困难。,(2)在业务逻辑层,开发人员可以利用VB、VC等常用的开发工具开发可重用的二进制组件,而不是编写存储过程。这些组件可以镜像到多台机器上同时运行,从而分担多用户的负载。这些组件在同类型的应用系统开发中可以被重复使用,从而提高系统开发效率。,(3)应用程序组件可以共享与数据库的连接,数据库服务器不再是为每个活动的用户保持一个连接,从而降低了数据库服务器的负担,提高了性能,增强了系统的动态可伸缩性。(4)安全管理可以基于组件来授权而不是授权给用户,客户不再直接访问数据库,提高了安全性。,(5)不同层次的组件开发可以并行地进行。只要应用系统规划和设计人员仔细地分析,就可以把任务进行合理的划分。一方面提高系统建设速度;另一方面,开发人员可以对自己编制的组件进行认真测试,有效地保证组件集成起来的应用系统的可靠性。,(四)基于C/S模式下的网络GIS开发技术1、系统开发模式网络GIS的开发技术是同计算机软硬件技术以及网络技术的发展密切相关联的。在计算机发展的早期,由于计算机硬件存储技术的限制,在有限的计算机存储资源上存储海量空间地理数据是一个主要的技术瓶颈。,GIS厂商在空间数据存储上大下功夫:空间数据采用文件存储、属性数据采用传统关系数据库存储,二者通过唯一标识值相关联的方式便产生了。弊端:在局域网络上进行数据共享时,采用文件分割、动态调用的方式解决。当客户端要进行空间数据的可视化分析时,必须先从服务器端下载分割存储的空间数据文件。空间分析时,需要繁琐的数据拼接运算,影响性能。,基于二次开发语言的应用系统,GIS平台软件,图形数据,属性数据,早期的网络GIS系统架构模式,由于早期计算机软件技术的限制,GIS的开发厂商只能开发一个功能庞大而复杂的平台软件系统,网络GIS的二次开发商,只能基于这一平台,利用平台提供的简单的二次开发语言进行专业功能的定制开发。随着组件技术的成熟,GIS平台厂商采用标准的组件技术改善和升级了原有的GIS平台软件,二次开发商根据其提供的标准组件接口可以进行灵活的二次开发。,2、C/S网络组件平台组件技术的发展为网络地理信息系统的开发开辟了新的里程碑。组件式软件技术已经成为当今软件技术的潮流之一。为了适应这种技术潮流,GIS软件像其他软件一样,已经或正在发生着革命性的变化,即由过去厂家提供了全部系统或者具有二次开发功能的软件,过渡到提供组件由用户自己再开发。,在设计GIS应用系统时,各个GIS组件以及其他组件如同一堆各式各样的“积木”分别实现不同的功能(包括GIS和非GIS功能),程序开发人员根据应用需求把实现各种功能的“积木”搭建起来,就可以构成系统。,目前,国外主流的GIS组件产品主要有全球最大的GIS厂商ESRI推出的MapObjects、ArcObjects、ArcEngine,桌面GIS厂商Maplnfo公司推出的MapX,Intergraph公司的Geomedia等。国内有北京超图地理信息技术有限公司的SuperMapObjects5、武汉中地信息工程有限公司的MapGIS组件、武汉吉奥信息工程技术有限公司的GeoMap等。,ComGIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。,(1)MapObjectsMapObjects(MO)是美国ESRI公司为开发人员提供的一套图形和GIS组件,其结构合理、简洁、易于扩充,是目前较为流行的GIS控件。用户可用它来为自己或客户开发地理信息应用系统。MapObjects包括一个Map控件以及超过35个的OLE可编程对象。用户可使用VB、VC、Delphi等平台进行二次开发。,(2)SuperMapObjectsSuperMapObjects是SuperMapGIS系列软件中的基础开发平台,是一套面向GIS应用系统开发者的新一代组件式GIS开发平台。目前的最新版本是SuperMapObjects5。,SuperMapObjects组件开发平台以一系列ActiveX组件形式提供GIS基本功能,包括:(1)核心组件库(工作空间控件和地图控件)(2)布局组件(3)三维组件(4)拓扑组件(5)图例组件库(图例控件、图例列表控件和图例组合列表框控件)(6)属性表格组件(7)工作空间管理组件等多个可分拆的组件。,SuperMapObjects组件之间既互相联系,也保持相对独立性。其中核心组件库(工作空间控件和地图控件)是基础的、必选的组件,其他组件是可选的,这些组件对象关系如图36所示。,(3)ArcGISEngine简介ArcGIS是ESRI在继承已有的成熟技术的基础上,整合了GIS与数据库、软件工程、人工智能、网络技术及嵌入式系统等诸多领域的计算机主流技术,成功地开发出的新一代GIS平台。ArcGIS系统在过去五年对GIS发展的主要贡献之一是支持使用标准开发工具以及二次开发的易用性。ArcGIS9在此基础上增加了一个面向开发的新产品ArcGISEngine。,ArcObjects与ArcGISEngine的区别:在ArcObjects环境下的二次开发要依赖ArcGIS这个环境,用户在使用的时候也要求有同样的环境,大大限制了二次开发软件的可使用性和操作性。ArcGISEngine脱胎于ArcObjects,但比ArcObjects具有更强大的开发功能和独立性,使用ArcGISEngine,可以使二次开发产品嵌入到我们需要的应用程序中去。,ArcGISEngine有两种产品:ArcGISEngineDeveloperKit包括开发者建立解决方案所需的组件和工具集;ArcGISEngineRuntime运行定制的ArcGISEngine应用程序所需的基础设施。,ArcGISEngine平台的主要特性包括以下六项:标准的GIS框架ArcGISEngine为开发独立界面版本的GIS应用程序提供了一个标准框架。ArcGISEngine功能强大并且具有可扩展性,它丰富的功能集允许开发者将精力集中到解决应用程序中的业务逻辑中,而不是从头开始建立GIS功能集。,低成本的配置:独立界面版本的ArcGISEngine应用程序只需要ArcGISEngineRuntime,使它更容易发布一个定制的解决方案。,GIS软件组件库:ArcGISEngine的开发人员可以访问丰富的GIS软件组件集和可视化控件集,允许使用许多道具、事件和方法。开发控件:ArcGISEngine提供了一套可以在ActiveX、NET和java中使用的开发控件,从而简化了在用户的应用程序中添加地图制图功能的编程模型。,支持标准开发语言:ArcGISEngine支持多种开发语言,包括COM、NET、Java和C。开发资源库:ArcGISEngine开发包包括所有的建立一个定制应用程序所需的开发资源。ArcGIS软件开发包(SDK)是一个图表、工具、外接程序、范例和文档的集合,它可以帮助开发人员实现定制的ArcGIS功能。,能用ArcGISEngine能做什么?地图交互:漫游、缩放、识别、书签等地图创建:显示、投影、符号化,分类、标注、打印等。地图分析:选择,计算,缓冲区,切割等数据创建:创建,编辑,地理编码,读/写MXD文件等应用程序的开发开发控件等,ArcGISEngine扩展模块GeodatabaseUpdateSpatialAnalyst3DWithGlobalVisualizationStreetMapUSA,ArcGISEngine运行时运行包是所有的用Engine开发包开发的自定义的应用程序运行时所必要的ArcObjects的核心集合不再需要安装ArcGISDesktop标准的Engine运行时数据的获得,地图的制作,分析以及简单的要素编辑,Engine运行时的扩展模块3D(SceneandGlobe)SpatialGeodatabaseUpdateSteetMapUSA,3、空间数据库基于C/S模式实现分布式计算,为空间数据存储、传输提供高效的运算性能是网络GIS发展的一个主要趋势,实现数据存储的全关系化是GIS发展的另一个趋势。目前,在空间数据管理方面,各个GIS厂家逐步从使用文件系统存储管理空间数据向使用数据库管理方向发展,并提出了众多解决方案。,(1)GIS软件商自行开发的面向对象数据库管理系统,如LaserScan公司的GAD;(2)GIS软件商在关系数据库管理系统基础上开发的数据管理模块,如ESRI公司的ArcSDE、MapInfo公司的SpatialWare、超图公司的SDX+(spatialdatabaseextention)(3)数据库软件商直接在其关系数据库管理系统之上扩展空间数据管理功能,如Oracle、Informix等软件的可选模块都已具有管理空间数据(点、线、面)的能力。,ArcSDE是世界上著名的GIS软件生产商ESRI公司开发的一种空间数据引擎。它是该公司开发的一套GIS软件包“ArcGIS”的一个组成部分。ArcSDE的主要功能是在关系数据管理系统(RDBMS)和地理信息系统(GIS)之间充当一个应用网关,以充分地把GIS何RDBMS集成起来。,SDE管理空间数据并为访问这些数据的软件提供接口,为用户在任意应用中嵌入查询和分析这些数据的功能。SDE将地理特征数据和属性数据统一地集成在关系数据库管理系统(RDBMS)中,如Oracle、DB2、Informix、SQLServer等,利用从关系数据库环境中集成的强大的数据管理功能对空间数据和属性数据进行统一而有效的管理。,二、B/S模式随着分布式技术的不断发展和WWW浏览器技术的不断成熟,B/S结构:采用Internet/Intranet技术;适用于广域网环境;支持更多的客户;,可根据访问量动态配置Web、应用服务器,以保证系统性能,客户端只需标准的浏览器,系统扩展维护简单,代码可重用性好。用户界面完全通过WWW浏览器实现;用通用浏览器可实现原来需要复杂专用软件才能实现的强大功能,并节约开发成本。,(一)B/S模式分类基于B/S结构构造GIS应用有两种模式:一种是大部分事物逻辑在前端实现,称为客户机模式的网络地理信息系统,主要是利用了结合浏览器的多种Script语言(VBScript、JavaScript等)、ActiveX技术和Plug-in插件等。另一种是大部分事物逻辑依赖服务器端实现,采用通用网关CGI或其他通道脚本在Web服务器与GIS服务器之间进行通信,称为基于服务器模式的网络GIS。,(二)B/S的三层体系结构这种结构不仅把客户机从沉重的负担和不断对其提高的性能要求中解放出来,也把技术维护人员从繁重的维护升级工作中解脱出来。由于客户机把事物处理逻辑部分分给了功能服务器,使客户机一下子“苗条”了许多,不再负责处理复杂计算和数据访问等关键事物,只负责显示部分,所以维护人员不再为程序的维护工作奔波于各个客户机之间,而把主要精力放在功能服务器上程序的更新工作。,在B/S三层体系结构下,表示层(Presentation)、功能层(BusinessLogic)、数据层(DataService)被分割成三个相对独立的单元。第一层,表示层:Web浏览器。在表示层中包含系统的显示逻辑,位于客户端。,它的任务是:(1)由Web浏览器向网络上的某一Web服务器提出服务请求;(2)Web服务器对用户身份进行验证后用HTTP协议把所需的主页传送给客户端;(3)客户机接受传来的主页文件,并把它显示在Web浏览器上。,第二层,功能层:具有应用程序扩展功能的Web服务器。在功能层中包含系统的事务处理逻辑,位于Web服务器端。,其任务是:(1)接受用户的请求(2)首先需要执行相应的扩展应用程序与数据库进行连接(3)通过SQL等方式向数据库服务器提出数据处理申请(4)而后等数据库服务器将数据处理的结果提交给Web服务器(5)再由Web服务器传送回客户端。,第三层,数据层:数据库服务器。在数据层中包含系统的数据处理逻辑,位于数据库服务器端。它的任务是:(1)接受Web服务器对数据库操纵的请求(2)实现对数据库查询、修改、更新等功能(3)把运行结果提交给Web服务器。,(三)B/S体系结构的优势B/S体系结构与C/S体系结构相比不仅具备C/S体系结构特征,而且具有C/S体系结构所不具备的如下六种独特优势:(1)开放的标准C/S所采用的标准只要在内部统一就可,它的应用往往是专用的。B/S所采用的标准都是开放的、非专用的,是经过标准化组织所确定的,而非单一厂商所制定,保证了其应用的通用性和跨平台性。,(2)较低的开发和维护成本C/S的应用必须开发出专用的客户端软件,无论是安装、配置还是升级都需要在所有的客户机上实施,极大地浪费了人力和物力。B/S的应用只需要在客户端装有通用的浏览器即可,维护和升级工作都在服务器端进行,不需对客户端进行任何改变,故而大大降低了开发和维护的成本。,(3)使用简单、界面友好C/S用户的界面是由客户端软件所决定的,其使用的方法和界面各不相同,每推广一个C/S系统都要求用户从头学起,难以使用。B/S用户的界面都统一在浏览器上,浏览器易于使用、界面友好,不需再学习使用其他软件,一劳永逸地解决了用户的使用问题。,(4)客户端消肿C/S的客户端具有显示与处理数据的功能,对客户端的要求很高,是一个“胖”客户机。B/S的客户端不再负责数据库的存取和复杂数据计算等任务,只需要其进行显示,充分发挥了服务器的强大作用,这样就大大降低了对客户端的要求,客户端变得非常“瘦”。,(5)系统灵活C/S系统的三部分模块有一部分需要改变就会关联到其他模块的变动,使系统极难升级。B/S系统的三部分模块各自独立,其中一部分模块改变时其他模块不受影响,系统改进变得非常容易,且可以用不同厂家的产品来组成性能更加的系统。,(6)保障系统的安全性在C/S系统中由于客户机直接与数据库服务器连接,用户可以很轻易地改变服务器上的数据,无法保证系统的安全性。B/S系统在客户机与数据库服务器之间增加了一层Web服务器,使两者不再直接相连,客户机无法直接对数据库操纵,有效地防止用户的非法入侵。,(四)B/S结构的工作方式1、B/S模式的通信流程(1)用户打开计算机中的浏览器。(2)输入一个URL,浏览器将生成一个HTTP请求并把它发送到指定的Web服务器。(3)服务器将主页发回,浏览器将其显示在屏幕上。(4)用户阅读相关信息,可继续查找有关信息,向浏览器发出请求。,(5)浏览器发送一个请求给相应的服务器,将把由URL标识的文档/文件返回屏幕。(6)服务器收到请求后,查看本站点是否有该文档,若有,把该文档放入响应信息中返回浏览器。(7)浏览器收到响应,查看头文件格式,判断是否能直接显示,如能就显示出来,否则调用对应的帮助应用程序或外挂程序处理。(8)浏览器等待用户的下一条指令,而服务器准备接受来自浏览器的下一条请求。,2、不同类型的工作方式(1)简单式。基于浏览器的BS利用HTML在用户的计算机上表示信息。利用HTML,几乎任何计算机上的编程者都可以毫不困难地提供信息。Web服务器实际上是发布静态HTML文本页面和图片。,(2)交互式在打开与服务器的连接以传输数据以前,显示获取用户输入的表单、文本域、按钮。HTTP服务器将输入信息传递给客户服务器程序或脚本进行处理,接着返回浏览器一个新的显示页面,最后中断浏览器和服务器的该次连接。,(3)分布式。将机构中目前的基础设施与分布式数据源结合起来,这种模型最终会代替真正开放的客户机/服务器应用程序。无须下载HTML页面,客户程序是由可下载的Java编写的,并可以在任何支持Java的浏览器上执行的Applet。,(五)基于B/S模式的网络GIS的体系结构1WebGIS的体系结构目前网络技术在GIS中的应用主要有三种模式:集中模式、CS模式和BS模式。,(1)集中模式集中模式是GIS向网络发展的一种早期解决方案,由终端和GIS服务器构成。集中模式下的GIS系统,顾名思义,信息库的存储、浏览、查询、检索、维护等都“集中”于GIS服务器,服务的提供完全依赖于GIS服务器。所以,这种模式对服务器的速度、可靠性等要求极高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通设施工程分包合同协议
- 医药采购工资考核制度
- 公司采购索证索票制度
- 医疗采购人员培训制度
- 工厂材料采购制度及流程
- 幼儿班级物品采购制度
- 2026 届百师联盟高三二轮复习联考(一)英语试题及答案
- 江苏省南通市海门中学2025-2026学年高一(上)调研化学试卷(1月份)(含答案)
- 2025 学跳舞作文课件
- 2025 奇妙的植物向光性原理实验作文课件
- 琉璃瓦施工合同协议书
- 办理证件合同协议书
- 《动物营养学》全套教学课件
- 设计变更时的协调与应对措施
- 布展设计合同协议
- 早产儿特点及护理要点
- 《人工智能安全导论》 课件 第五章 人工智能技术在网络入侵检测领域
- 耳穴疗法完整版本
- 开展课外读物负面清单管理的具体实施举措方案
- 武汉科技大学《机械工程控制基础A》2023-2024学年第一学期期末试卷
- 秘书情绪管理
评论
0/150
提交评论