网站标志
满足用户需求是选择C/S或B/S结构的唯一依据
作者:管理员    发布于:2014-11-17 13:45:49    文字:【】【】【
摘要:本文给出了选择软件结构的根本原因是用户实际的需求,最好由软件供应商来决定功能的结构,而不是不太懂专业的用户去选择结构。同时本文给出了一个基本事实——软件在实际开发过程中经常要调整结构,造成了软件整体结构经常为混合结构——bs和cs的混合。

满足用户需求是选择C/SB/S结构的唯一依据

说明:csbs都是软件结构设计的类型,结构设计的初衷一定是为了满足用户全面的软件使用需求,结构设计会对软件的成功提供非常好的基础,但从实现用户需求的角度讲,她没有谁先进,谁不先进的分别,她只是软件供应商手中的工具。这个功能需要bs的就使用bs结构,那个功能需要cs的就使用cs的结构;整体功能需要cs的结构,其中部分功能也可以根据用户需求使用bs结构的,反之亦然。一切以如何更好的满足用户需求为出发点。说得再明确些,就是结构的选择权在软件供应商,而不在用户,因为很少有单一结构的软件存在了,用户哪里知道哪些功能需要bs,哪些最好使用cs…..从另外的角度讲,用户也应该合理提出自己的需求,不该管的不要管,比如结构、开发程序使用的语言、数据库等就最好不要管;同时该管的也一定要管到,比如软件功能是否全面,软件的实施方式、软件安全性、今后自主维护软件的能力等,这里每一个因素考虑不清楚都会造成软件的失败,所以都是必须要考虑的内容。

软件结构的主要形式

C/S —— Client/server,简写为cs,是客户机和服务器的简称,分为两层结构(应用层和数据库层)和三层结构(应用层、业务逻辑层和数据库层)。二者的最大区别在于两层结构不容易调整和升级,需要客户机和服务器逐一的升级;三层结构的升级类似于b/s结构的方式,只需要升级服务器一端,其他客户机自动升级。

B/S —— Brower/Web server,简写为bs,是浏览器和服务器的简称,结构按照复杂程度分为三层、四层和五层到多层,层级越多,应用软件越复杂,实现的功能越多,但同时数据处理的效率越低,速度越慢。

混合结构——就是根据用户实际需求,将用户需求按照人员使用范围(在局域网内,还是局域网外),数据访问权限控制(例如网上委托就可以按照客户、内部人员来做不同的结构,客户使用bs结构,内部人员使用的就按照cs的处理),处理数据的响应速度(批量打印、数据统计查询、报告自动生成等)等因素作出综合判断,将不同的功能模块设计为不同的结构,从而在软件整体上形成了混合结构。目前几乎所有的信息管理系统、ERP(企业资源规划)系统都采用混合结构,需求越复杂,越需要混合结构的支持。

所以说从目前具体应用的实际情况看,中大型的软件系统、平台的主流方向都是混合结构。只是有的主体机构是cs的,辅助机构是bs的,有的刚好反过来而已。

两层C/S结构的特点

    早期的MIS系统开发中,大多采用C/S结构,系统任务分别由客户机和服务器来完成。服务器具有数据采集、控制和与客户进行通信的功能,服务器程序负责有效地管理系统资源;客户端则包括与服务器通信和用户界面模块。这种模式我们称之为“瘦服务器/肥客户机”的模式。

     主要优点:

1       客户机具有数据处理能力,可以减轻服务器的负担,能充分发挥客户端的硬件资源。

2       交互性强、提供更安全的存取模式、降低网络通信量,通信的可靠性比较高。

3       数据安全性高,只有通过客户端的合法访问才能有效的获得有效的数据,而bs结构的经常通过网吧、宾馆等客户机上的IE浏览器访问数据服务器,经常被病毒和一些软件记录鼠标和键盘的操作过程,从而造成失密。所以要严格控制客户机的滥用,外出最好带自己的笔记本电脑。

4       由于C/S在逻辑结构上比B/S少一层,对于相同的任务,C/S完成的速度总比B/S快,这就使得C/S模式更利于处理大量数据。

它有以下缺点:

1       安装难。除了要安装服务器软件外,对每台客户机都要安装客户软件的一份拷贝。

2       维护难。由于共享的企业逻辑在每个客户端都有一个副本,使得管理、维修费用高、难度大、工作繁杂。

3       升级难。由于应用系统的企业逻辑写在客户端的应用程序中,所以当系统需要改变时,所有客户端的应用程序都必须改变,使得数据库系统的开发维护成本提高。

4       平台有关性。数据必须在客户端或服务器上才能访问,带来不便。

三层C/S结构的特点与应用

三层C/S结构除了具有两层cs机构的特点之外,还克服了它的维护难和升级难的缺点,使得三层结构的cs系统成为cs的主流结构。升级维护调整服务器一端,其他终端自动调整和升级,使得软件服务得心应手,也可以很方便的实现远程维护。我们软件的主体结构为此种结构。

当然在一些情况下,也还经常采用二层结构的cs系统,主要利用的就是她快速数据处理的能力,比如批量打印报告的功能。

B/S结构的特点与应用

B/S模式是一种以Web技术为基础的MIS系统平台模式。其实质也是客户端同服务器通信形成的网络系统,也是一种cs结构。只是她的客户端很灵活,不仅仅在局域网中,也可以在广域网中;同时客户端的软件可以是IE浏览器,也可以是带有一定功能的客户端软件——比如控制并发用户数的限制软件、安全验证软件和其他应用程序。

Bs是一个多层结构的客户服务器体系。其基本形式是三层结构,也有四、五等多层结构。第一层为应用层:客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览软件和客户端控制程序。第二层业务逻辑层:Web服务器将启动相应的进程来响应客户的请求,并动态生成一串HTML代码,其中嵌入处理结果,返回给客户机的浏览器。第三层数据库层:数据库服务器的任务类似于C/S模式,负责协调不同于Web服务器发出的SQL请求,管理数据库。

总之,该结构由客户端浏览器、WEB服务器和数据库服务器三部分组成。它最大的优势在于,可以将主体应用逻辑进行封装,并将客户端与数据库分隔开,有效的保护数据库的安全。

B/S结构是基于WWW的数据库信息服务系统,它将传统的数据库技术与Internet/Intranet技术相结合,通过统一的浏览器界面,利用Internet/Intranet访问位于不同地点、不同类型的数据库资源,为数据库的资源共享、数据库的本地化服务及数据库的分布奠定了基础。其主要优点:

(1)             具有较高的灵活性和易用性,主要的开发和维护集中在服务器。

(2)             通过公共接口(ODBCADO)能很好地与数据库结合,提供大量的动态数据,并可通过代理服务器技术发布内外信息。

(3)             特别适合发布信息,是辅助决策、综合信息查询系统的首选应用,可满足各类、各层人员对信息的需求。

(4)             系统升级方便。由于客户端仅仅需要一个通用的浏览器,因此对软件的升级主要集中在服务器端,只需要更新应用服务器和数据服务器的相应软件即可。

(5)             维护成本低。同样由于客户端是浏览器,使得客户端的维护几乎变为了零,我们只要保证服务器正常工作就行了。

 B/S也具有自己的局限性主要体现在如下几个方面:

1   客户端不仅需要安装浏览器,为了提高安全性和提高客户端的处理能力,也需要安装其他应用程序,但由于http协议的能力不足,经常只能进行简单的应用程序设计。

2    客户端数据处理能力差,服务器的负担重,不利大量数据的处理。

3    稳定性不好。由于在客户端把控制权交给了IE,所以许多错误不可预知。

4    有一些数据的传输是明码的,没有真正的完全编译。所以速度与效率上都有所欠缺。

5    网络数据交换频繁,数据流量大,通信的可靠性相对来说比较差。因此效率较低。

6    存在网络数据安全问题。

B/S结构经常采用星形拓朴结构建立企业内部通信网络或利用Internet虚拟专用网(VPN)。前者的特点是安全、快捷、准确。后者则具有节省投资、跨地域广的优点,必须视企业规模和地理分布确定,企业内部通过防火墙接入Internet,整个网络采用HTTPTCP/IP协议。当然目前三层结构的cs系统也可以直接应用在虚拟专用网(VPN)构建的局域网中。

信息管理系统软件结构的选择

B/S结构确实具有自己独特的优势,但C/S结构由于鲜明的特点,特别是现在广泛采用的三层结构的C/S系统,使得她仍然具有巨大的利用价值。

B/S结构的特点在于具有广泛的信息发布能力,特别适合简单的应用流程和Internet应用,属于典型的“瘦客户”类型,由于其简单、轻量、易于维护,因此受到了最终用户的欢迎。

但在大型复杂应用中,由于在B/S结构中有一些根本的弱点,使B/S结构的性能仍不能与C/S结构抗衡。采用B/S结构,客户端只完成浏览、查询、数据输入等简单功能,而绝大部分工作由服务器承担,因此服务器的负担重,对其性能的要求更高!而采用C/S结构时,客户端和服务器端都需要处理部分任务,对客户机的要求较高,但因此反而减轻了服务器的压力。

B/S结构应用的是HTTP协议,由于HTTP固有的局限性(最初只是为单纯的网上浏览而发展起来的),因此B/S结构不适合复杂的交互式应用,而C/S结构一直在交互应用中大显身手,技术成熟,稳定,对复杂应用适应性好。例如,在完成一次任务处理的交互过程中,C/S结构只需连接一次,而B/S结构需要对任务中的每一个请求都重新进行连接,其效率大大低于C/S结构。现在,随着客户计算机的计算能力的不断增强,越来越多的关键性应用又重新选择了C/S结构。所以B/S方式和C/S方式各有优缺点,可以互补。

B/S结构与C/S结构的结合才是软件体系结构发展趋势

客户/服务器(Client/server)与浏览器/网络服务器(Brower/Web server)是不同结构的应用系统,在应用功能上,各有千秋、相得益彰。在实际应用开发中选择哪种结构要综合考虑软件的应用性、应用范围、复杂程度以及系统的安全性,交互性等诸多方面,对不同的对象,我们采用的结构应当有所区别,既不能为了单纯的操作简单和投入较少而采用B/S结构,也不能因为C/S结构的复杂性而不予考虑,在复杂的大量用户的软件开发中,我们甚至可以考虑采用系统集成技术和平台集成技术,将B/S结构与C/S结构融为一体,形成信息平台的多层体系结构,在用户端计算机上安装运行浏览器软件,基础数据集中放在性能较高的数据库服务器上(如用户的网上委托和报告进度查询等);中间建立一个WEB服务器作为数据服务器与客户机浏览器交互的连接通道;对系统模块安全性要求较高,交互性强,处理数据量大,数据查询灵活的地点(如内部数据服务器)使用C/S模式,充分发挥各自的长处,开发也安全可靠,灵活方便,效率高的数据库应用系统,而且这种结构的良好结合应该是软件体系结构发展的方向,以此,来解决不同系统的数据集成与应用程序的开发。

   具体要选择什么样的模式结构,我们应该根据具体的情况,综合分析各种因素,认真的做出选择。否则,将影响我们的工作效率和软件质量。

   最后需要说明的是北京世雄科技公司的EMP-LMP产品是多层混合架构,既有用户网上委托、进度查询的bs辅助结构的功能模块,也有三层(数据库层、业务逻辑层和应用层)分离的cs的主体结构,在需要时,也可能需要为终端开发两层的cs结构功能,或者bs结构的应用软件,以满足不同用户的差异化需求。总之结构的选择,一定是为了满足用户实际需求而确定的。盲目追求所谓新技术,很有可能会背离软件结构设计的初衷,增加软件失败的风险。

    为了更清晰的了解三层结构的cs系统和bs系统的机构特点,我们编制了下表,期望得到您们的批评指正。

参数名称

世雄公司的三层C/S系统

B/S

比对结果

历史背景

随着网络技术的发展而发展起来的,是计算机应用技术的基础架构

C/S技术成熟的基础上,对跨地区的应用需求而产生

C/S经过了几十年的发展,非常成熟,而B/S是近几年的发展成果,从理论上讲,B/S有他的市场,但C/S永远不会被淘汰,两种架构相互交流才会构建好的应用软件

架构定位

满足用户复杂需求而构建

基于用户浏览信息

不同的定位展现出不同的应用及效果

最大的优势

功能强大,操作方便,安全性高

不受地点的限制

两种架构优势互补是最好的架构方式

客户端形式

客户端程序,如EMP

浏览器,如IE

访问方式不同

表现方式(界面)

Windows标准界面,并且完全基于此标准

基于静态或者是动态页面程序,在逐步完善中

用户操作习惯不同而已

操作习惯

完全符合人机交互原理,更加人性化,支持高级键盘事件、鼠标响应等

定位于“浏览”的应用操作习惯

由于B/S发展初衷是浏览新闻、信息共享等,但对于企业级应用来讲不太方便

功能应用

从硬件驱动到网络通讯及企业级应用等,从理论上来讲C/S能解决B/S所有的应用问题

B/S更多的是页面处理及数据处理,有很多复杂的系统与处理很难用B/S来实现,这是系统架构的问题

B/S是一种应用模式,应该说离开C/S,谈不上B/SC/SB/S应用之母

报告编辑能力与方式

功能强大并且灵活,操作简便,并且支持复杂的报告输出与灵活性的调整,对实验室管理系统相当重要,因为检验报告是实验室的产品

实际上还是采用ActiveX的方式进行报告编辑或者是输出,在用户第一次编辑时会自动下载一个安装包到用户本机,此方式安全性不高

从理论上来讲都是基于用户终端机的C/S系统,B/S结构在功能与应用上、操作习惯上不及C/S

安全性

非常好,从理论上来讲可做到理论上的绝对安全

低(由于基于互联网,安全风险很大)

目前业界没有纯B/S结构的实验室管理软件,安全性是大问题

维护方式

EMP只需要维护服务器即可,瘦客户端

只需维护服务器即可,客户端采用浏览器

在维护方式上EMPB/S架构是一致的,可提高维护的效率

成本

不仅体现在开发成本上,更体现在后期维护成本上

稳定性

高(局域网内的稳定性可以控制)

低(受因特网、病毒等影响大)

决定企业级的管理软件应用风险,全球关于内部信息处理的应用系统都采用C/S架构,而B/S是弥补C/S不足的地方

技术参数

海量数据处理

强大,并且晚于控制

对于数据查询、报告的批量打印等都需要海量数据处理。

阅读数据时的交互能力

要与用户进行互动,如用户可以手动进行分组、排序、拖拉、过滤等

没有

动态B/S是指开发而言,所以生成的页面都是静态的,所以无法跟用户进行互动,使用非常不方便。

Window的融合性

C/S程序可以最小化到任务栏、控制面板程序、服务程序、即时通讯应用等

B/S由于是服务器模式,很多业务处理是由服务器来完成,所以与客户端机器的交互存在较大的差异

从理论上来讲,没有Windows就没有C/S,没有C/S就没有B/S,他们相互依存,相互促进

多数据库、多表、多界面、多菜单、多事件支持

这不是结构的问题,而是数据库及开发工具的问题,在这方面C/S表现要比B/S好得多

由于B/S不是基于事件驱动方式,故在程序实现的结构性、可控性方式远不如B/S

我们可以看到,一般是新闻、网页类、邮件系统(核心还是C/S)是用B/S来实现,其它的都是C/S架构

主、从表支持

非常好

难于处理和控制

 

打印控制

非常好

难于对打印事件上、信息进行控制和跟踪

 

统计报告

可以输出指定格式、动态的报告

B/S对复杂报告的支持有限,从理论上来讲还是借助于C/S技术核心

用户要清楚自己的需求,然后来决定架构

查询

可以支持复杂的应用,并且可以由用户来定义条件、保存条件等高级应用

B/S在处理复杂应是时难度大,成本高

 

技术选择与原理

随着计算机技术的发展,严格意义上来讲没有C/SB/S之分,最重要的是能否用户的需求,以及今后的可维护性,如腾讯QQ,很难说他是C/S架构的,也很难说它是B/S架构的,所以用户应根据自己的需要,结合行业里的情况进行选择,只有适合自己的才是最好的架构

应用风险

零风险保障

一旦出问题,难于恢复(不可控)并且损失巨大

B/S受外部干扰大,难于控制,而C/S技术成熟,架构简单,易于维护和部署

业内趋势与选择

全球最大的Lims厂商选择C/S,世雄根据用户的需求而决定,把需要远程的需求用B/S来实现,其它的尽可能用C/S来实现,从而实现优势互补!

实验室用户的架构选择

最关键的是要看实验室用户自己的需求是什么?而不能一贯追求技术的前沿,一种技术的发展是要很多年的,在实验室管理系统中更是要这样,举例说明,对于仪器管理,实在是没有必要放到B/S上来实现,而对于用户的远程委托则可以用B/S来实现,两种结构互补是最好的方式

脚注信息

版权所有 Copyright(C)2003-2018 北京世雄科技有限公司

备案号:京ICP备14050499号


技术支持:企尚互联B2BB2C网站编号4284