软件体系结构风格之C/S,三层C/S,与BS
C/S的物理结构,其发展历程为(1)->(3)->(2),本文接下来要介绍的C/S为(3),即胖客户端瘦服务器,服务器只管数据库,接下来要介绍的三层C/S为(2),即客户端不胖不瘦。
- C/S软件体系结构
背景:基于资源不对等,且为实现共享而提出来的
主要组成部分:数据库服务器、客户应用程序和网络。
注意到,服务端只管数据库。
任务分配:
处理流程:
优点:
①具有强大的数据操作和事务处理能力, 模型思想简单,易于理解接受。
②对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。
③将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。
缺点:
开发成本较高
客户端程序设计复杂
信息内容和形式单一
用户界面风格不一,使用繁杂,不利于推广使用
软件移植困难
软件维护和升级困难
新技术不能轻易应用
- 三层C/S软件体系结构(服务器不再是只管数据库)
处理流程:
优点:
①允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,能提高系统和软件的可维护性和可扩展性。
②允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。
③应用的各层可以并行开发,可以选择各自最适合的开发语言。
④利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,为严格的安全管理奠定了坚实的基础。
缺点:
各层间的通信效率不高,即使分配给各层的硬件能力很强,其作为整体来说也达不到所要求的性能。
注意点:
设计时必须慎重考虑三层间的通信方法、通信频率及数据量,这和提高各层的独立性一样是三层C/S结构的关键问题。 - B/S风格
背景:B/S体系结构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本。从某种程度上来说,B/S结构是一种全新的软件体系结构。
结构:浏览器/Web服务器/数据库服务器(与C/S相比将客户端应用程序换成了客户端浏览器,加上了Web服务器)
C/S
优点:
①基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。
②B/S体系结构还提供了异种机、异种网、异种应用服务器的联机、联网、统一服务的最现实的开放性基础。
缺点:
①B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。
②B/S体系结构的系统扩展能力差,安全性难以控制。
③采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远低于C/S体系结构。
④B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。
案例:混合B/S和C/S涉及一个集团网络财务程序(这里讨论的C/S是三层C/S)
企业内部使用B/S,出差使用C/S。这样兼顾了升级方便和安全性。
相关文章:

HDU-2020
绝对值排序 Problem Description输入n(n<100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。 Input输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,…

Java归去来第2集:利用Eclipse创建Maven Web项目
一、前言 如果还不了解剧情,请返回第一集的剧情 Java归去来第1集:手动给Eclipse配置Maven环境 二、利用Eclipse创建Maven Web项目 选择File-New-Project 然后选择Maven-Maven Project 选择项目所在的工作空间目录,然后下一步 选择模…

vs2005什么时候能出正式版
2005试用版本出了很久了,不知道什么时候能出正式版,不会真得要推迟到2005年吧。企盼中…… 转载于:https://www.cnblogs.com/playboy2005/archive/2004/09/22/45563.html

人工神经网络是如何实现存算一体的
摘要 本文内容如题。 下图是一个神经元模型 可以将其抽象为一个数学函数yf(w1x1w2x2…wn*xnb)。也就是这个模型同时涵盖输入输出和进行计算。

编码能力的提升?_20131228
我在编程过程中发现,编码也是一很重要的能力,故花一点时间对其进行思考。 现将思考的成果与各位同行分享;我希望大家在看到以后,能提供宝贵的意见,先谢之! 转载于:https://www.cnblogs.com/uestc999/p/3495…

Microsoft PowerToys for Windows XP
它们又卷土重来了!PowerToys是由开发人员在软件产品正式发布并投放生产后相继编制的附加程序。它们的出现不仅使Windows体验更加兴味盎然,而且,还为Windows系统平添了许多功能特性。 说明:我们已为确保PowerToys的正常运行而付出了…

mysql主从配置读写分离笔记
第二次回头看了,第一次学完后感觉都会了,回头再看才发现什么都想不起来了。还得查资料再学习,虽然很简单。还是做个笔记吧!笔记有点糙 就是自己看的因为主要是测试主从和读写分离 所以直接 yum install -y mariadb mariadb-server…

通用软件测试的6个角度
之后的课程都会围绕此展开 以QQ邮箱为例 外观界面测试 页面外观背景颜色、字体、字体格式、页面图案、动画、窗体布局功能测试 输入正确的用户名和密码可以登录,其他都不可性能测试 输入完邮箱的用户名和密码并单击登录按钮后,用户等待多长时间可以登录…

easyui源码翻译1.32--Messager(消息窗口)
前言 使用$.messager.defaults重写默认值对象。下载该插件翻译源码 消息窗口提供了不同的消息框风格,包含alert(警告框), confirm(确认框), prompt(提示框), progress(进度框)等。所有的消息框都是异步的。用户可以在交互消息之后使用回调函数去处理结果或做一些自己…

新闻网站个人中心(查询用户的关注信息)流程分析
1.获取当前用户登录状态 2.获取参数 用户的id user_id 3.获取新闻作者的id 4.如果新闻作者id和用户id 5.返回内容给前端转载于:https://www.cnblogs.com/zxt-cn/p/9158860.html

物联网技术与应用(第1-2课时)(cont.)
物联网的定义: 通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,将任何物品通过有线与无线方式与互联网连接,进行通信和信息交换,以实现智能化识别、定位…

db2 基础语法
一、db2 基础 基本语法 注释:“--”(两个减号) 字符串连接:“||” 如set msg’aaaa’||’bbbb’,则msg为’aaaabbbb’ 字符串的引用:‘’(一定用单引号),如果需要输入单引…

Repeater分页代码
//ASP.NET中的DataList和Repeater提供了简单快速的方法來显示,其间,我们可以使用<ItemTemplate>更是使我们能随心所欲的控制数据的排放样式! //.可惜的是它们不像Datagrid那样,有内置的分页功能。 // //如何解决呢? // //其…

消失,只为一个人存在……
好像很久很久没有24小时挂在网上了…… 每天收到的短消息来源越来越单一…… 在朋友中消失,所有的来电和消息,都不愿意理会…… 朋友虽然很重要,可是现在只想为一个人存在。 请各位好朋友原谅, 我就是那种重色轻友的人嘛…… 转载…

统一建模语言——UML(第9-20课时)(cont.)
文章目录UML概述UML是什么UML能做什么为什么要学UMLUML构造需求模型用例建模技术绘制用例图识别执行者识别用例检查形式关联关系编写用例文档用例文档的组成部分详细说明检查用例模型状态图定义组成元素复杂一点活动图定义作用组成元素绘制技巧例顺序图定义作用组成元素UML构造…

xunsearch 迅搜初探
2014年1月2日 19:34:12 1 [rootlocalhost bin]# ./php /usr/local/lamp/xunsearch/sdk/php/util/Quest.php demo "俗话说 OR pid:1"2 在 3 条数据中,大约有 2 条包含 俗话说 OR pid:1 ,第 1-2 条,用时:0.0036 秒。3 4 1…

Aria2打造属于自己的下载神器
请关注微信公众号( ?sharingplus) 我使用Aria2差不多已经2年了。在这段时间使用很多下载工具,最开始使用的是迅雷极速版 、后面各种原因不好使了。Free Download Manager、uTorrent、qBittorrent、BitComet、IDM等等全部折腾了一遍。各有千秋,在上面中使…

GARFIELD@12-10-2004
无所不用其极 转载于:https://www.cnblogs.com/rexhost/archive/2004/12/10/75223.html

机器学习中的三对性能度量参数
文章目录1 分类结果混淆矩阵2 错误率和精度3 查准率P和查全率R4 真正例率TPR和假正例率FPR1 分类结果混淆矩阵 2 错误率和精度 错误率:分类错误的样本数占样本总数的比例 精度:分类正确的样本数占样本总数的比例 关系:两者之和为1 3 查准率…

管理输入光标的 WIN32 API 函数
下面的 API 函数是用来管理输入光标的 API 函数,下面是在使用C#时声明的这些函数: /**//// <summary> /// 参数说明: /// hwnd : 要创建光标的控件的句柄 /// hbm : 一个位图的句柄,如果指定则使用指定…

linux 防火墙 -netfilter
2019独角兽企业重金招聘Python工程师标准>>> 关于iptables 什么是iptables? 常见于linx系统下的应用层防火墙工具 firewalld 和netfilter Linux 防火墙-netfilter selinux 临时关闭 setenforce 0selinux 永久关闭 vi /etc/selinux/configcentos7 之前使用 netfilte…

信号完整性 带宽的确定
对于只包含很少电容的电路,可认为是梯形边沿,最大带宽可以采用 f1/tr.其中tr为上升时间。 对于有容性负载的电路,可以认为是指数边沿,最大带宽可以采用f4/tr.其中tr为上升时间。 参考书籍《数字信号完整性:互连、封装的…

验证(verification)和确认(validation)
验证:看软件产品是否符合需求文档 确认:看软件产品是否满足用户需求 整个软件测试做的事是验证

dva + antd + mockjs 实现用户管理
1.安装dva-cli npm install dva-cli -g 2.创建应用 dva new dvadashboard [dvadashboard为项目名] 3.安装mockjs npm install mockjs --save4.配置mockjs 打开.roadhogrc.mock.js 设置如下const fsrequire(fs); const pathrequire(path); const mockPathpath.join(__dirname/…

用S60操作系统SDK开发NOKIA手机应用程序(4)- 界面层框架及一些特性
Uikon和Avkon Series 60 将一个用户界面层(Avkon)添加在Symbian OS v7.0s 底层的Uikon 之上。Uikon是Symbian 核心用户界面,Avkon是S60平台的用户界面。Avkon 提供了一 套UI 组件和一个专为Series 60 设备设计的软件框架。UIKON 是所有Symbian OS设备都支持的一种用…

VS2010 发布web项目 问题
载:http://www.cnblogs.com/shaocm/archive/2012/08/10/2632116.html 转载于:https://www.cnblogs.com/zcttxs/p/3507007.html

软件生命周期中出现的文档名称(cont.)
需求相关:需求规格说明书 测试相关:测试计划书,测试报告

转:45 Useful JavaScript Tips, Tricks and Best Practices
原文来自于:http://flippinawesome.org/2013/12/23/45-useful-javascript-tips-tricks-and-best-practices/ 1 – Don’t forget var keyword when assigning a variable’s value for the first time. Assignment to an undeclared variable automatically results…

聊聊spring cloud gateway的PreserveHostHeaderGatewayFilter
序 本文主要研究下spring cloud gateway的PreserveHostHeaderGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/GatewayAutoConfiguration.java Configuration ConditionalOnProperty(name…

静态测试与测试计划
文章目录1 静态测试2 评审2.1 what2.2 why2.3 形式2.4 分类2.4.1 属于软件测试的部分2.4.2 属于软件质量保证的部分:3 需求测试3.1 why3.2 需求中可能存在的问题3.3 需求文档检查要点3.3.1 完整性3.3.2 正确性3.3.3 一致性3.3.4 可行性3.3.5 无二义型3.3.6 健壮性3.…