Winform C/S结构与Web B/S结构开发MES/ERP系统优缺点及区别
Winform C/S结构与Web B/S结构开发MES/ERP系统优缺点及区别
C/S结构简介
C/S结构,即客户机和服务器(Client/Server)结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。并且服务器端所承载的负荷也相对较轻,最简单的c/s体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户端,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,这样应用服务器运行数据负荷较轻。
参考文章:https://www.csframework.com/cs.htm
B/S结构简介
B/S结构,即浏览器/服务器(Browser/Server)结构,客户机上只需装有浏览器(Browser),如Windows内置的Internet Explorer,Edge, Google Chrome等流量器,服务器安装Oracle、SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。在这种结构下,用户端通过浏览器www网址即可访问程序,B/S结构前端界面处理部分业务逻辑,但是主要事务逻辑在服务器端实现及进行数据处理。
B/S架构的网络平台不但可以在内部网络使用,而且在也可以在外部使用,如果在外部使用只要能上网就可以了,比较适合大型的、集团式的公司使用,特别在不同的地点有公司或店面或需要使用这个平台的用户。
Winform C/S结构的优点
C/S结构的优点:
- 强大的客户端PC机的逻辑处理能力。目前用户终端电脑的硬件配置接近常规服务器配置,因此大量的逻辑运算处理工作可以在客户端进行,然后提交给服务器,比如:前端数据逻辑处理、硬件设备数据采集、处理等。
- 客户端响应速度快。用户终端电脑的硬件配置较高。
- 操作界面漂亮、形式多样。可以充分满足客户自身的个性化要求。
- 安全性能可以很容易保证。C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
- 轻松对接机械设备的API接口。适用企业级系统,如ERP/MES系统开发。
- 应用服务器运行数据负荷较轻。客户端分担一部分逻辑处理,因此C/S结构的服务端(应用端)负荷较轻。
Winform C/S结构缺点
主要有以下几点:
- 比较适用于局域网、企业级局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
- 客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。
- 客户端需要软件自动升级。当软件迭代,需要发布版本,客户端需要自动升级。
- 客户端的操作系统会有限制。可能适应于Win7, 但不能用于Windows XP,编译x64位的程序,不能在x32位的操作系统运行。
- 不支持跨平台。比如Winform桌面程序,能在Windows运行,但不能在Linux、Unix系统运行等。
- 兼容性一般。对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。
- 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。
Web - B/S结构优点
主要有以下几点:
- 分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。
- 业务扩展简单方便,通过增加网页即可增加服务器功能。
- 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
- 开发简单,共享性强。
- 客户端不需要安装与升级。
- 支持跨平台。应用程序在浏览器即可打开运行。
Web - B/S结构缺点
- 个性化特点明显降低,无法实现具有个性化的功能要求。
- 在跨浏览器上,BS架构不尽如人意。
- 客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。
- 在速度和安全性上需要花费巨大的设计成本。
- 功能弱化,难以实现传统模式下的特殊功能要求。
C/S结构与B/S的区别
首先必须强调的是C/S和B/S并没有本质的区别:
B/S是基于特定通信协议(HTTP)的C/S架构,也就是说B/S包含在C/S中,是特殊的C/S架构。之所以在C/S架构上提出B/S架构,是为了满足瘦客户端、一体化客户端的需要,最终目的节约客户端更新、维护等的成本,及广域资源的共享。
(1)B/S属于C/S,浏览器只是特殊的客户端;
(2)C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议;
(3)浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统
C/S结构如果需要远端连接,公司就需要在各Site部署IPSec VPN实现,或者通过直连数据库或应用服务器实现。
总结以下几点:
- C/S架构安全性要高于B/S架构
- 用户操作体验不同,相对于B/S架构来说,C/S架构界面与操作更丰富。
- 相应速度不同,由于C/S架构只有一层交互的原因,去相应速度明显高于B/S架构。
- 适用场景不同,C/S常用于局域网,B/S常用于广域网。
- 使用条件不同,C/S需要程序安装,B/S只需要有web浏览器即可。
- 成本构成不同,虽然两者的成本都不低,但C/S主要源于日常升级维护,B/S主要源于程序设计花费。
- 交互模式不同,B/S的交互模式是请求-响应模式,通常需要刷新页面,C/S则是集权式的,只有一层交互。