C/S结构和b/s结构的比较

随着软件系统的规模和复杂性的增加 ,软件体系结构的选择成为比数据结构和算法的选择更为重要的因素 ,三层客户/服务器体系结构为企业资源规划的整合提供了良好的框架 ,是建立企业级管理信息系统的最佳选择。随着体系结构的发展,软件框架结构方面也在不断发展,目前在多层应用结构方面出现Java技术和.net技术的实现的不同的解决方案,二者各有优缺点,分别适用于不同规模的系统的要求。 本文将结合电信计划建设管理信息系统的实现,说明三层模式的体系结构,介绍基于三层模式的应用系统的分布式组件技术 ,阐述应用J2EE框架结构来实现应用系统的实现方法。

一、系统结构的选择

1、 传统两层C/S结构的缺点

传统的两层客户/服务器模式比较适合于小规模、用户较少、单一数据库且在安全、快速的网络环境下 (例如局域网 )运行 。但是,随着应用系统的规模不断扩大 ,复杂性越来越高在多用户、多数据库且非安全的网络环境下(例如:Internet) ,这种两层结构的应用模型将无法适应 。而且传统的两层结构还存在以下缺陷:

(1)它是单一服务器且以局域网为中心的 ,所以难以扩展至大型企业广域网或 Intranet;

(2)受限于供应商,程序的升级维护必须由供应商重新开发扩展;

(3)软、硬件的组合及集成能力有限;在软件上呈现出胖客户端,用户必须在客户端安装特定的客户端应用程序,而且企业的业务逻辑都写在客户端应用程序中,程序维护困难,程序升级需要每个客户端都要安装新的客户端应用程序,同时,对于程序开发商来说,程序模块的重用性差,各个模块相对独立;

(4)C/S模式很难管理大量的客户机。

基于以上原因,传统的C/S模式已经不能适应发展的需要,随着网络技术的普及和用户需求的进一步提高,三层WEB模式应运而生。

2、 三层WEB结构的优点

三层客户/服务器模式 (以下简称三层模式 )在两层模式的基础上,增加了新的一级。这种模式在逻辑上将应用功能分为三层:客户显示层、业务逻辑层、数据层。客户显示层是为客户提供应用服务的图形界面,有助于用户理解和高效的定位应用服务。业务逻辑层位于显示层和数据层之间,专门为实现企业的业务逻辑提供了一个明确的层次,在这个层次封装了与系统关联的应用模型,并把用户表示层和数据库代码分开 。这个层次提供客户应用程序和数据服务之间的联系,主要功能是执行应用策略和封装应用模式,并将封装的模式呈现给客户应用程序。数据层是三层模式中最底层,他用来定义、维护、访问和更新数据并管理和满足应用服务对数据的请求。

三层模式的主要优点为 :

①良好的灵活性和可扩展性。对于环境和应用条件经常变动的情况,只要对应用层实施相应的改变,就能够达到目的。

②可共享性。单个应用服务器可以为处于不同平台的客户应用程序提供服务,在很大程度上节省了开发时间和资金投入;

③较好的安全性。在这种结构中,客户应用程序不能直接访问数据,应用服务器不仅可控制哪些数据被改变和被访问,而且还可控制数据的改变和访问方式 。

④增强了企业对象的重复可用性。“企业对象”是指封装了企业逻辑程序代码,能够执行特定功能的对象。随着组件技术的发展,这种可重用的组件模式越来越为软件开发所接受。

⑤三层模式成为真正意义上的“瘦客户端”,从而具备了很高的稳定性、延展性和执行校率。

⑥三层模式可以将服务集中在一起管理,统一服务于客户端,从而具备了良好的容错能力和负载平衡能力。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

当我们谈论监控时,我们在谈论什么?

1454
来自专栏数据小魔方

数据地图系列13|PowerBI

今天要跟大家分享数据地图系列的第13篇——PowerBI。 PowerBI是微软公司数据可视化系列集成的桌面端产品。(上一篇讲了个PowerMap,那个是Pow...

4366
来自专栏华章科技

即将放弃Python 2.7的不止有Numpy,还有pandas和这些工具

最近,Numpy 团队的一份声明引发了数据科学社区的关注:这一科学计算库即将放弃对 Python 2.7 的支持,全面转向 Python 3。由于目前存在很多基...

871
来自专栏携程技术中心

干货 | 携程酒店360度Java质量控制

作者简介 王幸福,携程酒店研发部资深测试开发工程师,负责酒店测试框架和测试工具的研发。技术狂热者,热衷于开源项目,利用创新去提高测试工作的效率。 一、前言 携程...

3484
来自专栏IT大咖说

华为多年实践:ServiceComb在Service Mesh的探索与思考

内容来源:2018 年 6 月 27 日,华为微服务架构师田晓亮在“LC3微服务Workshop | 深入解读ServiceComb”进行《ServiceCom...

3154
来自专栏JAVA高级架构

微服务和传统服务架构

单块架构应用:功能集中,代码和数据中心化,一个发布包部署后运行在同一个进程中的应用程序 单块架构的优势: 1)易于开发 2)易于测试 3)易于部署 4)易于水平...

4058
来自专栏云计算D1net

云备份选项保护公共云存储数据

如今,公共云供应商正在开发尖端产品,以使基于云计算的备份产品更有效地备份公共云的存储数据。 数据是当今大多数企业的命脉。而备份数据可能是IT行业人士最不喜欢做的...

3396
来自专栏Java架构师进阶

怎么从初、中级Java程序员过渡到高级Java程序员?

原文地址:https://www.toutiao.com/i6599524702937416195/

1161
来自专栏移动开发平台

移动开发平台的交流方式

移动开发平台目前主要以 QQ 群的形式为您解答日常问题,群内会不定期推送更新通知等各类信息。

3955
来自专栏程序员的知识天地

Web前端学习:移动Web加速技术

移动设备已经成为当下使用频率最高的电子设备,而移动Web依然是移动设备中使用频率最高的应用场景。

1721

扫码关注云+社区

领取腾讯云代金券