android学习(三)
发布日期:2021-06-28 13:23:38 浏览次数:2 分类:技术文章

本文共 4980 字,大约阅读时间需要 16 分钟。

C/S模式:

中文名
客户/服务器模式
外文名
Client/Server
英文缩写
C/S

          

           Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构。它是,通过它可以充分利用两端硬件环境的优势,将任务合理

配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数系统都是Client/Server形式的两层结构,由于现在的软件应用系统正

在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可

以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。

定义

C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或 ,并采用大型 ,如ORACLE、SYBASE、InfORMix或 SQL Server。 需要安装专用的客户端 。
传统的 体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的 支持。由于没能提供用户真正期望的开放环境,C/S结构的 需要针对不同的 系统开发不同版本的软件, 加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高, 效率低。
Client/Server结构是20世纪80年代末提出的。这种结构的系统把较复杂的计算和管理任务交给网络上的高档机器——服务器,而把一些频繁与用户打交道的任务交给前端较简单的计算机—客户机。通过这种方式,将任务合理分配到客户端和服务器端,既充分利用了两端硬件环境的优势,又实现了网络上信息资源的共享。由于这种结构比较适于局域网运行环境,因此逐渐得到了广泛的应用。
在Client/Server结构的系统中,应用程序分为客户端和服务器端两大部分。客户端部分为每个用户所专有,而服务器端部分则由多个用户共享其信息与功能。客户端部分通常负责执行前台功能,如管理用户接口、数据处理和报告请求等;而服务器端部分执行后台服务,如管理共享外设、控制对共享数据库的操作等。这种体系结构由多台计算机构成,它们有机地结合在一起,协同完成整个系统的应用,从而达到系统中软、硬件资源最大限度的利用。
任何一个应用系统,不管是简单的单机系统还是复杂的网络系统,都由3个部分组成:显示逻辑部分(表示层)、事务处理逻辑部分(功能层)和数据处理逻辑部分(数据层)。显示逻辑部分的功能是与用户进行交互;事务处理逻辑部分的功能是进行具体的运算和数据的处理;数据处理逻辑部分的功能是对数据库中的数据进行查询、修改和更新等。在两层模式的Client/Server结构中,显示逻辑部分和事务处理逻辑部分均被放在客户端,数据处理逻辑部分和数据库被放在服务器端。这样就使得客户端变得很“胖”,成为胖客户机,而服务器端的任务相对较轻,成为瘦服务器。
这种传统的Client/Server结构比较适合于在小规模、用户数较少(≤100)、单一数据库且有安全性和快速性保障的局域网环境下运行,所以得到了广泛的应用。但随着应用系统的大型化,以及用户对系统性能要求的不断提高,两层模式(2-Tier)的Client/Server结构越来越满足不了用户需求。这主要体现在程序开发量大、系统维护困难、客户机负担过重、成本增加及系统的安全性难以保障等方面。

优缺点

C/S结构的优点是能充分发挥 PC的处理能力,很多工作可以在 处理后再提交给服务器。对应的优点就是 响应速度快。缺点主要有以下几个:
只适用于局域网。而随着互联网的飞速发展, 和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。
需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统 升级时,每一台客户机需要重新安装,其维护和升级成本非常高。
对客户端的 一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于 新的 等等,更不用说Linux、Unix等。

优势劣势

(1) 运行数据负荷较轻。最简单的C/S 的数据库应用由两部分组成,即客户 和 程序。二者可分别称为前台程序与后台程序。运行 程序的机器,也称为 。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户 运行在用户自己的电脑上,对应于 ,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果, 运行数据负荷较轻。
(2)数据的储存管理功能较为透明。在数据库应用中,数据的储存管理功能,是由服务器程序和客户 分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3) 的劣势是高昂的维护成本且投资大。首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的 完全交由 去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的 在线运行,网络管理工作人员既要对服务器维护管理,又要对 维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。
其次,传统的C/S结构的软件需要针对不同的 系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

技术比较

C/S结构 (即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把 的计算和数据合理地分配在客户机和服务器两端,可以有效地降低 量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的 适于在用户数目不多的局域网内使用。国内的大部分ERP(财务) 产品即属于此类结构。
B/S( /服务器模式)是随着 的兴起,对C/S结构的一种改进。在这种结构下, 应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现, 只需要 即可进行业务处理,是一种全新的软件系统构造技术。这种结构更成为当今 的首选体系结构。e通管理系列产品即属于此类结构。

安全性

由于C/S结构 的数据分布特性, 所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地 应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行 。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构 的安全性是令人无法接受的。对于 的 来讲,由于其数据集中存放于总部的 , 不保存任何业务数据和数据库连接信息,也无需进行什么 ,所以这些安全问题也就自然不存在了。

一致性

在C/S结构 的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行 的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的 来讲,其数据是集中存放的, 发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。

实时性

在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据;而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。

溯源性

由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的 则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。

响应及时

企业的业务流程、业务模式不是一成不变的,随着企业不断发展,必然会不断调整。 供应商提供的软件也不是完美无缺的,所以,对已经部署的软件产品进行维护、升级是正常的。C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新(即“休克更新”),其服务响应时间基本不可忍受。而B/S结构的 不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部 更新,可以做到快速服务响应。

应用限制

C/S结构 仅适用于局域网内部用户或宽带用户(1兆以上);而我们的B/S结构软件可以适用于任何网络结构(包括33.6K拨号入网方式),特别适于宽带不能到达的地方(例如迪信通集团的某些分公司,仅靠电话上网即可正常使用软件系统)。

运用比较

管理 是为企业服务的,企业选用管理软件不仅要从技术上考虑,还要从商业运用方面来考虑,下文将从商业运用的角度对两种结构的软件进行比较。

投入成本

B/S结构 一般只有初期一次性投入成本。对于集团来讲,有利于 项目控制和避免IT黑洞,而C/S结构的软件则不同,随着应用范围的扩大,投资会连绵不绝。

硬件保护

在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,C/S结构 的一般解决方案是购买更高级的中央服务器,原服务器放弃不用,这是由于C/S软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而B/S结构(如e通管理系列)则不同,随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。

企业扩张

对于成长中的企业,快速扩张是它的显著特点。例如迪信通公司,每年都有新的配送中心成立,每月都有新的门店开张。 的快速部署,是企业快速扩张的必要保障。对于C/S结构的软件来讲,由于必须同时安装服务器和 、建设机房、招聘专业管理人员等,所以无法适应企业快速扩张的特点。而B/S结构 ,只需一次安装,以后只需设立账号、培训即可。
其次,随着 应用的扩张,对 人才的需求有可能成为企业快速扩张的制约瓶颈。如果企业开店上百家,对计算机专业人才的需求就将是企业面临的巨大挑战之一。
抛开人力成本不说,一个企业要招到这么多的专业人才并且留住他们也是不可能的。所以,采用C/S结构 必然会制约企业未来的发展。另外,大多数C/S结构的 都是通过ODBC直接连到数据库的,安全性差不说,其用户数也是受限的。每个连到数据库的用户都会保持一个ODBC连接,都会一直占用中央服务器的资源,对中央服务器的要求非常高,使得用户扩充受到极大的限制。而B/S结构软件则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的。
从以上的分析可以看出,B/S结构的管理 有着C/S结构软件无法比拟的优势。而从国外的发展趋势来看,也验证了这一点。国外大型 要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多 厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。

转载地址:https://blog.csdn.net/wwslina/article/details/77933642 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Java知识点列表
下一篇:android学习(二)

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月18日 07时29分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

IntelliJ IDEA 插件 阿里巴巴Java开发手册(Alibaba Java Coding Guidelines) 2019-04-28
认识Java 2019-04-28
java中非静态、静态方法的调用、方法中调用方法 2019-04-28
Java中的访问权限修饰符、各种变量、static、final等关键字,一直混淆的整理(未完) 2019-04-28
宋红康的快捷键包描述(idea导入类似eclipse的)keymap-shkstart.jar 2019-04-28
IDEA默认的快捷键整理!! 2019-04-28
超宽带雷达P440?雷达的快时间慢时间是什么意思? 2019-04-28
教育授权certificate used to sign the license 2019-04-28
从内存解释:方法传参(基本数据类型、引用数据类型(对象、数组、String类型)),原值是否改变? 2019-04-28
java中数组为空和数组长度为0的区别 2019-04-28
SecureCRT连接不上虚拟机 2019-04-28
为什么在创建线程时,更推荐用实现Runnable接口的方法?而不是继承Thread类的方法? 2019-04-28
从100万个数中找出最大的前100个数-最小堆、分块 2019-04-28
并发下的ArrayList、HashMap 2019-04-28
仿牛客社区项目2.2登录模块——开发注册功能 2019-04-28
仿牛客社区项目2.3登录模块——会话管理Cookie、Session 2019-04-28
仿牛客社区项目2.4登录模块——生成验证码 2019-04-28
JDK-JRE-JVM关系、Java语言跨平台 2019-04-28
仿牛客社区项目2.5登录模块———登录退出功能 2019-04-28
仿牛客社区项目3.2——发布帖子(异步通信技术AJAX) 2019-04-28