B/S架构

Posted 是李黏黏鸭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了B/S架构相关的知识,希望对你有一定的参考价值。

目录

一、什么是B/S架构

二、三层架构

三、Active技术

四、网络节点

五、分布式网络计算

六、JavaScript


一、什么是B/S架构

1.B/S架构是软件系统体系结构,是指 浏览器-Web服务器( Broswer-Server ), 采用三层架构,即 表现层、业务逻辑层、数据访问层 2.B/S架构是随着Internet技术的兴起,对C/S结构的一种变化或者改进。 3.B/S架构中,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要的事务逻辑在服务器端实现,形成所谓的三成架构。 4.B/S结构,主要是利用了不断成熟的浏览器技术,结合了浏览器的多种Script语言(VBScript、javascript......)和Active技术,通过浏览器实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。B/S结构就是指安装维护一个服务器(Server),而客户端采用浏览器运行的软件。 5.在B/S体系结构系统中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态网页生成、对数据库的访问和应用程序的执行等工作全部由Web Server完成。随着Windows将浏览器技术植入操作系统内部,这种结构已经成为当今应用软件的首选结构体系。

二、三层架构

1.通常是指将整个业务应用划分为:表现层、业务逻辑层、数据访问层。目的是高内聚,低耦合。

 

  • 表现层:是展示给用户的界面。
  • 业务逻辑层:针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
  • 数据访问层:该层所做事务直接操作数据库,针对数据的增添,删除,修改,查找等。
2.各层的作用
  • 表现层:离用户最近,用于显示数据和接收用户输入的数据,以及接收数据的返回,为用户提供了一种交互式操作的界面。
  • 业务逻辑层:是针对具体问题的操作,也可以理解成对数据层的操作,对数据业务逻辑的处理。主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计。
        业务逻辑层在体系架构中的位置很关键,他处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,          层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层设计对于其调用底层而言没有任何影响。
  • 数据层:数据访问层,有时候也称为持久层,主要功能是对原始数据(数据库或者文本文件等形式存放的数据)的操作层,而不是原始数据;也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。简单来说就是实现对数据表的select,insert,update,delete的操作。
3.三层架构原理
  • 3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。
  • 将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层进行连接,再经由中间层与数据库进行交互。
  • 应用程序:指为了完成某几项特定的任务而被开发运行于操作系统之上的计算机程序。
  • COM:组件对象模型,是关于如何建立组件以及如何通过组件建立应用程序的一个规范,说明了如何可动态交替更新组件。COM规定了对象模型和编程要求,是COM对象可以与其他对象相互操作。在COM构架下,人们可以开发出各种各样的功能专一的组件,然后按照需要将他们组合起来,构成复杂的应用系统。
  • DCOM:分布式组件对象模型,是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。DCOM基于COM,COM上提供了一套允许同一台计算机上的客户端和服务端之间通信端口。
4.优点
  • 分布性强,开发人员可以只关注整个结构中其中的某一层。
  • 可以降低层与层之间的依赖。
  • 降低维护成本和维护时间,总体拥有低成本的特征。
5.缺点
  • 降低了系统的性能,数据传输速度慢。如果不采用分层式结构,很多业务可以直接造访数据库,一次获得相应的数据,如今却必须通过中间层来完成。
  • 有时候会导致级联的修改,这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个新的功能,为保证其设计符合分层式结构,可能需要在相应业务逻辑层和数据访问层中都增加相应的代码。
  • 对服务器要求高。
  • 数据安全性存在问题。

三、Active技术

1.Active网络允许用户在网络节点插入自定义的程序,可对通过网络的用户数据进行计算。该方式使得在网络中可以进行专门的程序处理。 2.为分布式网络计算提供了基础。

四、网络节点

1.是指一台电脑或其他设备与一个具有独立地址并且具有接收和传输数据功能的网络相连。 2.节点可以是工作站、客户,网络用户或个人计算机等。

五、分布式网络计算

1.分布式计算主要研究分布式系统,一个分布式系统包括若干个通过网络互联的计算机。这些计算机相互配合以完成一个共同的目标。

六、JavaScript

1.是一种直译式脚本语言,他的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言。 2.常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。 3.最早JavaScript脚本是通过嵌入在html中来实现自身功能,例如在HTML(标准通用标记语言下的一个应用)网页上使用,用来给html网页增加动态功能。

C/S架构和B/S架构

本文内容整理自http://blog.csdn.net/tennysonsky/article/details/45062079

C/S架构和B/S架构是两种颇具影响力的软件体系结构。C/S是一种历史悠久且技术非常成熟的架构;B/S是新生代架构,从C/S派生出来,有很多创新,在web信息时代虎虎生威。

一、C/S架构

一直很流行并且比较经典的是我们要研究的两层C/S架构。

C/S架构分为客户机和服务器两层,第一层是用户表示层,第二层是数据库层。

客户端和服务器直接相连,这两个组成部分都承担着重要的角色。第一层的客户机并不是只有输入输出,运算等能力,它可以处理一些计算、数据存储等方面的业务逻辑事务;第二层的服务器主要承担事务逻辑处理,本来事务很重,但是由于客户机可以分担一些逻辑事务,所以减轻了服务器的负担。

二、B/S架构

随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。它是C/S架构的一种改进,可以说属于三层C/S架构。

客户机

表示层:用于界面引导,接受用户输入,

并向应用服务器发送服务请求,显示处理结果。

 

应用服务器

业务逻辑层:执行业务逻辑,向数据库发送请求。

数据库服务器

数据存储层:执行数据逻辑,运行SQL或存储过程。

第一层是浏览器,即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于客户不需要安装客户端,只要有浏览器就能上网浏览,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。

第二层是WEB服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器同意请求后,会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。

第三层是数据库服务器,它扮演着重要的角色,因为它存放着大量的数据。当数据库服务器收到了WEB服务器的请求后,会对sql语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。

三、C/S架构和B/S架构的比较

比较项目 C/S架构 B/S架构
网络环境 局域网 广域网
安全要求

面向相对固定的用户群,

信息安全的控制能力很强

面向的是不可知的用户群,

对安全的控制能力相对弱

逻辑事务处理

客户端和服务端各承担一部分逻辑事务处理

客户端只能进行简单的输入和输出和信息发布共享功能,主要的逻辑事务处理还是要靠服务器

响应速度

快,尤其是用户增加时更加明显

软件重用
系统维护 升级难 方便升级
用户接口 与操作系统关系密切 跨平台,与浏览器相关
数据库连接类型

ODBC连接,只要用户连接了数据库就一直保持连接不会断开

限制了用户数

JDBC连接,用户并不保持对数据库的连接,所以用户几乎是无限的
功能 较复杂,能够实现单一的复杂功能,现在大多数大型的ERP系统仍然是C/S架构 较弱,处理的事务逻辑较少,但界面比较通用
对技术人员的要求 较高 较低

以上是关于B/S架构的主要内容,如果未能解决你的问题,请参考以下文章

WEB前端MVC架构变形记

前端面试题:1.B/S架构和C/S架构;2定义vue-router的动态路由

B/S架构的几种形式

想要一个B/S架构,有开发平台的ERP,帮忙推荐下~~

JAVAWeb01-BS架构简述HTML

网络安全架构 | 安全架构设计的双模方法论