`
javasogo
  • 浏览: 1816589 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

浅析B/S结构与C/S结构及未来趋势

阅读更多

本文所述C/S与B/S均针对应用系统而言。

C/S结构,即Client/Server(客户机/服务器)结构模式,服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、DB2、Sybase、SQL Server等,客户端则需要安装专用的客户端软件。

C/S结构出现在网络通讯产生以后、客户机与服务器分离,同时客户机具有较强的计算能力的情况下,使用C/S结构的系统,可以将一部分工作放在客户端,充分利用客户端的资源优势,同时又可以降低服务器端的运算压力。初期,C/S结构的系统风靡一时,C/S结构本身有其自身响应速度快、桌面化操作、便于维护状态等的优势,因此很多在操作性、响应速度要求较高的软件,例如:财务软件、商超软件等仍然使用C/S结构(当让不排除许多优秀的财务及商超软件使用B/S结构)。当然,财务软件及商超软件使用C/S结构还有许多其他原因,例如:统一的财务制度,相同的销售模式等。但是除此之外,多数基于C/S结构的软件,仍然没能摆脱C/S结构本身最大的缺陷,升级困难,维护成本高。客户每一次需求的变更,几乎都需要所有的客户端重新升级。本人曾经亲眼所见由于软件升级维护成本拖垮软件公司的案例,并亲历由于C/S结构升级维护困难导致客户最终选择B/S结构软件的情况。虽然如此,但是C/S结构的软件,仍然具有其自身的响应速度、操作性等优势。

B/S结构,即Browser/Server(浏览器/服务器)结构模式,服务器同样使用较高性能的PC、工作站或小型机,多数系统仍然需要使用数据库,与C/S结构的区别在于客户端由浏览器来担任。

B/S结构出现在浏览器成熟并在业界形成了一套较为标准的表示语言(HTML)之后,B/S结构的软件解决了C/S结构升级维护困难的难题,即使用户需求频繁变动,客户端也无需每次重新升级软件,客户每次只需打开浏览器,录入系统的访问地址,便可获取最新的软件(ActiveX等控件升级除外)。由于B/S结构的软件在升级维护上的成本大大降低,导致现在几乎所有的新上系统,全都使用B/S结构,软件公司在考虑降低成本的同时,几乎不会考虑客户的体验,因此人们通常说“我们非常想考虑客户的体验,但是巨大的维护成本迫使我们放弃考虑C/S结构”。但是,公司们逐渐会发现,升级维护的成本几乎都加在开发成本上了,客户习惯了桌面式的方便操作,以及快速的响应,对于交互性较差的B/S结构的软件不买账,软件公司不得不采取各种措施提供客户体验。一个软件随着它的逐渐成熟,本身也逐渐庞大(无论从软件本身还是运行时所占用的资源),最终变得臃肿不堪。Ajax的出现,解决了一部分问题,异步刷新使得页面不必每次都刷新,而且客户也无需每次维护一条数据就要提交一次,但是在操作性上,仍然存在欠缺,于是富客户端的概念逐渐被提出来,不仅仅是客户的体验,还有服务器在计算能力上的局限性以及相当部分的客户没有大型服务器的购买能力,富客户端将一部分计算放在了客户端,缓解了一部分服务器端的计算压力,但是目前富客户端的各种实现,没有非常成熟的开发模式,开发成本较高。

目前正在使用某银行一网上银行功能(为避嫌不提此银行的名称),发现其采用B/S与C/S结合的方式,对B/S的操作性有了较大的提升,但是仍然存在客户端升级的问题,每次网银功能增加,都需要重新下载安装新的客户端。这种B/S与C/S结合的方式也许是目前解决B/S缺陷的一种较好的办法,客户端的升级,也许可以参照ActiveX的方式,或者直接自动下载免安装;毕竟,B/S本身实际上也是每次下载新的页面然后执行的方式。

分享到:
评论

相关推荐

    浅析B_S系统构架.

    本文将详细介绍C/S与B/S两种架构的基本概念、优缺点,并探讨它们在实际应用中的差异。 #### 二、C/S与B/S架构介绍 ##### (一)C/S结构 C/S架构是一种基于客户机和服务器之间的通信模式。在这一模式下,客户端...

    浅析基于B/S架构项目管理系统的优势

    【B/S架构项目管理系统的优势】 随着全球化进程的加速,企业面临着更为复杂的业务环境,传统的C/S...随着技术的进步和项目管理理论的深化,B/S架构的项目管理系统将会在未来的项目管理领域发挥更加重要的作用。

    基于网络的软件标准体系结构应用浅析.doc

    **C/S与B/S的选择** 选择C/S还是B/S,主要取决于以下几个因素: 1. **投入成本**:B/S结构通常一次性投入,后期维护升级免费,而C/S结构需要持续投入,尤其是在用户规模增加时。 2. **软件维护和升级成本**:频繁...

    浅析MYSQL数据库C/S浏览器设计.pdf

    【系统结构与 UML 建模】在设计 MySQL 数据库的 C/S 浏览器时,系统结构至关重要。通常会采用模块化设计,例如分为用户登录验证、树形控件、列表控件和语句处理模块。树形控件以层次结构展示数据库中的库和表,提供...

    浅析C/C++对整数除以常量的处理

    ### 浅析C/C++对整数除以常量的处理 #### 一、除法相关的数学定义和性质 在探讨C/C++中如何处理整数除法之前,我们需要了解一些基本的数学定义和性质。 **定义1:** 除法是一种基本的算术运算,用来找出一个数...

    浅析0/1背包问题.pdf

    《浅析0/1背包问题》一文详细探讨了经典的计算机科学问题——0/1背包问题,这是一种在有限背包容量下选择若干物品以达到最大价值的优化问题。文章从问题的定义、最优子结构特性、递推关系以及实例分析等方面进行了...

    浅析单片机C语言(C51)与C语言的关系.pdf

    C语言是一种广泛使用的高级编程语言,最初由美国国家标准学会制定了标准版本,即ANSIC。C语言拥有结构化编程的特点,支持丰富的数据类型,如整型(int)、长整型(long)、浮点型(float)、字符型(char)等,并且具有良好...

    c/vc++/MFC异常处理/结构化异常处理 浅析

    本篇文章将深入浅析C、C++中的异常处理机制以及MFC中的异常处理策略。 首先,我们来看C语言的异常处理。C语言本身并不直接支持异常处理,但可以通过返回错误码或者设置全局变量的方式进行错误处理。这种方式称为...

    浅析数据结构中逻辑结构与物理结构映射的教学.pdf

    本文主要探讨了数据结构中的逻辑结构与物理结构映射的教学难点。逻辑结构是数据元素间关系的抽象描述,而物理结构则是在计算机内存中实际存储数据的方式。这两者之间的映射关系对于理解和实现数据结构至关重要。 ...

    浅析现代物流管理趋势与发展策略.doc

    浅析现代物流管理趋势与发展策略.doc

    浅析5G移动通信技术及未来发展趋势 (3).pdf

    "浅析5G移动通信技术及未来发展趋势" 一、移动通信技术的发展历程 移动通信技术的发展可以分为四个阶段。第一个阶段是1G技术,它于上世纪80年代初期被提出,历经十年的发展问世。这一代移动通信技术主要是通过模拟...

    浅析VFP与SQL Server在C_S系统中的应用.pdf

    Visual FoxPro(VFP)与SQL Server在C/S系统中的应用主要涉及到两个方面:一是VFP与SQL Server联合使用的可行性与方法;二是如何设计一个C/S结构的应用程序,使用VFP与SQL Server来处理数据。 首先,VFP是一个小型...

    浅析C/C++ 中return *this和return this的区别

    首先我们知道~ class Test { public: Test() { return this; //返回的当前对象的地址 } ...return *this返回的是当前对象的克隆或者本身(若返回类型为A, 则是拷贝, 若返回类型为A&, 则是本身 )。...

    浅析C语言与C_的异同

    ### 浅析C语言与C++的异同 #### 概述 本文旨在探讨C语言与C++语言之间的异同之处。尽管这两种语言都源于同一基础,并且在很多方面保持着相似性,但随着时间的发展和技术的进步,C++逐渐形成了自己独特的特性和编程...

    浅析C 与C语言的几点联系与区别.doc

    《C++与C语言的联系与区别》 C++与C语言,两者虽有深厚的渊源,但在编程理念和具体实现上存在着显著的区别。本文主要从三个方面探讨它们的联系和差异:主函数、类与结构、以及模板与宏。 首先,C++与C语言在主函数...

    C语言循环结构教学浅析.pdf

    C语言循环结构是指在C语言编程中,用于重复执行某段代码直到满足特定条件为止的控制结构。循环结构在程序设计中非常重要,因为它可以有效地减少代码的重复书写,提高程序的运行效率,并且能够处理重复性的任务,对于...

    浅析《数据结构》实践教学.docx

    "浅析《数据结构》实践教学" 数据结构是一门计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课程,而且已成为其它理工专业的热门选修课。数据结构课程的教学中存在的问题是逻辑性强、抽象性高,学生在...

Global site tag (gtag.js) - Google Analytics