C/S与B/S混合技术结构

随着信息化的快速发展,各种行业应用软件应运而生。行业应用软件都因其行业的独特性对软件提出了较高的要求,以此来满足其业务需要。每一个软件都有一种技术结构,是由业务需求本身决定了的,总的来说当前比较流行的两大结构是C/S和B/S结构,每一种结构都有自身的优势,但同时也会有相应的不足。
  前期做了一个项目,系统是基于C/S与B/S混合技术结构进行开发的,整个系统目前运用的比较成功,本文就此对几种架构的优势劣势进行比较,以及对混合技术架构的应用做一个阐述。

1 传统技术结构介绍
1.1 C/S技术结构
  C/S技术结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。
1.2 B/S技术结构
  B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3层结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。

2传统技术结构比较
2.1 硬件环境不同
  C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务;
  B/S 建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网, 租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。
2.2 对安全要求不同
  C/S 一般面向相对固定的用户群,对信息安全的控制能力很强,一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息;
  B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
2.3 对程序架构不同
  C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.;
  B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上,比C/S有更高的要求,B/S结构的程序架构是发展的趋势。
2.4 软件重用不同
C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好;
B/S 多重结构,要求构件相对独立的功能,能够相对较好的重用,就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。
2.5 系统维护不同
  C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级,升级难,可能是再做一个全新的系统;
  B/S 构件组成,方面构件个别的更换,实现系统的无缝升级,系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
2.6 处理问题不同
  C/S 程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关,应该都是相同的系统;
  B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。
2.7 用户接口不同
  C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高;
  B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,减低开发成本。
2.8 信息流不同
  C/S 程序一般是典型的中央集权的机械式处理,交互性相对低;
  B/S 信息流向可变化,B-B B-C C-C等信息流向的变化,更像交易中心。

3 C/S与B/S混合技术结构
  上面对C/S与B/S两种传统的技术结构进行了一下介绍,并且进行了相关的比较,从中可以看出两种技术结构各有各的优势,但也有其不足之处。为了获取各自的优势以及弥补各自的不足,需要构造一种C/S与B/S混合的技术结构,并且能实现两种技术结构的有效交互。
  本文以在消防通信指挥系统中成功运用的C/S与B/S混合技术结构为例,对混合技术结构进行一下介绍。
3.1 混合技术结构组成
  C/S:基于.NET平台开发的WinForm程序;
  B/S:基于J2EE平台开发的B/S程序。
3.2 混合技术结构优势
  C/S:WinForm的界面和流程控制性强,可以与Windows进行交互;
  B/S:数据库访问、Web效果展示、程序更新方便。
3.3 混合技术结构劣势
  C/S:以IE为内核,出现的突发问题处理需要一段时间;
  用户操作系统更新后原来的组件是否仍然适用。
3.4 混合技术应用场景
  部署点少,流程性强,需要和Windows进行交互;
  纯Web解决不了的。
3.5 混合技术应用实例
  消防通信指挥系统围绕指挥中心、报警受理到指挥调度、消防站出动、过程记录和监控、事后归档评论和统计分析的主流程进行工作的。整个系统流程性非常强,而且对业务数据的管理,多个子系统之间的交互、系统运行效率要求都非常高。
  系统以应用服务器(Tomcat)为核心处理逻辑业务,所有对于数据库的访问都基于应用服务器,系统中涉及到的业务对象的状态均保留在应用服务器的内存中。系统的主流程使用C#开发的WinForm程序来控制,WinForm中嵌入IE控件来访问网页,与网页的交互通过触发IE控件的事件来进行处理,与应用服务器的交互通过RemoteProc接口来统一处理,对于要完成的打印功能直接在WinForm程序中实现。
  整个系统从外表看来像一个Windows程序,实际上功能的实现以及效果展示都是在Web端实现,Windows程序用来控制业务流程,而Web程序主要用来处理业务数据。

猜你喜欢

转载自sdx0629.iteye.com/blog/778611
今日推荐