zoukankan      html  css  js  c++  java
  • B/S和C/S的区别及应用【转】

    B/S和C/S都是软件架构的方式,首先分别描述下B/S和C/S:

        b/s(Browser/Server):浏览器/服务器,浏览器也就是指的是web浏览器如微软的Internet Explorer、Mozilla的Firefox、Opera和Safari等,随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的C/S 模式,特意称为B/S模式。在这种模式下,极少的逻辑是在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,和DB端构形成三层结构。这样就极大程度上减轻了客户端.

        c/s(Client/Server):客户端/服务端,C/S 架构是一种典型的两层架构,其客户端包含一个或多个在用户的电脑上运行的程序,而服务器端有两种,一种是数据库服务器端,客户端通过数据库连接访问服务器端的数据;另一种是Socket服务器端,服务器端的程序通过Socket与客户端的程序通信。客户端需要实现绝大多数的业务逻辑和界面展示。这种架构中,作为客户端的部分需要承受很大的压力,因为显示逻辑和事务处理都包含在其中,通过与数据库的交互(通常是SQL或存储过程的实现)来达到持久化数据,以此满足实际项目的需要。

    上面一大堆官方的话,我们现在就来分析下,这两种架构的优缺点:

        b/s的优点:

    分布性强,客户端零维护。只要有网络、浏览器,可以随时随地进行查询、浏览等业务处理。 
    业务扩展简单方便,通过增加网页即可增加服务器功能。  
    维护简单方便,只需要改变网页,即可实现所有用户的同步更新。 
    开发简单,共享性强。
        b/s的缺点:

    个性化特点明显降低,无法实现具有个性化的功能要求。不过随着html5的普及,这个缺点越来越弱化了。 
    客户端服务器端的交互是请求-响应模式,通常动态刷新页面,响应速度明显降低(Ajax可以一定程度上解决这个问题)。无法实现分页显示,给数据库访问造成较大的压力。 
        c/s的优点:

    能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器,所以CS客户端响应速度快。
    操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。  
    安全性能可以很容易保证,C/S一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。
        c/s的缺点:

    需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
    兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。  
    开发、维护成本较高,需要具有一定专业水准的技术人员才能完成,发生一次升级,则所有客户端的程序都需要改变。。
    用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户,所以适用面窄,通常用于局域网中。

    总结的来说啊,就是
       B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢

       C/S响应速度快,安全性强,一般应用于局域网中,因为要针对不同的操作系统,需要针对性的开发,并且维护成本高

    我觉得还是B/S现在用的广泛,像互联网+,当然我的认知还是很浅的,没有接触过更高的层次,还得继续努力。
    ---------------------

    原文:https://blog.csdn.net/a964921988/article/details/78707105

    ======================================

    延伸EJB

    EJB的是个什么东西?

    https://www.cnblogs.com/strugglion/p/6027318.html

    EJB:将业务逻辑从客户端软件中抽取出来,封装在一个组件中。这个组件运行在一个独立的服务器上,客户端软件通过网络调用组件提供的服务以实现业务逻辑,而客户端软件的功能单纯到只负责发送调用请求和显示处理结果

    a.EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。

    b.RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。

    c.服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。

     

  • 相关阅读:
    Angular 的性能优化
    通往架构师之路的三本书,高分!
    从单体架构到微服务架构的演化历程
    nginx 配置stream模块代理并开启日志配置
    UnixLinux 执行 shell 报错:“$' ': 未找到命令” 的解决办法
    红胖子(红模仿)的博文大全:开发技术集合大版本更新v4.0.0
    案例分享:Qt高频fpga采集数据压力位移速度加速度分析系统(通道配置、电压转换、采样频率、通道补偿、定时采集、距离采集,导出exce、自动XY轴、隐藏XY轴、隐藏显示通道,文件回放等等)
    字符编码和字符集到底有什么区别?Unicode和UTF-8是什么关系?
    Linux从头学15:【页目录和页表】-理论 + 实例 + 图文的最完全、最接地气详解
    【分页机制】-看了这篇文章还没彻底搞懂?我自罚三杯!
  • 原文地址:https://www.cnblogs.com/jimz/p/10649234.html
Copyright © 2011-2022 走看看