概念简介

CS架构

CS架构一般指服务器-客户机。服务器-客户机,即Client-Server(C/S)结构。C/S结构通常采取两层结构。服务器负责数据的管理,客户机负责完成与用户的交互任务。”

客户机和服务器通常使用Socket通信。

Socket

所谓Socket(套接字),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议根进行交互的接口

BS架构

BS架构即浏览器和服务器架构模式,即用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。”

WebSocket

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。”

WebSocket比Socket多个Web,并不意味着WebScoket只能用于Web,也可以用于桌面应用。无论是JavaScript,还是C++、C#、Python都可以使用。

因此,基于WebSocket实现的服务器端可以被客户端和浏览器端同时消费,即可以实现CBS架构。

基于CBS的CAX应用架构

基于CBX和AnyCAD Rapid技术的CAX应用总体架构如下:

cs架构特征 cs架构指的是什么_bs cs架构区别

CBS架构有几个明显的优点:

技术实现选择范围更广

C端实现不受编程语言和界面框架的束缚,可以选择团队擅长和喜欢的技术栈。C++程序员可以用古老的MFC,也可以用跨平台的Qt。.NET程序员可以用WinForm,也可以用WPF。Web前端程序员可以用JavaScript,也可以用TypeScript。正可谓“海阔任鱼跃,天高任鸟飞。”

多端协同更加方便

多端协同可以是多个客户端同时查看App三维运行界面,也可以是桌面端、Web端和移动端混合访问。老板们只需要用浏览器打开一个链接地址,就可以查看程序的运行状态,再也不需要装什么App了。还有什么事情能比让老板开心更重要的事情呢?

应用场景更加丰富

当客户端打破了必须运行在某台固定的机器上的限制,用户将变的更加自由,产品的形态在设计上就会更具多样性。在工业4.0实现的过程中,创新的产品将在市场上更具竞争力。

当然CBS架构也会带来系统架构某种程度上的复杂性。另外,当程序运行于公网环境的时候,安全问题将变得至关重要。

基于AnyCAD Rapid技术的实现演示

视频展示:

与纯桌面端的CAD/CAE/CAM应用相比,有人可能会担心WebSocket的性能问题。从上面的视频可以看到,基于渲染流技术,在浏览器上可以实时操作三维界面,并不会存在延迟的问题。