MiBDP,数据开发、项目团队、数据应用和产品在路上,金融保险、互联网网游、电商、新零售行业、大数据和AI在路上。对数仓、模型、ETL、数据产品应用了解。DTCC 2013演讲嘉宾,曾做过两款大获好评的数据产品平台。知识星球ID:35863277
分类: 数据库开发技术
2006-03-13 22:11:35
在C/S结构中有传统的两层结构和新型的三层结构之分。二层结构最早在20世纪80年代后期引入业界的,它为多用户系统提供了前所未有的双向交流感和灵活性,革命性的改变了传统的应用设计和系统实现方式,很快便在各种类型的软件系统设计与开发中获得了广泛应用。两层结构的处理流程可表示为:
两层网络计算模式=多Client+单/多Data Server+动态计算
两层结构的应用软件模型可表示为:
用户界面 |
应用逻辑 | SQL语言 |
数据库服务器 |
客户机 |
服务器 |
在这种模式中,服务器只负责各种数据的处理和维护,为各个客户机应用程序管理数据;客户机包含文档处理软件、决策支持工具、数据查询等应用逻辑程序,通过网络使用SQL语言发送、请求和分析从服务器接收的数据。这是一种“胖客户机(Fat Client)”、“瘦服务器(Thin Server)”的网络结构模式。目前众多的基于Internat/Internet网络农业专家软件均属这种结构。
随着C/S结构应用范围的不断扩大和计算机网络技术的发展,这种结构带来的问题如系统的可靠性有所降低、缺乏灵活性、资源浪费严重以及维护费用较高等等日益明显,网络计算模式逐渐从两层模式扩展到N展模式,并且结合动态计算,解决了这一问题。
(2)三层结构
目前最流行的多层模式是三层结构,其处理流程可表示为:
三层网络计算模式=多浏览器+单Web服务器+多数据服务器+动态计算
三层结构的应用软件模型可表示为:
用户界面 | 自定义协议 |
应用逻辑 | SQL语言 | 数据库 |
客户机 | 应用服务器 | 数据库服务器 |
在三层结构中,应用逻辑程序己从客户机上分离出来,不但作为一个应用服务器,而且又成为一个浏览的Web服务器。这是一种“瘦客户机(Thin Client)”网络结构模式,客户端只存在界面显示程序,只需在服务器端随机增加应用服务,即可满足系统的需要,可以用较少的资源建立起具有很强伸缩性的系统,这也是当前Internet上最先进的技术之一。
(3)多层结构
多层结构的应用程序把业务逻辑独立出来,组成一层或多层。形成客户层界面、中间业务处理层(可由多层组成)和后端数据服务层,应用系统开发模式变为:
(1)客户端人机界面的开发。开发大大简化,只注重人机界面的设计,不必关心业务逻辑和数据库的访问,可以是瘦客户机。
(2)中间业务逻辑层。提供客户端程序调用的业务逻辑规则,以完成其业务操作,业务逻辑改变时,客户端界面可以不作变化。
(3)数据库服务层。提供对数据库进行各种操作的方法,被中间业务逻辑层调用完成业务逻辑。
多层结构中,层次的划分不是物理上的划分,而是结构逻辑上的划分,按应用目标划分。如果客户端要求响应速度很快,业务组件的体积较小,业务组件可以放在客户端;如果业务组件包含大量对数据库的操作,可以配置在数据库服务器上,以减少网络负载,提高运算速度;如果业务组件可供大多数客户机程序访问,则可以使用业务组件构成一个应用服务器,供大家访问。
多层结构的优点是:(1)可伸缩性好。可按应用要求部署逻辑层次,适应于本地网和广域网。(2)网络效率高。经过合理的布局,通过网络的传输数据量大大减少,提高了网络效率。(3)可管理性强。系统客户层基本实现“零维护”,主要管理工作集中在应用逻辑层,业务逻辑的修改对客户层没有影响。(4)可重用性好。按可提供的服务构筑应用,每种服务可以被不同的应用重用。由于采用面向对象的组件构成,进一步增加了系统的可重用性。(5)安全性较好。
采用多层结构的也存在一些困难:(1)初始开发周期延长。按组件方式开发,多层结构比传统C/S结构需要做的工作量多。(2)开发的复杂性增加。除了考虑应用核心业务以外,开发人员还应考虑应用程序的性能、安全性、伸缩性、可靠性和可恢复能力。要求开发人员对系统有更深层次的了解。(3)、对系统的设计、规划要求更高。对系统结构的设计、根据业务规划合理划分组件,以及服务的布局,将是设计人员考虑的重点。
本文部分资料摘自王宝金的文章