java教学课件:第9章 分布对象技术_第1页
java教学课件:第9章 分布对象技术_第2页
java教学课件:第9章 分布对象技术_第3页
java教学课件:第9章 分布对象技术_第4页
java教学课件:第9章 分布对象技术_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、分布对象技术1北京大学北京大学2第九章第九章 分布对象技术分布对象技术n9.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题n9.2 分布对象技术概论分布对象技术概论n9.3 分布对象的核心概念分布对象的核心概念n9.4 分布对象主流技术介绍分布对象主流技术介绍n9.5 分布对象处理技术分布对象处理技术-发展趋势发展趋势n9.6 分布对象主流技术开发过程分布对象主流技术开发过程39.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题n以下情况是不是分布式?以下情况是不是分布式?n1、浏览、浏览n2、两个及其之间的通信、两个及其之间的通信n3、计算引擎、计算引擎4B机A机同

2、一地址空间C+编译器完成连接 C+Main ProgramC+ Object分布对象技术要解决的问题9.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题5两层客户两层客户/服务器模型服务器模型(胖客户胖客户)三层客户三层客户/服务器模型服务器模型(瘦客户瘦客户)N层客户层客户/服务器模型服务器模型层的概念(TIERS):在客户/服务器意义上将,一个层就代表一个具有定义好的特定功能平台,一个平台就是就是一个计算机软件和硬件的组合.应用程序对象应用程序对象应用程序对象应用程序对象应用程序对象应用程序对象9.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题分布式系统的客户分布

3、式系统的客户/服务器模型服务器模型69.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题一个分布式系统的例子一个分布式系统的例子(原始的方法原始的方法)电话订购电话订购客户客户1电话订购电话订购客户客户2电话订购电话订购客户客户nWEB服务器服务器 1 WEB服务器服务器 2 中心订购中心订购服务器服务器WEB服务器服务器 m Internet.79.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题n使用多个服务器分割用户使用多个服务器分割用户电话订购电话订购客户客户1WEB服务器服务器 1 Internet电话订购电话订购客户客户2中心订购中心订购服务器服务器1WEB

4、服务器服务器 2 电话订购电话订购客户客户1WEB服务器服务器 1 电话订购电话订购客户客户2中心订购中心订购服务器服务器1WEB服务器服务器 2 电话订购电话订购客户客户1WEB服务器服务器 1 电话订购电话订购客户客户2中心订购中心订购服务器服务器1WEB服务器服务器 2 89.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题订购订购服务器服务器1订购订购服务器服务器2 订购订购服务器服务器nWEB服务器服务器 1 Internet. 调度程序调度程序 考虑负载平衡的问题考虑负载平衡的问题99.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题问题案例一:如何综合越来

5、越多的数据库资源,以适应不断发展的业务逻辑客户OracleSybaseInformix如何加入综合多个数据库的业务逻辑?如何加入综合多个数据库的业务逻辑?如何集成其它非数据库操作的业务逻辑?如何集成其它非数据库操作的业务逻辑?如何处理如何处理“肥客户肥客户”应用问题?应用问题?如何处理用户界面风格多样性如何处理用户界面风格多样性?109.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题n问题案例二问题案例二如何管理不断接入的新应用如何管理不断接入的新应用管理器N1N2Nk.119.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题汇编语言单机应用开发环境分布式应用开发环境

6、Socket APIFortran语言OOP语言软构件技术RPC分布对象技术129.1 分布对象技术要解决的基本问题分布对象技术要解决的基本问题n我们都听到了哪些词汇我们都听到了哪些词汇?构件模型构件模型CORBA/IIOPJava/RMI分布对象分布对象ActiveX ControlsRPCCOM/DCOM还有还有还有还有.EJB139.2 分布对象技术概论分布对象技术概论n分布计算是近二十年来影响计算机急速发展的最活分布计算是近二十年来影响计算机急速发展的最活跃因素之一跃因素之一n经历了两种不同的技术路线经历了两种不同的技术路线1. 理想的技术路线理想的技术路线(80年代学术界普遍追求的目

7、标年代学术界普遍追求的目标) 试图在互连的计算机硬件上部署全新的分布式操试图在互连的计算机硬件上部署全新的分布式操 作系统作系统2. 现实的技术路线现实的技术路线 (90年代工业界普遍遵守的路线年代工业界普遍遵守的路线) 在网络计算平台上部署分布计算环境在网络计算平台上部署分布计算环境 提供开发工具和公共服务提供开发工具和公共服务 支持分布式应用支持分布式应用 资源共享和协同工作资源共享和协同工作集中式集中式客户客户/服务器服务器149.2 分布对象技术概论分布对象技术概论n分布式系统比想象的要复杂分布式系统比想象的要复杂:1. 异构环境下的应用互操作的问题异构环境下的应用互操作的问题2. 系

8、统管理问题系统管理问题3. 系统安全的问题系统安全的问题4. 传统的面向过程的技术在开发大型软件系统的局传统的面向过程的技术在开发大型软件系统的局限性限性n面向对象技术用于分布式面向对象技术用于分布式(分布对象技术分布对象技术)标志第标志第二代分布式计算技术进入成熟和蓬勃发展时期二代分布式计算技术进入成熟和蓬勃发展时期.n分布式对象技术始于分布式对象技术始于9090年代初,已经发展成为当年代初,已经发展成为当今分布异构环境下建立应用系统集成框架和标准今分布异构环境下建立应用系统集成框架和标准构件的核心技术构件的核心技术159.2 分布对象技术概论分布对象技术概论面向的主要问题面向的主要问题信息

9、共享信息共享智能化的协同工作智能化的协同工作异构环境下的信异构环境下的信息互操作息互操作体系结构体系结构经典的客户经典的客户/服务器模型服务器模型面向对象的多面向对象的多层客户服务器层客户服务器模型模型自主的多自主的多agent模型模型关键技术的特点关键技术的特点沿用传统的计算沿用传统的计算概念和设施概念和设施(如如过程调用和文件过程调用和文件设施设施)将面向对象技术将面向对象技术应用到分布计算应用到分布计算面向面向agent的拟的拟人化交互环境人化交互环境成果成果能够提供丰富的分能够提供丰富的分布式系统服务布式系统服务,良好良好的分布式系统管理的分布式系统管理和典型的分布系统和典型的分布系统

10、应用应用已经成为建立已经成为建立集成构架和软集成构架和软构件标准的核构件标准的核心技术心技术概念验证系统概念验证系统令人鼓舞令人鼓舞,尚未尚未达到广泛应用达到广泛应用与协同工作的与协同工作的成熟程度成熟程度第一代第一代(80年代中年代中90年代初年代初)第三代第三代(从现在开始从现在开始)第二代第二代(90年代年代)169.2 分布对象技术概论分布对象技术概论n分布对象技术的核心概念有那些分布对象技术的核心概念有那些? 1 分布对象的位置对客户透明分布对象的位置对客户透明 2 可以被远程客户应用以方法调用的形式访问可以被远程客户应用以方法调用的形式访问 3 分布对象所使用的语言要对客户透明分布

11、对象所使用的语言要对客户透明 4. 分布对象运行的系统平台对客户透明分布对象运行的系统平台对客户透明 5. 分布对象具有移动性分布对象具有移动性(允许时间允许时间,空间空间,语言语言,操作平台的差异性操作平台的差异性)179.2 分布对象技术概论分布对象技术概论一个应用逻辑一个应用逻辑A机机对象对象对象对象对象对象对象对象A机机一个应用逻辑一个应用逻辑对象对象对象对象对象对象对象对象D机机C机机B机机JavaJavaVBC+VB189.2 分布对象技术概论分布对象技术概论n分布式系统分布式系统, 分布对象与软构件是什么关系分布对象与软构件是什么关系?1. 独立于特定程序设计语言和应用系统独立于

12、特定程序设计语言和应用系统,可重用和可重用和自包含的软件成分称为软构件自包含的软件成分称为软构件. 2. 分布对象是一种典型的软构件分布对象是一种典型的软构件3. 分布式系统是分散在两个或更多地方的计算机上分布式系统是分散在两个或更多地方的计算机上为了实现一个共同的目标而共同工作的软件实体为了实现一个共同的目标而共同工作的软件实体集合集合.n分布式应用系统中的成员分布式应用系统中的成员:1. 创建和维护分布对象的实体的应用称为服务器创建和维护分布对象的实体的应用称为服务器2. 按照接口访问该对象的应用称为客户按照接口访问该对象的应用称为客户3. 服务对象同时可以是其它服务对象的客户服务对象同时

13、可以是其它服务对象的客户199.2 分布对象技术概论分布对象技术概论n软构件模型的开发的目的是什么软构件模型的开发的目的是什么? 重用重用,高层开发高层开发,通过工具进行自动化开发通过工具进行自动化开发,简化开简化开发过程等发过程等.n软构件模型的开发的手段是什么软构件模型的开发的手段是什么?软构件开发者软构件开发者: 1.处理底层的实现细节以及与此相关的类处理底层的实现细节以及与此相关的类. 2.定义构件的基本的体系结构定义构件的基本的体系结构,构件界面的结构构件界面的结构,与与 其它构件及容器相互作用的机制其它构件及容器相互作用的机制软构件应用者软构件应用者: 在可视的开发环境将以存在的构

14、件进行简单的组在可视的开发环境将以存在的构件进行简单的组装。装。209.2 分布对象技术概论分布对象技术概论n软构件模型的例子软构件模型的例子?nOMGOMG的的CORBACORBA、MicrosoftMicrosoft的的COM/DCOMCOM/DCOM和和SUNSUN的的Java/EJBJava/EJB。21C+Main ProgramObject AObject AObject AAgent 1Agent 2 网 络 计 算 环 境A的代理对象适配器 ORB9.3 分布对象技术分布对象技术-基本工作原理基本工作原理n什么是对象请求代理什么是对象请求代理?n支持客户访问异地分布对象的核心机

15、制称为对象支持客户访问异地分布对象的核心机制称为对象请求代理请求代理ORB(Object Request Broker)A机机一个应用逻辑一个应用逻辑对象对象对象对象对象对象对象对象D机机C机机B机机一个应用逻辑一个应用逻辑A机机对象对象对象对象对象对象对象对象229.3 分布对象技术分布对象技术-基本工作原理基本工作原理客户应用逻辑分布对象代理服务器对象请求分发器分布对象的实现对象请求适配器对象请求感知器网络传输访问ORB服务器构造构架客户构造构架相同的接口相同的接口239.3 分布对象技术-基本工作原理ORBORB客户客户客户客户O1O2OracleO3O4SybaseO5O6Inform

16、ixO1RO2RO3RO4RO5RO6R虚拟图书馆查询预约服务还书通知通知还/借处理如何管理客户应用预约预约24利用这些服务创建一个新的对象而不必知道对象在哪利用这些服务创建一个新的对象而不必知道对象在哪9.3 分布对象技术分布对象技术-基本工作原理基本工作原理n对象服务对象服务:支持分布式系统正常工作的各类基本的支持分布式系统正常工作的各类基本的系统级服务系统级服务1.名字管理名字管理2.事件通告事件通告3. 对象事务管理对象事务管理4. 对象生命周期对象生命周期应 用 对 象对 象 服 务通 用 功 能对 象 请 求 代 理 (Object Request Broker)259.3 分布对

17、象技术分布对象技术-基本工作原理基本工作原理n通用功能通用功能:支持分布式系统高效开发和有效工支持分布式系统高效开发和有效工作的各类面向领域的常规服务和工具作的各类面向领域的常规服务和工具nGUIn数据库服务数据库服务n电子邮件服务电子邮件服务n系统管理服务系统管理服务n面象应用领域的领域构架面象应用领域的领域构架应 用 对 象对 象 服 务通 用 功 能对 象 请 求 代 理 (Object Request Broker)269.3 分布对象技术分布对象技术-基本工作原理基本工作原理n应用对象应用对象:涉及各种应用软件涉及各种应用软件,它在对象服务和它在对象服务和公共设施帮助下完成相应的应用

18、逻辑公共设施帮助下完成相应的应用逻辑nORB是一条软总线是一条软总线,把分布式系统中各类对象把分布式系统中各类对象和应用连接成相互作用的整体和应用连接成相互作用的整体应 用 对 象对 象 服 务通 用 功 能对 象 请 求 代 理 (O bject R equest B roker)279.4 分布对象主流技术分布对象主流技术n分布对象技术的实质性进步分布对象技术的实质性进步: 1. 使面向对象技术能够在异构的网络环境中使面向对象技术能够在异构的网络环境中得以全面得以全面,彻底彻底,方便的实施方便的实施 2. 有效地控制系统的开发有效地控制系统的开发,管理管理,维护的复杂维护的复杂性性n分布对

19、象的主流技术分布对象的主流技术 1. OMG的的CORBA 2. Microsoft的的ActiveX/DCOM 3. SUN的的Java/RMI289.4 分布对象主流技术分布对象主流技术-CORBAnOMG是一个非盈利性国际组织是一个非盈利性国际组织,致力于使致力于使CORBA成为成为“无所不在的中间件无所不在的中间件”n1989年成立年成立,当时仅有当时仅有8家成员家成员,目前有目前有900家成家成员员nOMG制定的分布对象计算标准规范制定的分布对象计算标准规范,按照这些按照这些规范设计的开发的分布式计算软件环境可以在规范设计的开发的分布式计算软件环境可以在几乎所有的主流硬件平台和操作系

20、统上运行几乎所有的主流硬件平台和操作系统上运行nCORBA的通信协议是的通信协议是IIOP(Internet Inter-ORB Protocol).nCORBA结构集中围绕着两个主要元素结构集中围绕着两个主要元素:ORB和和IDL,CORBA的语言独立性和平台独立性主要的语言独立性和平台独立性主要来源于这两个方面来源于这两个方面.CORBA299.4 分布对象主流技术分布对象主流技术-CORBAnORB负责定位服务器对象负责定位服务器对象nIDL是建立接口的基础是建立接口的基础动态激活接口IDLStubsORB接口静态IDLSkeletons动态Skeleton对象适配器ORB内核 客户(C

21、lient)对象实现(Server)309.4 分布对象主流技术分布对象主流技术-CORBAnIDL Stubs 、IDL Skeleton是由是由IDL 编译器编译编译器编译产生的,用于静态调用,有较好的性能和效率。产生的,用于静态调用,有较好的性能和效率。n动态调用接口和动态动态调用接口和动态Skeleton用于动态调用,使用于动态调用,使得即使在编译时不知道可用的服务器和接口消息,得即使在编译时不知道可用的服务器和接口消息,也能完成客户与服务器的作用也能完成客户与服务器的作用nCORBA中的说明语言,称作中的说明语言,称作OMGIDL,用以描,用以描述对象的述对象的 接口。它本身不是一个

22、可编程语言,但接口。它本身不是一个可编程语言,但它为程序员提供了语言的独立性,他们不必知道它为程序员提供了语言的独立性,他们不必知道调用者所采用的语言。调用者所采用的语言。nIDL的词法,语法规则遵从的词法,语法规则遵从C+的规定,但加入的规定,但加入了一些关键词支持分布概念。用接口描述语言了一些关键词支持分布概念。用接口描述语言(Interface Description Language)编写的对)编写的对象接口,使得与语言无关的独立性成为可能。象接口,使得与语言无关的独立性成为可能。319.4 分布对象主流技术分布对象主流技术-CORBAnCORBA规范的特点规范的特点:1. 互操作性:

23、互操作性:CORBA在客户和服务器之间提供了在客户和服务器之间提供了两层可操作性。一方面它将客户与服务器都抽象两层可操作性。一方面它将客户与服务器都抽象为对象,所有功能都封装在对象内部,对外提供为对象,所有功能都封装在对象内部,对外提供简单的接口,可被其它对象以动态或静态方式调简单的接口,可被其它对象以动态或静态方式调用。另一方面,对象间的通信是通过用。另一方面,对象间的通信是通过ORB代理实代理实现,对象不必关心细节,由现,对象不必关心细节,由ORB定址发送请求。定址发送请求。是是ORB对象间的对象间的“通信总线通信总线”。329.4 分布对象主流技术分布对象主流技术-CORBA3.跨平台性

24、:由于跨平台性:由于CORBA规范中定义了规范中定义了IDL语言这语言这一与平台无关的语言,并引入代理一与平台无关的语言,并引入代理(ORB)概念,概念,因此因此CORBA应用具有较好的跨平台性。应用具有较好的跨平台性。2. 提供了软总件机制:所谓软总线是指CORBA规范定义了一组接口规范,任何应用程序,软件系统或工具只要具有与该接口规范相符合的接口定义,就能方便地集成对CORBA系统中,而这个接口规范是独立于任何实现语言和环境。33ORBCLIENTSTUBSSKELETONSSERVERORBIIOPMETHOD REQUESTOBJECT REFERENCESERVANT9.4 分布对象

25、主流技术分布对象主流技术-CORBAnCORBA结构一次请求的过程结构一次请求的过程CORBA结构一次请求的过程349.4 分布对象主流技术分布对象主流技术-COM/DCOMnOLE对象链接和嵌入对象链接和嵌入(Object Linking and Embedding)n从用户角度看从用户角度看OLE 1. OLE文档文档:以文档为中心以文档为中心,OLE集成数据集成数据 2. OLE自动化自动化 3. OLE控件控件:可以被嵌入应用程序中的自包含的可以被嵌入应用程序中的自包含的, 可重用的组件可重用的组件.COM,DCOM,OLE和和ActiveX359.4 分布对象主流技术分布对象主流技术

26、-COM/DCOM369.4 分布对象主流技术分布对象主流技术-COM/DCOM37组件对象模型组件对象模型(COM) 结构化存储结构化存储 跟踪器跟踪器(永久命名永久命名)拖放拖放嵌入嵌入剪贴板剪贴板一致数据一致数据传输器传输器(UDT)就地激活就地激活(可视编程可视编程) 链接链接OLE自动化自动化OLE控件控件为为将将来来而而建建造造9.4 分布对象主流技术分布对象主流技术-COM/DCOM从程序员的角度看从程序员的角度看OLEOLE文档文档属性属性事件事件389.4 分布对象主流技术分布对象主流技术-COM/DCOMn构件对象模型构件对象模型COM (Component Object

27、Model ) 是一个用于在交互平台上开发客户是一个用于在交互平台上开发客户/服服务器应用程序开放结构务器应用程序开放结构.nCOM是微软的构件对象模型是微软的构件对象模型,是构件之间实现是构件之间实现互操作的二进制标准互操作的二进制标准. nCOM对象通过接口来显示功能。接口是对象通过接口来显示功能。接口是COM对象与外部世界的一个绑定约定。对象与外部世界的一个绑定约定。nCOM可以用不同语言实现可以用不同语言实现.nCOM只能运行在只能运行在WINDOWS平台上平台上nCOM实现了实现了OLE对象的底层通信对象的底层通信,其作用类似其作用类似于于CORBA/ORB399.4 分布对象主流技

28、术分布对象主流技术-COM/DCOMnActiveX是是OLE技术和技术和COM技术在技术在Internet网上的网上的一个扩展一个扩展.但是它的内容更多但是它的内容更多,它还组成了一系列用它还组成了一系列用来产生丰富的来产生丰富的Internet网和多媒体服务网和多媒体服务.nActiveX文档:文档: 将将OLE文档扩展到文档扩展到internet,能够由浏览器打开的,能够由浏览器打开的word,powerpoint文件文件nActiveX控件:控件: 将将OLE控件扩展到控件扩展到internet。如一个页面包含。如一个页面包含ActiveX控件,该控件可以自动下载到用户端。控件,该控件

29、可以自动下载到用户端。nActiveX脚本:脚本:n将将OLE自动化带进自动化带进internet。可以利用。可以利用VBScript,JavaScriot,Perl,等语言编写。,等语言编写。409.4 分布对象主流技术分布对象主流技术-COM/DCOMn分布式组件对象模型分布式组件对象模型(DCOM或或ActiveX/DCOM):):被称为网络被称为网络OLE,是二进制的是二进制的COM对象在局域对象在局域,广广域网和域网和Internet上的扩展上的扩展.nCOM能够使客户在本地处理中透明地访问库中的能够使客户在本地处理中透明地访问库中的对象,对象,DCOM允许在远程处理中透明地访问对象

30、。允许在远程处理中透明地访问对象。(DCOM的功能实现使得程序员不必编写网络代的功能实现使得程序员不必编写网络代码码,或仅仅知道如何编写网络代码)或仅仅知道如何编写网络代码)nDCOM基于基于 (RPC- remote procedure call )工工作,它不是一种编程语言,而是一种规范,一种作,它不是一种编程语言,而是一种规范,一种服务,是一种高级网络协议。服务,是一种高级网络协议。nDCOM是用是用COM实现的。实现的。419.4 分布对象主流技术分布对象主流技术-COM/DCOMnActiveX控件通过底层控件通过底层DCOM进行通信,允许控进行通信,允许控件互相访问对方公布了的方法

31、,而不必考虑控件件互相访问对方公布了的方法,而不必考虑控件是否在一个容器或同一台机器上。是否在一个容器或同一台机器上。nActiveX控件由事件连接在一起控件由事件连接在一起, 开发环境支持开开发环境支持开发者创建方法,当任何一个构件出发了一个事件发者创建方法,当任何一个构件出发了一个事件,这些方法都被调用这些方法都被调用.n目前有十几家公司提供大量的控件目前有十几家公司提供大量的控件,你可以访问这你可以访问这些公司的些公司的WEB站点站点,下载你需要的下载你需要的ActiveX控件控件,进行编程进行编程: .nWindows98和和WindowsNT5.0都把都把DCOM作为作为操作系统的一

32、部分操作系统的一部分.429.4 分布对象主流技术分布对象主流技术-Java/RMInRMI是分布在网络中的各类是分布在网络中的各类Java对象之间的进行方对象之间的进行方法调用的法调用的ORB机制机制.nJava语言支持通信的最基本机制是语言支持通信的最基本机制是Socket. 但是但是Socket要求客户和服务器在应用程序级上对交换信要求客户和服务器在应用程序级上对交换信息编码的协议达成一致息编码的协议达成一致.nRPC把通信接口抽象到子程序级把通信接口抽象到子程序级,而不是直接与而不是直接与 Socket打交道打交道,但由于不涉及对象但由于不涉及对象,在分布式运算中在分布式运算中效果不好

33、效果不好.nJava/RMI(Remote Method Invocation)是是Java特特有的分布式计算技术有的分布式计算技术,它允许运行在一个它允许运行在一个Java虚拟虚拟机上的对象调用运行在另一个机上的对象调用运行在另一个Java虚拟机上的对象虚拟机上的对象的方法的方法.Java/RMI439.4 分布对象主流技术分布对象主流技术-Java/RMInRMI系统的一般结构系统的一般结构1. Stub就是代表远程对象的客就是代表远程对象的客户方代理户方代理,定义远程对象版本定义远程对象版本所支持的所有接口所支持的所有接口.2. Skeletons是与服务器方的是与服务器方的RRL接口的

34、服务器方构件接口的服务器方构件3. RRL负责维护不与具体负责维护不与具体Stub或或Skeleton模型相关的独立引模型相关的独立引用协议用协议.这个灵活性使这个灵活性使RRL的的改变不会影响另外两层改变不会影响另外两层.4. 传输层由传输层由4个抽象构成个抽象构成: 端点端点,通道通道,连接连接,传送传送ClientServerRemote Reference LayerStubsTransportSkeletonsApplicationRMI System449.4 分布对象主流技术分布对象主流技术-Java/RMInRMI系统的一般原理系统的一般原理:1. 定位远程对象定位远程对象:

35、RMI的命名工具注册远的命名工具注册远程对象程对象.2. 和远程对象通信和远程对象通信: RMI传输层处理通信细传输层处理通信细节节3. 装载被串对象的字节码装载被串对象的字节码: RMI提供了传递数据和提供了传递数据和 装载一个对象代码装载一个对象代码 的必的必要机制要机制Web ServerClient ServerWeb ServerregistryURL protocolRMIRMIURL protocolURL protocolRMI459.4 分布对象主流技术分布对象主流技术-EJBnEJB-(Enterprise JavaBean1.0)是是Java服务器服务器端构件模型端构件模

36、型.n构件模型构件模型通常有客户端构件和服务器端构件构件通常有客户端构件和服务器端构件构件n客户端构件模型客户端构件模型JavaBean专门用于处理程序的专门用于处理程序的表示及用户界面的问题表示及用户界面的问题.n服务器端构件模型服务器端构件模型 EJB,把构件模型的把构件模型的 开发和中间件联系开发和中间件联系 起来起来,面向事务处理面向事务处理 的中间件提供基础的中间件提供基础 设施设施.EnterpriseJavaBean容器容器容器连接容器连接EJB服务器服务器客户客户469.4 分布对象主流技术分布对象主流技术-EJBn为什么要有服务器端构件模型为什么要有服务器端构件模型EJB?1

37、. EJB将成为用将成为用Java语言开发分布式的、面向对象语言开发分布式的、面向对象的企业应用系统的标准构件体系结构,的企业应用系统的标准构件体系结构,EJB使得使得通过组合构件得到分布式应用成为可能通过组合构件得到分布式应用成为可能2. EJB不需要应用开发人员了解底层的事务处理细不需要应用开发人员了解底层的事务处理细节节,状态管理状态管理,多线程多线程,资源共享管理资源共享管理,以及其它底层以及其它底层API细节细节.3. EJB遵循遵循Java的的“write once, run anywhere”的原则的原则.一个一个EJB可以部署在任何可以部署在任何EJB平台上平台上.4. EJB

38、定义了一个协议定义了一个协议,使得不同供应商提供的构使得不同供应商提供的构件能在运行时互操作件能在运行时互操作.5. EJB体系结构和已有的服务器平台体系结构和已有的服务器平台,其它的其它的Java APIs, CORBA兼容兼容479.4 分布对象主流技术分布对象主流技术-EJBnEJB与与JavaBean的关系的关系1. 客户端的客户端的JavaBeans容器可以根据容器可以根据JavaBeans的的属性属性,方法方法,事件的定义在设计时或运行时对事件的定义在设计时或运行时对Java Beans进行操作进行操作. 一般一般JavaBeans是可视化的构件是可视化的构件. 一个标准的一个标准

39、的JavaBeans是一个客户端构件是一个客户端构件,在运行在运行时不能被其它客户机程序存取或操作时不能被其它客户机程序存取或操作2. EJB没有用户界面没有用户界面,并完全位于服务器端并完全位于服务器端,EJB可以可以由多个由多个JavaBeans组成组成.3. EJB可以和远程的客户程序端通信可以和远程的客户程序端通信,并提供一定的并提供一定的功能功能. 如果不和客户端程序交互如果不和客户端程序交互,EJB一般不执行具一般不执行具体的功能体的功能.4. EJB与与JavaBeans的一个重要区别是的一个重要区别是EJB提供了提供了网络功能网络功能.489.4 分布对象主流技术分布对象主流技

40、术-EJBnEJB与与CORBA的关系的关系1. 一个一个CORBA客户机客户机(用用CORBA支持的语言些的程序支持的语言些的程序),可以存取基于可以存取基于CORBA的的EJB服务器上的构件服务器上的构件2. 一个客户机在一个事务过程中可以同时调用一个客户机在一个事务过程中可以同时调用CORBA的的EJB服务器对象服务器对象3. 通过通过IIOP可以使可以使EJB系统和系统和CORBA系统集成系统集成.nEJB与客户机的关系与客户机的关系n对于对于EJB来说来说,有两种类型的客户机可以使用有两种类型的客户机可以使用EJB:1. EJB/CORBA客户机客户机-一个使用一个使用EJB API

41、s的的Java客户机客户机.2. 纯纯CORBA客户机客户机-用用CORBA IDL支持的任何语支持的任何语言些的客户机言些的客户机.49nEJB的网络计算的网络计算9.4 分布对象主流技术分布对象主流技术-EJB客户端客户端在网络计算环境中利用Java的最好途径是由EJB提供服务器端的构件,而由JavaBeans提供客户端构件.509.4 分布对象处理技术分布对象处理技术-几种构件模型的比较几种构件模型的比较n组件组件:CORBA,JavaBean,ActiveXn协议协议:IIOP, RMI, DCOMnCORBA最大的特点是语言中性和跨平台最大的特点是语言中性和跨平台.可以跨可以跨越不同

42、网络越不同网络,不同机器和不同操作系统不同机器和不同操作系统,实现分布实现分布对象之间的互操作对象之间的互操作.整体功能最强整体功能最强.nJava提出了一个概念清晰提出了一个概念清晰,结构紧凑的分布计算结构紧凑的分布计算模型和构件互操作方法模型和构件互操作方法,为构件应用开发提供了相为构件应用开发提供了相当的灵活性当的灵活性,使用上比使用上比CORBA方便方便.但是没有提供但是没有提供分布对象事物管理等服务分布对象事物管理等服务.n微软结合微软结合ActiveX/DCOM的开发的开发,配套提出了自己配套提出了自己的事务服务器的事务服务器(MTS)和消息队列服务器和消息队列服务器,加之加之asp 的使用的使用,以及以及wizard的可视化编程环境的可视化编程环境,倍受业界倍受业界的欢迎的欢迎.519.4 分布对象处理技术分布对象处理技术-几种构件模型的比较几种构件模型的比较nCORBA的优势在技术,较之的优势在技术,较之COM/DCOM领先至领先至少少2-3年;年; COM/ DCOM的优势在市场能力。的优势在市场能力。n目前,只有目前,只有OMG的技术能够支持大型异构分布的技术能够支持大型异构分布式应用的开发,式应用的开发,Microsoft的技术尚不能胜任。的技术尚不能胜任。nCORBA技术与技术与Java技术趋于结合,技术趋于结合,CORBA的的互操作性与互操作性与Java

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论