c/s和b/s的区别
2007-01-04 20:53
| 1 引言 随着技术的进步,过去那种以计算机网络和多任务操作系统为核心的管理信息系统[1]已不适应形势的需要。以计算与管理中心为核心的计算和网络结构(C/S)在现在的网络结构概念中已被INTRANET网络结构所代替,即基于INTRANET技术而发展的更方便、更优越的浏览器/服务器(B/S)系统集成与网络机构模式。在C/S[2]方式下,软件的安装必须在每个客户端进行,这就导致难于实施,也难于维护。如果客户端是异构环境,则必须针对客户端进行配置,使得系统实施变得非常复杂,工作量也大为增加。更可怕的是,如果对系统进行维护,又要对每个客户端进行升级。系统管理人员将忙于维护工作而疲惫不堪。在这种方式下,用户界面和业务处理都集中于客户端,对客户端要求很高,当业务处理越来越.复杂时,就需对客户端硬件不断进行升级,整个系统的可伸缩性较差,其封闭的特点使人们难以实现建立完整信息网络。同时,其开发成本较高,兼容、扩展性差,维护麻烦,用户界面混乱且使用复杂,这极大地阻碍企业信息化的步伐,必须进行技术改造,以适应新形势的要求。 2 C/S和B/S融合模式 B/S(Browser/Server)模式把C/S的胖客户机/瘦服务器结构变为瘦客户机/胖服务器结构,客户端软件简化到只要安装统一的浏览器软件;同时,由于其基于TCP/IP协议和HTTP协议,很好解决了跨平台性,使不同的机型、操作系统都能兼容,有很好的扩展性,可以有效保护企业投资[3]。B/S结构下的MIS不仅易于维护,开发、培训成本低,而且扩展、移植性好,最大限度实现资源共享。但其具有以下缺点: (1) 传输效率低,由于HTTP协议是基于TCP/IP,HTTP协议中固定格式HTML文件形式,这种文件传输量大,会影响数据传输效率。 (2) 客户端每次要求获得数据和反馈的信息都要经网络才能与数据服务器联系,增加了网络对带宽的要求; (3) HTML难于加密,易被窃取和截获,使信息系统安全性难以保证。 综合以上分析,C/S模型结构具有较强的事务处理能力,比较适合企业内部快速的信息处理,而B/S结构具有较好的网络扩展性和兼容性。两者也都存在一些待解决的问题。对于分布式组织来讲,若能将二者的优点集成,不仅可实现信息系统的开放性和通用性,同时还可保持内部系统的封闭性和专用性,更好地满足企业的经营活动和战略决策。因此,系统的实现选用混合式结构方案。 3 系统开发环境及相关技术 3.1 C/S开发平台 客户应用开发环境的选择,要考虑对所选用的服务器平台、数据库服务及客户平台的支持,具有良好的开发环境及丰富的软件支持和方便的软件调试手段。针对讨论的特定对象,考虑企业的实际情况选用具有强大多媒体和网络支持功能的Windows98作为客户端平台,采用Powerbuilder7.0作为客户端数据库开发工具。 服务器开发环境的构成包括网络服务器软件平台和数据库服务器软件环境的选择。在PC环境,能用于C/S结构的平台服务器有多种,如Net Ware、Windows NT server、UNIX等,其中Windows NT server是美国Microsoft开放的高性能32位多用户、多任务的操作系统,它提供了强大的功能和易用性及可伸缩性,包括高效可靠的数据库、主机连接、通信、系统管理及良好的安全性和容错能力。与Windows有良好的兼容性环境,支持它的全部软件和大部分网络协议。它的安全性和先进的容错功能可以有效地保证信息的完整性和有效性。数据库服务器软件选用MS SQL Server,它兼容性好,与NT紧密集成,易学易用,开发周期短,能较好地满足高性能、安全性、一致性、可扩展性等指标,是企业构建中小型数据库的最佳选择。 基于C/S的MIS通过ODBC(Open Database Connectivity:开放数据库连接)实现对后台数据库的访问与处理。ODBC是Windows开放服务体系结构的一个部件,是使用十分广泛的数据库接口,它是一种面向SQL的API。以ODBC作为连接件,所有的应用程序都通过特定的连接件驱动程序,采用相同的函数调用,实现与不同数据源通信,从而简化了对数据库的访问,也为程序的跨平台开发和移植提供了极大方便。 3.2 B/S开发平台 B/S系统的前端开发工具采用ASP(Active Server Page),Web服务器采用微软的IIS(Internet Information Server)5.0,数据库与C/S一样同样采用MS SQL Server,数据库访问技术采用ASP和ADO(Active X Data Object)相结合。 ASP和ADO是微软公司推出的一种完整的Web数据库的解决方案,应用ASP和ADO方式连接数据库非常简单,而且实现的功能强大。ASP和ADO结合,可使用户使用浏览器来存取Web服务器的数据库数据。ASP的数据库访问部件通过ADO来访问OLEDB兼容的数据源。OLEDB定义一组展示数据库管理系统功能的标准COM接口。通过提供对这些COM接口的便捷访问,ADO允许使用脚本语言将数据访问功能添加到Web应用程序中。由于ASP的脚本语言VB只是Visual Basic的一个子集,它本身不具备访问数据库的能力, 必须创建服务器端的部件,通过COM接口来实现访问数据源中的数据。因此,在应用程序对数据库操作之前,必须先建立一个对数据源的连接,在系统开发中,ADO连接数据库采用了OLE DB Connection方法, 即ADO → OLE DB → DB Provider → 数据库 其实现方法如下: set conn = Server.createobject (“ADODB.Connection”) conn.open“PROVIDER = SQLOLEDB.5.0; Data Sourse = dbpath; Initial Catalog = Dbname; User ID = user-id; Password = my Password;” 3.3 C/S与B/S传递数据的关键技术 出于安全的考虑,C/S和B/S的平台各用一台数据库服务器,这就需要一台通信计算机将C/S的数据库服务器和B/S的Web服务器连接起来,如图1所示。C/S的数据库服务器和通信计算机同处于一个局域网内,通信计算机定时收集同步日志文件并传给B/S的Web服务器。通信计算机与B/S的Web服务器通过Internet进行连接,用HTTP协议的POST方式转送同步日志文件给B/S的Web服务器。由于通信计算机在Internet上只是B/S的Web服务器的一个普通用户,在与B/S的Web服务器通讯时,将切断它与 C/S的数据库服务器的通信,所以互连网用户没有机会透过通信计算机去攻击C/S的数据库服务器,从而实现B/S和 C/S的安全隔离,保护了C/S。数据库服务器的安全。而支持HTTP协议的互连网通道利用GGI(通用网关接口)接收由通信计算机POST的同步日志文件,转而交给B/S的数据库服务器,B/S的数据库服务器执行同步日志文件更新数据。 图1 C/S和B/S的数据传输 3.4 信息发布平台 (1) 提供基本信息(如产量基本数据,供货渠道信息、检验质量指标等)供各级政府经贸委、驻厂调拨站、运输子公司、物资公司国外分销渠道和全国消费者查询。 (2) 因为采用B/S模式,能够实现用户登录及新用户注册功能,用户还可通过留言板留言,反馈意见和要求。 (3) 在信息平台上加入OA接口模块、各种专用软件接口模块、金税系统接口模块,可以通过Internet完成远程办公和数据通信,扩展了MIS的功能。 4 工程应用实例 某企业的日常业务有:工业控制管理、物料管理、生产管理、质量管理、设备管理、人事管理、财务管理、技术管理、领导综合查询等,顺应上级直属部门的需要,还要为主管部门提供产量报表分析和指标综合查询等功能。经过大量的分析调研,同时根据行业的实际情况,确定在网络平台上建立生产管理信息系统。整个系统分为两大部分:公司内部局域网上采用C/S模型结构实现MIS系统,Web服务器上的应用程序采用B/S模型结构提供信息发布平台。在平台基础上加入OA接口模块、上级主管部门软件接口模块、金税系统接口模块等。 这种混合模式相对于只采用C/S或B/S模式的管理信息系统,有以下优点: (1) 可保证企业敏感数据的安全性,加强对数据库修改和更新的控制; (2) 简化了一部分客户端,有效地利用企业的资源; (3) 可实现一般功能的易用性和复杂功能交互性的统一; (4) 网络效率高,系统维护简单。数据库服务器存放与生产经营活动有关的所有资料和数据,Web服务器是网络用户访问数据库服务器的接口,是Web应用程序的执行平台。整个系统的网络拓扑结构如图2所示。 5 结束语 基于C/S和B/S混合结构的综合管理信息系统,结合了C/S和B/S模式各自的优点并加以集成。实践证明,这种结构具有传输效率高、安全性好、成本低等优点,且便于系统的维护和扩展。随着MIS的不断发展,将C/S和B/S模式相融合的趋势越来来越明显。探索设计基于C/S和B/S混合模式的企业管理信息系统不仅对于提高管理水平、降低成本、提高服务质量具有重要意义;同时,系统的研发对于C/S模式。的企业管理信息系统改造有一定的参考意义。 图2 系统拓扑结构图 参考文献 [1] 夏骄雄等. Intranet与管理信息系统. 计算机工程与应用2000,36(3):142-144. [2] Joe Salemi著, 秦萁英译. 客户机/服务器数据库指南(第二版). 北京:电子工业出版社,1995. [3] 徐宝民, 姜 理. 基于Browser/Server模式的新型企业MIS系统设计. 计算机工程与应用,1999,35(6):63-65. Opc 1 引言 OPC是OLE for Process Control的缩写,即把OLE应用于工业控制领域。OLE原意是对象链接与嵌入,随着OLE2的发行,其范围已经远远超出了这个概念。现在的OLE包容了许多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系统的一种规范。OPC建立于OLE规范之上,是过程控制业中的新兴标准,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁[2][3]。 工业控制领域用到大量的现场设备,在OPC出现以前,软件开发商需要开发大量的驱动程序来连接这些设备。现场设备的种类繁多,而且又有产品的不断升级,给用户和软件开发商带来了巨大的工作负担。OPC的出现为工业控制领域提供了一种标准的数据访问机制,它以OLE(对象链接与嵌入)/COM(组件对象模型)/DCO(分布式组件对象模型)机制作为应用程序级的通信标准,采用了客户/服务器模式,把开发访问接口的任务放在硬件生产厂家或第三方厂家,以OPC服务器的形式提供给用户,解决了软、硬件厂商的矛盾,完成了系统的集成,提高了系统的开放性和可互操作。 2 OPC的技术原理、特点、体系结构 2.1 技术原理、特点[2][4] OPC的技术实现主要包括OPC服务器和OPC客户两部分,其实质是在硬件供应商和软件开发商之间建立一套完整的“规则”,只要遵循这套规则,数据交互对于两者来说是透明的,硬件开发商无需考虑应用程序的多种需求和传输协议,软件开发商也无需了解硬件的实质和操作过程。 由图1可以看出OPC服务器主要由三类对象组成:Server服务器、Group组和Item项目。 图1 OPC服务器结构图 (1) OPCServer对象[1] 这是客户应用最先能够连接到的COM对象。OPC- Server对象中包含着与Server有关的信息,同时还充当容纳OPCGroup对象的“容器”。 (2) OPCGroup对象 接下来一层是OPCGroup对象集合,它负责管理和组织OPCItem对象。OPCGroup对象由调用它的应用动态生成,用于组织和管理位号及其属性。例如,各个监控界面可能分别对应了一个OPCGroup对象,该对象负责访问现场数据,并为界面显示提供数据支持。由于用户可以通过编写OPC客户调用程序来决定OPCGroup的内容以及它包含哪些OPCItem对象,因此可以很方便地对现场数据进行重新组织。用户完全按实际的需要重组数据项,以便在需要的时候查看需要的数据,而不会影响底层的控制系统。 (3) OPCItem对象 从OPCGroup往下就是OPCItem对象集合。每个OPCItem对象提供了与一个现场数值的连接,即每个OPCItem与一个信号变量对应。它用来实现OPC服务器与实际数据的连接。 OPC服务器对象提供了一种访问数据源的方法,它通过IOPCServer(OPC Server的主接口)、OPCBrower(OPC浏览器对象)、IPersistFile(根接口文件)向客户提供接口。OPC组对象包含在OPC服务器对象中,并由客户端定义和维护,每个服务器可以包含多个组对象。OPC组对象可以通过IOPCGROUNP增加或删除OPC项目对象,OPC项目对象包含在OPC组对象中,1个组对象可以包含多个项目对象,它同样由客户端定义和维护。 OPC扩展了设备的概念,只要符合OPC Server的规范,OPC客户可与之方便的实现数据交互。接口见图2所示。 图2 OPC技术实现接口图 OPC标准是以Microsoft的OLE技术为基础的,它的制定是通过提供一套标准的OLE/COM完成的。OPC技术中使用的是OLE 2技术。COM的全称是Componet Object Model,它主要是提供了一种对象与编程语言无关的标准,即将Windows下的对象定义为独立单元,可不受限制地访问这些单元。当COM规范扩展到可访问本机以外的其它对象,也就是一个应用程序的使用对象可分布在网络上,COM的这个扩展就称为DCOM(Distributed COM)。通过DCOM技术和OPC标准,完全可以创建一个开放的、可互操作的控制系统软件。 由此可见,OPC具有如下特点: ●硬件供应商只需提供一套符合OPC Server规范的程序组,无须考虑工程人员的要求;软件开发商无须重写大量的设备驱动程序;工程人员可以有更方便地选择设备装置; ●实现在线数据检测,方便灵活地读写数据; ●借助Microsoft的DCOM技术,OPC实现了高性能的远程数据访问能力。 2.2 OPC的体系结构[1] OPC规范提供了两套接口方案,即COM接口和自动化接口。COM接口效率高,通过该接口,客户能够发挥OPC服务器的最佳性能,这是专门为C++等高级编程语言而制定的标准接口。自动化接口使解释性语言和宏语言可以访问OPC服务器,采用VB、Delphi等语言的客户一般采用自动化接口。自动化接口是解释性语言和宏语言编写客户的程序变得简单,但是却牺牲了程序的运行速度。 典型的OPC体系见图3所示。 图3 OPC典型体系结构图 3 OPC技术在监测控制系统中的应用 OPC因为其特点和优越性已经在工业控制领域中比较广泛地应用了。通常,使用OPC技术进行工业过程控制中对数据的采集。OPC通过数据订阅和数据的动态绑定,为具有数据绑定功能的所有ActiveX控件提供数据源,用户可以很方便地观察到来自OPC服务器的实时数据。 图4是一个OPC在垃圾焚烧系统中的应用实例。系统分为生产管理监控级和现场控制级两层结构。 图4 垃圾焚烧系统设计框图 管理层主要包括工业控制机或计算机、视频监视器等设备,这些设备均安装在中央控制室里。在管理层中,通过组态王工业组态软件开发设计的软件监控平台,可以实时观察底层设备的工作状况,及时对系统出现的故障点报警处理、实时保存报表数据。同时,在同一计算机中进行算法的程序演算,通过该操作平台实现对底层设备的远程智能控制。 控制层均主要包括各种硬件设备,例如PLC控制器、各种测量仪器仪表等。这些硬件均安装在垃圾焚烧系统的工作现场,对系统进行直接控制。其中,底层硬件设备采用常用的西门子S7系列的PLC,其中包括S7-200和S7-300系列。 同时,利用高速工业以太网(TCP/IP协议)进行管理层和控制层之间的连接,以实现信息和资源的共享,具备完善的控制能力、极高的可靠性和方便灵活的扩展能力;系统设计从工艺流出发,实现对生产过程的自动控制。现场控制级接受生产管理级的调度,但并不依赖于生产管理级而运行:若监控计算机出现故障或并没有投入使用或通信网络出现故障,各现场控制站仍继续正常工作,对整个工艺过程没有影响。 在实现控制层与管理层之间的数据交换的时候,组态王这种工业组态软件提供了一种通过建立OPC服务器的方式来实现数据的通信方式。故而,在管理层与控制层的通信之间建立了一个OPC服务器。其简体框图如图5所示。 图5 管理层-OPC-控制层的通信模式 图中通过OPC连接了应用广泛的PLC系统,底层设备信息通过OPC服务器进入上一层的人机界面。这些系统与最上层的质量控制软件、生产管理软件和Internet应用软件再通过OPC接口互换信息,从而使信息能够在各个系统之间充分流动。 如果系统具备OPC的应用条件,则当现有系统需要添加新设备时,只需将新设备接入系统,安装用于访问该设备的OPC服务器,扩展后的系统则可正常工作。新设备的添加并不影响系统其他部分的运行和使用。 4 结束语 由上看出,此套关于垃圾焚烧系统的控制方案基于计算机技术的“集中管理,分散控制”模式,数字化、信息化环保工程的思想,着眼于企业“管控一体化”信息系统的建设,建立一个先进、可靠、高效、安全且便于进一步扩充的集过程控制、监视和计算机、调度管理于一体并且具备良好开放性的监控系统,来实现对整个焚烧过程及全部生产设备的监测与控制,达到整个生产过程处于安全稳定、高效节能的目标。 |