`
wsql
  • 浏览: 11797006 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

什么是分布式应用系统

 
阅读更多

在信息产业高速发展的今天,企业间的竞争将更加激烈。随着规模的不断扩大和业务的不断更新,企业迫切需求完整的分布式解决方案,用于管理复杂的异构环境,实现不同硬件设备、软件系统、网络环境及数据库系统之间的完整集成。
  
   纵观人类计算机的发展历史,每隔十年至十五年,信息产业就会发生周期性的变革, 1950 年至 1970 年期间,企业主要采用大型主机-终端的体系结构,企业应用系统则采用单一、集中的方式为用户提供资源共享服务。 80 年代初期,开放系统与关系型数据库管理系统被企业大量采用,有别于集中式系统,应用程序逻辑分散在主从两端。随着 Windows 的普及, 90 年代则是图形化的应用时代, Client/Server 体系结构也被广泛采用。 90 年代后期,信息产业出现了分布式对象技术,应用程序可以分布在不同的系统平台上,通过分布式技术实现异构平台间对象的相互通信。将企业已有系统集成于分布式系统,可以极大地提高企业应用系统的扩展性。 90 年代末出现的多层分布式应用为企业进一步简化应用系统的开发指明了方向。
  
   在传统的 Client/Server 结构中,应用程序逻辑通常分布在客户端和服务器两端,客户端发出数据资源访问请求,服务器端将结果返回客户端。 Client/Server 结构的缺陷是,当客户端数目激增时,服务器的性能将会因为无法进行负载平衡而大大下降。 而一旦应用的需求发生变化,客户端和服务器端的应用程序则都需要修改,这样给应用的维护和升级带来了极大的不便,而且大量数据的传输也增加了网络的负载。为了解决 Client/Server 存在的问题,企业只有向多层分布式应用转变。
  
   在多层分布式应用中,客户端和服务器之间可以加入一层或多层应用服务程序,这种程序称为“应用服务器” (Application Server) 。开发人员可以将企业应用的商业逻辑放在中间层服务器上,而不是客户端,从而将应用的业务逻辑与用户界面隔离开,在保证客户端功能的前提下,为用户提供一个瘦的 (thin) 界面。这意味着如果需要修改应用程序代码,则可以只在一处 ( 中间层服务器上 ) 修改,而不用修改成千上万的客户端应用程序。 从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发,简化了企业系统的开发、更新和升级工作,极大增强了企业应用的伸缩性和灵活性。
  
   当企业需要建立基于 Web 的商业应用系统时,多层分布式体系结构同样提供了强大优势,为基于 Web 的商业应用提供了“瘦客户”的体系结构,使基于浏览器的客户可以与 Intranet 资源进行有效交互,并且不需要在客户端进行复杂的应用配置工作。多层分布式解决方案在异构平台间架起了桥梁,可以使基于 Web 的商业应用与企业已有系统集成在一起。
  
   目前,在我国的企业中,大量采用的还是 Client/Server 体系结构,而在西方发达国家,企业由传统的应用系统向多层分布式应用系统的转变已经成为业界主流。相信在我国,多层分布式系统将得到更为广泛的应用。
  
  多层分布式应用带来的挑战
  
   尽管多层分布式体系结构为企业提供了极大优势,但比起传统的 Client/Server 方式,开发多层分布式应用具有更大的难度,给开发人员带来了新的技术挑战。主要包括了以下三个方面:
  
  1. 分布式对象标准的多样化
  
   企业要构建多层分布式系统,必须遵循分布式的工业标准,基于什么样的标准直接影响到企业应用系统的开放性和可扩展性。目前分布式对象的标准主要有三种: Microsoft 的 DCOM 、 Sun Microsystems 的 Enterprise JavaBeans/RMI 以及 OMG(Object Management Group) 组织的 CORBA(Common Object Request Broker Architecture) 。 DCOM 是基于 Windows 环境的分布式对象标准,因此支持的平台种类有限。 RMI 与 Enterprise JavaBean 是以 Java 语言为主体的分布式对象架构,适合大型企业的跨平台需求,但现实的应用系统环境一般是由多种不同的程序语言建立起来的,只依赖一种程序语言构建的企业应用是很少见的。 CORBA 是由 800 多个大型软、硬件公司参与的 OMG 组织所制定的分布式对象标准,获得 IBM 、 Sun Microsystems 、 Oracle 、 Sybase 、 Novell 、 Netscape 等大型公司的支持, CORBA 标准实现了不同平台之间对象的通信及互操作,软件供应商只要遵循应用对象与 ORB 间通信的 IDL(Interface Definition Language) ,便能够以对象的形式提供服务或获得服务, ORB 使开发人员完全不需要考虑异构平台、不同的通信协议或不同程序语言造成的差异,而专注于应用逻辑的开发。可见, CORBA 提供了开放、灵活的分布式标准,适于企业构建多层分布式应用系统。
  
  2. 多层分布式应用的开发是很复杂的
  
   如果用传统方式开发多层分布式应用,则需要开发人员具有较深的计算机系统级知识,需要掌握诸如并发性、安全性、可伸缩性及事务处理等各个方面的知识。而且需要实现对系统资源访问的有效管理,如对线程、内存、数据库连接、网络连接的管理。而这些复杂工作极大地耗费了开发人员的精力,限制了开发工作的进展。而企业应用系统的开发更多地要求开发人员专注于商业逻辑方面的开发,而不是在系统级开发上浪费更多时间。
  
  3. 分布式应用的分发、管理也是一个挑战
  
   大多数的分布式应用是由成百上千的组件组成的,而在分发时,每一个组件都有属性需要进行配置。通常,对组件属性的配置方式依赖于组件所在的平台。 因此,应用被分发后,如何管理分散的组件将是一个挑战。管理者需要确保应用的组件能够正确运行、可以位于企业网内的任何机器上,并能及时发现处理错误 ( 包括系统错误、网络中断、应用错误等情况 ) 。
  
   传统意义上的网络系统管理 ( 比如: SNMP) 只能通过分析主机的状态,获得应用程序运行的情况,但对于分布式应用系统来说,一个应用并非运行于某一台主机,因此,管理者需要管理整个网络的状态,这就需要有恰当工具的支持。
  
  多层分布式应用的需求
  
   开发企业多层分布式应用,通常有以下方面的需求:
  
  易于开发
  
   虽然多层分布式体系结构要求有较深的计算机系统级知识作为基础 ( 比如:数据库、事务处理、网络安全、 CORBA 技术等 ) ,但对于 IT 开发人员来说,要求在不用深入了解系统底层复杂技术的情况下,能够在一个友好的可视化集成开发环境 (IDE) 中,快速、容易地开发出功能强大的多层分布式应用系统。
  
  简化分发、管理工作
  
   开发人员要求能够在一个集成开发环境中测试、修改分布式应用程序,以提高应用的性能,并可以实现在同一环境中对应用的分发、管理。由于许多应用包括了成千上万分布于企业各处的组件,因此,需要一个集中化的管理工具,用于管理、控制分布式应用,并实现错误检测、更正的功能。
  
  企业应用的鲁棒性要求
  
   一个完善的企业分布式多层应用,应该满足事务处理、安全管理、容错、负载平衡、可伸缩性、高性能方面的要求。
  
  具有开放的、基于工业标准的体系结构
  
   企业需要的是开放的、基于工业标准的解决方案,可以实现与其他符合标准的系统进行交互。
  
  可以实现与各种数据库及已有系统的集成
  
   企业分布式应用必须能够访问企业的数据资源,而企业数据通常存储在当前流行的大型数据库上 ( 如: Oracle 、 Sybase 等 ) ,或通过 TP Monitor( 如: IBM CICS 、 BEA Tuxedo) 访问,因此要求企业分布式系统能够与数据库及已有系统集成在一起。
  
  支持不同平台环境
  
   企业多层分布式应用需要支持不同的平台环境,服务器一端应该支持 Windows NT 或 UNIX 平台,而且不同平台的客户都可以访问服务器上的应用,包括: HTML 、 Java applets 、 Java 应用、 Dynamic HTML 、 C++ 应用等。
  
  企业应用服务器
  
   基于上述原因,当企业向多层分布式应用转变时,需要应用服务器 (Application Server) 的支持,从而可以将不同的应用技术集成在一起,使多层分布式应用的开发、分发、管理变得更加容易。现在已经有很多企业使用了应用服务器技术,也极大地增强了企业应用的性能。但在我国处于应用中的应用服务器技术,还不能完全满足企业建立多层分布式应用的需求,这些应用服务器主要分为以下两类:
  
  基于 Web 的应用服务器
  
   基于 Web 的应用服务器一般提供了基于 Web 的 Interner 应用的开发环境,适于建立基于 Web 的 Client/Server 应用系统。在这种体系下, Web 应用服务器通常运行在 Web Server 上,用来处理客户请求。通常用 ODBC 和 JDBC 连接数据库。这种类型的应用服务器一般易于使用,并且支持基于 EJB(Enterprise JavaBeans) 的服务器应用程序开发。但这种应用服务器存在的缺陷有:不支持事务处理、安全性差、对已有交易系统支持有限、性能较低。
  
  基于中间件的应用服务器
  
   基于中间件的应用服务器通过与已有系统 ( 如: TP Monitors) 进行集成,可以为企业提供更强大的功能,包括:事务处理、安全管理、容错、负载平衡等,但多数解决方案都是基于 Client/Server 体系结构的,或仅限于三层体系结构,不适于建立分布式的 Web 应用,而且没有一个有效的开发管理环境。
  
  注: 负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。均衡负载能够平均分配客户请求到服务器列阵,籍此提供快速获取重要数据,解决大量并发访问服务问题。这种群集技术可以用最少的投资获得接近于大型主机的性能。网络负载均衡的优点:第一、网络负载均衡技术保证即使是在负载很重的情况下,服务器也能做出快速响应;第二、网络负载均衡对外只需提供一个 IP 地址 ( 或域名 ) ;第三、当网络负载均衡中的一台或几台服务器不可用时,服务不会中断。网络负载均衡自动检测到服务器不可用时,能够迅速在剩余的服务器中重新指派客户机通讯。这项保护措施能够帮助你为关键的业务程序提供不中断的服务,并可以根据网络访问量的增加来相应地增加网络负载均衡服务器的数量;第四、网络负载均衡可在普通的计算机上实现。

分享到:
评论

相关推荐

    东北大学申德荣分布式数据库系统原理与应用讲义

    东北大学申德荣分布式数据库系统原理与应用讲义,ppt

    Delphi5.x分布式多层应用系统篇.rar

    Delphi5.x分布式多层应用系统篇,王维编写,Delphi5.x分布式多层应用系统篇,王维编写,

    分布式数据库系统及其应用与答案

    内部包含有pdf格式的分布式数据库系统及其应用(第二版),邵佩英编著,科学出版社与相关主要习题答案及其面向对象数据库答案(ppt)格式。

    分布式应用开发技术概述

    目前分布对象技术已经成为建立应用框架(Application Framework)和软构件(Software Component)的核心技术,在开发大型分布式应用系统中表现出强大的生命力,并已形成了三项具有代表性的主流技术。本文就这几种技术给...

    大规模分布式存储系统

    实战方面,首先通过对阿里巴巴的分布式数据库OceanBase的实现细节的深入剖析完整地展示了大规模分布式存储系统的架构与设计过程,然后讲解了大规模分布式存储技术在云计算和大数据领域的实践与应用。, 《大规模...

    浅析分布式操作系统

    分布式操作系统是传统操作系统思想的变革,分布式操作系统是安装在整个分布系统里面的,其中任何一台 也可以安装有自己的本地操作系统。从计算机最初出现无操作系统到后来出现的CP/M 系统、DOC 系统、集中式操作系 ...

    大型分布式系统java应用

    大型分布式系统java应用,ESB分布式应用实例

    分布式系统中文版PPT-南理工复习可用

    南理工 魏松杰 对应他的英文版本PPT复习可用,同时是学习分布式系统的很好的PPT,分布式系统ppt对应分布式系统第五版英文版ppt,复习,自学可用,了解分布式系统,共10章,01-概述,02-系统模型,03-进程间通信,04-...

    分布式系统的应用

    分布式系统的应用

    Hadoop分布式文件系统的模型分析

    Hadoop分布式文件系统的模型分析,Hadoop 分布式文件系统是遵循Google 文件系统原理进行开发和实现的,受到了业界极大关注,并 已被广泛应用。 鉴于当前缺乏从系统设计理论的角度对其开展的相关研究,本文从 Hadoop ...

    分布式系统性能测试方案

    随着网络迅速发展,分布式应用系统逐渐向数据分布式区域化、业务处理复杂化、数据增长较快趋势变化, 并集中于后台服务处理,通过网络向用户提供服务。而随着网络应用系统用户访问量的增加,对网络应用系统提供服务 ...

    (高清版)大规模分布式存储系统:原理解析与架构实战

    了大规模分布式存储系统的架构与设计过程,然后讲解了大规模分布式存储技术在云计算和大数据领域的实践与应用。 《大规模分布式存储系统:原理解析与架构实战》内容分为四个部分:基础篇——分布式存储系统的基础...

    分布式数据库系统及其应用

    对分布式数据库系统及其应用有很详细的讲解

    分布式数据库系统及其应用 电子版的

    分布式数据库系统及其应用 电子版的 很清晰,稍有点老

    分布式数据库系统及应用课件

    分布式数据库系统及应用课件,包括分布式数据库系统的概述、分布式数据库设计基本理论和分布式查询优化算法。

    Akka应用模式-分布式应用程序设计实践指南.pdf

    另外,本书介绍了 Actor 模型的一个实现框架 Akka 以及它的工具,而后讨论了在充分利用 actor 架构的基础上使用 Akka 框架来设计软件系统的方法,以及使用它来开发并发性和分布式应用程序的方怯。本书还介绍了领域 ...

    分布式系统原理介绍 - 刘杰 - 百度.pdf

    分布式系统理论体系非常庞大,涉及知识面也非常广博,本文精心选择了部分在工程实践中应用广泛、简单有效的分布式理论、算法、协议加以介绍。全文分为两大部分,第一部分介绍了分布式系统的一些基本概念并框定了本文...

    《Delphi 5.x 分布式多层应用系统篇》PDF书

    《Delphi 5.x 分布式多层应用系统篇》PDF书,对于用Delphi的GGMM们,没看过也应听说过李维的关于数据库的三本书,盒子上找到了两本,差这本没找到,现在上传凑齐了吧 ^_^

Global site tag (gtag.js) - Google Analytics