技术开发 频道

浅谈多层分布式体系技术与应用

【IT168 技术文章】

    一、概述

    传统的应用系统模式是“主机/终端”或“客户机/服务器”,客户机/服务器系统(Client/Server System)的结构是指把一个大型的计算机应用系统变为多个能互为独立的子系统,而服务器便是整个应用系统资源的存储与管理中心,多台客户机则各自处理相应的功能,共同实现完整的应用。随着Internet 的发展壮大,这些传统模式已经不能适应新的环境,于是就产生了新的分布式应用系统,即所谓的“浏览器/服务器”结构、“瘦客户机”模式。

    在Client/Server结构模式中,客户端直接连接到数据库服务器,由二者分担业务处理,这样体系有以下的缺点:

    Client与Server直接连接,安全性低。非法用户容易通过Client直接闯入中心数据库,造成数据损失;
    Client程序肥大,并且随着业务规则的变化,需要随时更新Client端程序,大大增加维护量,造成维护工作困难;
    每个Client都要直接连到数据库服务器,使服务器为每个 Client建立连接而消耗大量本就紧张的服务器资源;
    大量的数据直接Client/Server传送,在业务高峰期容易造成网络流量暴增,网络阻塞。
    Client/Server模式的这些先天不足,随着业务量的变化,出现越来越多的问题,我们有必要对这种两层体系进行改革,将业务处理与客户交互分开来,实现瘦客户/业务服务/数据服务的多层分布式应用体系结构。本文拟就多层分布式应用体系的有关问题进行探讨。

    二、多层分布式应用体系 

    随着中间件与Web技术的发展,三层或多层分布式应用体系越来越流行。在这种体系结构中,客户机只存放表示层软件,应用逻辑包括事务处理、监控、信息排队、Web服务等采用专门的中间件服务器,后台是数据库。在多层分布式体系中,系统资源被统一管理和使用,用户可以通过网格门户(portal)透明地使用整个网络资源。

    2.1 多层分布式应用体系介绍

    2.1.1多层分布式体系主要层次

    在多层体系中,各层次按照以下方式进行划分,实现明确分工:

    瘦客户: 提供简洁的人机交互界面,完成数据的输入/输出;

    业务服务: 完成业务逻辑,实现客户与数据库对话的桥梁。同时,在这一层中,还应实现分布式管理、负载均衡、Fail/Recover、安全隔离等;

    数据服务: 提供数据的存储服务。一般就是数据库系统。

    2.1.2多层分布式体系主要特点

    安全性:中间层隔离了客户直接对数据服务器的访问,保护了数据库的安全;

    稳定性:对于要求24*7工作的业务系统,多层分布式体系提供了更可靠的稳定性:1、中间层缓冲Client与数据库的实际连接,使数据库的实际连接数量远小于Client应用数量。当然,连接数越少,我们的数据库系统就越稳定。2、Fail/Recover机制能够在一台服务器当机的情况下,透明地把客户端工作转移到其他具有同样业务功能的服务上。

    易维护:由于业务逻辑在中间服务器,当业务规则变化后,客户端程序基本不做改动;

    快速响应:通过负载均衡以及中间层缓存数据能力,可以提高对客户端的响应速度;

    系统扩展灵活:基于多层分布体系,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。

    2.2多层分布应用的开发

    分布式多层体系的开发主要考虑三方面的技术,首先是开发环境,开发人员需要一种创建新组件、并将已有组件加以集成的开发环境。其次是应用程序的集成,开发人员需要集成各种应用程序,以创建出更强大的应用。第三是应用程序的配置,分布式多层体系的开发需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。

    目前多层分布应用的开发,比较重要的有两种规范,既COM+和CORBA。其中COM+主要用于Windows 平台,CORBA则提供跨平台的能力。同时,随着分布式应用的发展,旧的硬件/软件平台的不断更新,跨硬件平台、网络环境、操作系统以及跨不同数据库的应用系统不断出现,使我们传统的开发工具越来越陷入尴尬境地,因此中间件应运而生。

    2.2.1中间件简介

    中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机服务器的操作系统之上,管理计算机资源和网络通信。我们能够这样理解,中间件也是一类软件,它的首要任务是实现应用与平台无关的互操作,其次能够合理的管理网络通信资源。按照IDC的分类方法,中间件可分为六类,第一类是终端仿真/屏幕转换中间件,第二类是数据库访问中间件,第三类是远程过程调用中间件,第四类是消息中间件,第五类是交易中间件,第六类是对象中间件。

0
相关文章