C/S与B/S结构浅层理解

一 c/s:client/server

  • 两层的c/s

    特点:使用数据库服务器充当服务器(在数据库编写业务处理逻辑,比如Oracle数据库,可以使用pl/sql来写业务处理逻辑),客户端一般使用vb,vc,dephi这样的语言来开发(客户端主要负责提供操作界面和少量的业务处理逻辑)。
    缺点
    a.可移植性差:因为业务逻辑基本上是写在数据库里,当数据库发生了改变,业务处理逻辑基本上要重新写。
    b. 可移植性差:因为客户端跟数据库之间要有一个持续的数据库连接,而数据库的连接有个数的限制。
    (胖客户端:含有逻辑代码,如果想变瘦需要将逻辑代码(解耦)提取出来,变成了三层C/S架构)

  • 三层的c/s

    特点:数据库只负责存储数据,所有的业务逻辑写在应用服务器(应用服务器需要开发人员去开发,比如用java语言来开发)里面,客户端只负责界面。
    优点
    a.可移植性好:数据库发生改变,不影响。应用服务器所在的操作系统发生改变,如果使用java语言来开发应用服务器的话,也不影响。
    b.适合开发大型应用:可以通过应用服务器集群,通过负载均衡等技术,减轻数据库的访问压力。
    缺点
    a.客户端需要单独安装和调试
    b.开发相对比较复杂,比如要自定义协议,需要自己开发客户端与服务器端的通讯处理模块。

  • Middle tier(中间件)

    b/s:browser/server
    特点:客户端使用浏览器,服务器端使用web服务器,客户端与服务器端使用标准化的http协议来进行通信。
    优点
    与c/s架构相比,有两个优点:
    a,客户端不需要单独安装
    b,开发相对简单(因为c/s架构需要自定义协议,开发相应的通信模块,而b/s使用标准化的http协议,浏览器与web服务器都提供了相应的通信模块)。

  • Servlet由来

    sun公司制订的一种用来扩展web服务器功能的组件规范。
    (1)扩展web服务器功能
    早期的web服务器(iis,apache ws等等),只能够处理静态资源的请求(即需要事先将html文件写好并保存到web服务器相应的文件夹下面),不能够处理动态资源的请求(即需要进行计算,然后生成相应的html)。
    a,可以使用cgi程序来扩展。(通用网关接口)
    cgi程序可以使用c/c++,perl等语言来开发,但是,程序比较复杂,而且可移值性不好,性能也比较差,现在用得不多。
    b,servlet可以扩展这些web服务器的功能。
    浏览器发送请求给web服务器(apache ws),web服务器检查请求是否需要计算,如果需要,web服务器会访问servlet容器,servlet容器会调用servlet来进行计算。
    Servlet容器除了可以运行servlet以外,还可以直接充当一个简单的web服务器,比如tomcat本身是一个servlet容器,也可以直接接受浏览器请求。

  • 组件规范

    1)什么是组件?
    符合一定规范,实现部分功能,并且需要部署到相应的容器里面才能运行的软件模块。
    2)什么是容器?
    符合一定规范,为组件提供运行环境及相应服务的程序。

    ERP是Enterprise Resource Planning(企业资源计划)
    JRMP:java remote method protocol,Java远程方法协议,JRMP是的Java技术协议的具体对象为希望和远程引用。JRMP只能是一个Java特有的,基于流的协议。相对于的RMI - IIOP的 ,该协议JRMP只能是一个对象的Java到Java的远程调用,这使得它依赖语言,意思是客户端和服务器必须使用Java。
    JRMP:Java远程消息交换协议JRMP(Java Remote Messaging Protocol)

猜你喜欢

转载自blog.csdn.net/ZhouhbUp/article/details/82784309