两层结构:
从90年代开始,客户机/服务器(Client/Server,以下简称为C/S)结构代替了原来的主机/终端(Host/Terminal)结构, 即客户端提供用户界面、处理业务逻辑,数据库服务器接受客户端SQL语句并对数据库进行查询,更新等操作,然后操作结果返回给客户端,
二层结构的应用模式由于采用客户机与服务器直接联接的方式形成了其固有的一些缺陷:
1、client/server结构用户界面、业务逻辑和数据逻辑相互交错,通常在第一次部署的时候比较容易,但难于升级或改进,而且经常基于某种专有的协议(通常是某种数据库协议)。它使得重用业务逻辑和界面逻辑变得非常困难。
2、C/S组织结构不支持Internet。它是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet。
3.客户端程序可以直接访问数据库,可通过编程语言或数据库提供的工具直接对数据库进行操作,安全性能弱。
4. 客户端直接与数据库建立连接,当有大量的并发用户存在时,会使数据库不堪重负,性能迅速下降,甚至当机。
5、软、硬件的组合及集成能力有限。
客户机/服务器结构在整个IT发展中发挥了巨大的作用。但随着Interne t的不断普及和应用的迅速升级,C/S的应用感到有些力不从心。越来越多的用户对计算机应用系统提出了更高的要求:
1、 能够同时支持成千上万乃至更多用户的并发服务请求。
2、 单一的局域网向跨多个网络协议的广域网扩展。
3、 不仅要支持一般的信息管理,而且还要支持关键业务的联机交易处理。
4、 从支持单一的系统平台和数据源转向支持异构的多系统平台和多数据源。
三层结构
为解决传统二层模式与应用需求日益突出的矛盾,以交易中间件为基础框架的三层应用模式应运而生,三层结构以中间层管理大量的客户端并为其联接、集成多种异构的服务器平台,通过有效的组织和管理,在极为宽广的范围内将客户机与服务器进行高效组合。同时中间件开创的以负载平衡、动态伸缩等功能为代表的管理模式,已被广泛证实为建立关键业务应用系统的最佳环境,使在二层模式下不可能实现的应用成为可能,并为应用提供了充分的扩展余地。这种模式的成功应用已为许多国际大型企业在应用的开发和部署方面节省了大量的时间和金钱。由此促使越来越多的系统开发商和用户采用三层结构模式开发和实施其应用。三层客户机/服务器模式的核心概念是利用中间件将应用的用户界面、业务逻辑和数据逻辑分为三个不同的处理层:
1、表示层(用户界面):它的主要功能是实现用户交互和数据表示,为以后的处理收集数据,向第二层的业务逻辑请求调用核心服务处理,并显示处理结果。这一层通常采用VB,PB,DELPHI、html,jsp,jsf,servlet,flex等语言编写,可以是传统的客户端或采用浏览器访问。
2、中间层(业务逻辑):实现整个应用系统核心业务逻辑,通常把业务逻辑划分成一个个独立的模块,用中间件提供的API结合数据库提供的编程接口实现。客户端通过调用这些模块实现相应的业务操作。
3、数据层(数据逻辑):数据库负责管理整个应用系统的数据资源,完成数据操作。中间层上应用程序在处理客户端的请求时,通常要存取数据库。
在三层结构中,业务逻辑层放在中间组件层,这是关键,是与C/S结构的最大区别,与两层结构
相比三层结构具有以下优势:
1、 客户端很瘦小,并且很容易在运行时自动升级。
2、 简化了系统的开发和维护。应用的各层可以并行开发,各层也可以选择各自最适合的开
发语言。不同逻辑组件的分离意味着图形设计人员、事务逻辑开发人员和数据库分析人员可以独立地设计他们各自的部分。
3、 这种结构可更有效地在企业内部网、国际互联网和外联网上运行。
4、统一的、抽象的用户界面可使用户更有效地从同一数据源中存取数据;
随着市场竞争的日益加剧和企业电子信息化建设的不断深入,高度灵活、能快速部署新服务和新应用的三层结构应用系统将成为企业信息化的必由之路。采用以中间件为基础的三层结构来架构的应用系统不但具备了大型机系统稳定、安全和处理能力高等特性,同时拥有开放式系统成本低、可扩展性强、开发周期短等优点。可以很好解决两层结构所面临的问题。中间件作为构造三层结构应用系统的基础平台,在三层结构中起着关键的作用