B/S架构

news2025/2/24 10:28:19

目录

一、什么是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网页增加动态功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/405809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

十分钟带你入门Chrome插件开发

一、简述 我们所说的chrome插件一般都是指chrome扩展程序(Chrome Extension)。chrome插件是一个用Web技术开发、用来增强浏览器功能的软件,它其实就是一个由HTML、CSS、JS、图片等资源组成的一个.crx后缀的文件。chrome插件除了Chrome浏览器…

【TFS-CLUB社区 第4期赠书活动】〖Flask Web全栈开发实战〗等你来拿,参与评论,即可有机获得

文章目录❤️‍🔥 赠书活动 - 《Flask Web全栈开发实战》❤️‍🔥 编辑推荐❤️‍🔥 内容提要❤️‍🔥 赠书活动 → 获奖名单❤️‍🔥 赠书活动 - 《Flask Web全栈开发实战》 内容简介: 《Flask Web全栈开发…

flex布局 多种方法让两个盒子分布在左右两边

方法一&#xff1a; 一个父盒子里面包含了两个子盒子的&#xff0c;可以用justify-content:space-between属性 <div classparent> <div class"left"></div> <div class"right"></div> </div> .parent { disp…

FreeRTOS(教程非常详细)

概述&#xff1a; 之前写了关于FreeRTOS的部分内容&#xff0c;为了方便阅读&#xff0c;现在给汇总到一起了。全部学习完后&#xff0c;恭喜你对FreeRTOS有了更深的认知。 第一章 FreeRTOS移植到STM32 第二章 FreeRTOS创建任务 第三章 FreeRTOS任务管理 第四章 FreeRTOS消…

【springcloud 微服务】Spring Cloud Ribbon 负载均衡使用策略详解

目录 一、前言 二、什么是Ribbon 2.1 ribbon简介 2.1.1 ribbon在负载均衡中的角色 2.2 客户端负载均衡 2.3 服务端负载均衡 2.4 常用负载均衡算法 2.4.1 随机算法 2.4.2 轮询算法 2.4.3 加权轮询算法 2.4.4 IP地址hash 2.4.5 最小链接数 三、Ribbon中负载均衡策略…

Unity 实现A* 寻路算法

前言 A* 寻路算法是什么 游戏开发中往往有这样的需求&#xff0c;让玩家控制的角色自动寻路到目标地点&#xff0c;或是让 AI 角色移动到目标位置&#xff0c;实际的情况可能很复杂&#xff0c;比如地图上有无法通过的障碍或者需要付出代价&#xff08;时间或其他资源&#x…

XShell免费版的安装配置教程以及使用教程(超级详细、保姆级)

目录 一、 XShell的作用 二、 下载免费版XShell 三、 安装XShell 四、使用XShell连接Linux服务器 一、 XShell的作用 XShell 是一种流行且简单的网络程序&#xff0c;旨在模拟虚拟终端。XShell可以在Windows界面下来访问远端不同系统下的服务器&#xff0c;从而比较好的达到…

11.落地:微服务架构灰度发布方案

前置知识 1.nacos 服务注册与发现 2.本地负载均衡器算法 3.gateway 网关 4.ThreadLocal 1.什么是灰度发布&#xff1f; 2.什么是灰度策略? 3.灰度发布落地方案有哪些 4.灰度发布架构设计原理 nginxlua&#xff1f; 5.如何基于GateWayNacos构建灰度环境 6.GateWay负载均衡…

【云原生 • Kubernetes】认识 k8s、k8s 架构、核心概念点介绍

目录 一、Kubernetes 简介 二、Kubernetes 架构 三、Kunbernetes 有哪些核心概念&#xff1f; 1. 集群 Cluster 2. 容器 Container 3. POD 4. 副本集 ReplicaSet 5. 服务 service 6. 发布 Deployment 7. ConfigMap/Secret 8. DaemonSet 9. 核心概念总结 一、Kubern…

java程序员转正述职报告PPT

新公司转正述职报告&#xff0c;花了些时间准备了ppt和讲稿&#xff0c;这里分享一下 述职报告 时间过得很快&#xff0c;转眼就已经三个月了&#xff0c;三个月时间不长&#xff0c;完成的工作也有限&#xff0c;但是在这些工作中&#xff0c;我也学到了很多&#xff0c;现在…

Linux命令大全:2W多字,一次实现Linux自由

前言 大家好&#xff0c;我是40岁老架构师尼恩&#xff0c;Linux 的学习对于一个程序员的重要性是不言而喻的。 学好它却是程序员必备修养之一。 同时&#xff0c;也是很多公司的面试题。 比如说&#xff0c;曾有一个网易的面试题是&#xff1a; 聊聊&#xff1a;你常用的几…

docker入门,这一篇就够了。

Docker入门&#xff0c;这一篇就够了。 Docker容器虚拟化平台。 前言 接触docker很长时间了&#xff0c;但是工作中也没有用到&#xff0c;所以总是学了忘&#xff0c;忘了学。不过这次&#xff0c;我打算跟大家分享一下我的学习历程&#xff0c;也算是我的独特的复习笔记&…

双目三维重建系统(双目标定+立体校正+双目测距+点云显示)Python

双目三维重建系统(双目标定立体校正双目测距点云显示)Python 目录 双目三维重建系统(双目标定立体校正双目测距点云显示)Python 1.项目结构 2. Environment 3.双目相机标定和校准 (0) 双目摄像头 (1) 采集标定板的左右视图 (2) 单目相机标定和校准 (3) 双目相机标定和…

毕业论文案例-LDA主题模型实现文本聚类

本文结构框架引言LDA主题模型的预备知识&#xff08;1&#xff09;多项式分布 Multinomial Distribution&#xff08;2&#xff09;狄利克雷分布 Dirichlet Distribution&#xff08;3&#xff09;共轭分布 Conjugate Distribution&#xff08;4&#xff09;吉普斯采样 Gibbs S…

springboot整合webSocket(看完即入门)

webSocket1、什么是webSocket&#xff1f;2、webSocket可以用来做什么?3、webSocket协议4、服务端WebSocket操作类5、客户端1、什么是webSocket&#xff1f; WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单&am…

100天精通Python(可视化篇)——第77天:数据可视化入门基础大全(万字总结+含常用图表动图展示)

文章目录1. 什么是数据可视化&#xff1f;2. 为什么会用数据可视化&#xff1f;3. 数据可视化的好处&#xff1f;4. 如何使用数据可视化&#xff1f;5. Python数据可视化常用工具1&#xff09;Matplotlib绘图2&#xff09;Seaborn绘图3&#xff09;Bokeh绘图6. 常用图表介绍及其…

【Windows】六种正确清理C盘的方法,解决你的红色烦恼

如何正确的清理C盘前言清理方法1. 利用Windows自己附带的磁盘清理工具2. 开启自动清理3. 通过“配置存储感知或立即运行”来清理4. 管理C盘中的程序5. 系统文件夹转移6. 将C盘现有内容转移到别的盘参考链接前言 Windows操作系统一般是安装在磁盘驱动器的C盘中&#xff0c;运行…

D435i相机的标定及VINS-Fusion config文件修改

引言 当我们想使用D435i相机去跑VINS-Fusion时&#xff0c;如果不把标定过的相机信息写入config文件中就运行&#xff0c;这样运动轨迹会抖动十分严重&#xff0c;里程计很容易漂。接下来将介绍如何标定D435i相机&#xff0c;并设置VINS-Fusion的config文件。 一 标定前的准备…

k8s中job与cronjob使用详解

一、前言 job,顾名思义就是任务,job的概念在很多框架中都有,而且实际业务场景中也使用非常广泛,比如大家熟悉的hadoop,客户端可以向集群提交一个job,然后集群根据一定的调度策略来处理这个job; k8s中的job,主要用于批量处理的业务场景,比如像那种短暂的一次性任务(每个…

java 代码样式为什么需要事务,讲述Spring5事务几种方式 认识API

首先 在上一文java Spring5 搭建操作数据库事务环境中 我们搭建了一个事务的业务场景 然后 打开项目 我们继续 先看到数据库表 看好两个人的余额 然后 来到senvice层下的transfAccoSenvice 将里面的 transferAccounts方法 更改如下 //转账方法 public void transferAccounts…