已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分布对象技术,1,北京大学,北京大学计算机系代亚非,2,第九章分布对象技术,9.1分布对象技术要解决的基本问题9.2分布对象技术概论9.3分布对象的核心概念9.4分布对象主流技术介绍9.5分布对象处理技术-发展趋势9.6分布对象主流技术开发过程,3,9.1分布对象技术要解决的基本问题,以下情况是不是分布式?1、浏览2、两个及其之间的通信3、计算引擎,4,就是支持访问异地对象,9.1分布对象技术要解决的基本问题,5,两层客户/服务器模型(胖客户),三层客户/服务器模型(瘦客户),N层客户/服务器模型,层的概念(TIERS):在客户/服务器意义上将,一个层就代表一个具有定义好的特定功能平台,一个平台就是就是一个计算机软件和硬件的组合.,9.1分布对象技术要解决的基本问题,分布式系统的客户/服务器模型,6,9.1分布对象技术要解决的基本问题,一个分布式系统的例子(原始的方法),7,9.1分布对象技术要解决的基本问题,使用多个服务器分割用户,电话订购客户1,WEB服务器1,电话订购客户2,中心订购服务器1,WEB服务器2,电话订购客户1,WEB服务器1,电话订购客户2,中心订购服务器1,WEB服务器2,电话订购客户1,WEB服务器1,电话订购客户2,中心订购服务器1,WEB服务器2,8,9.1分布对象技术要解决的基本问题,考虑负载平衡的问题,9,9.1分布对象技术要解决的基本问题,问题案例一:如何综合越来越多的数据库资源,以适应不断发展的业务逻辑,客户,如何加入综合多个数据库的业务逻辑?,如何集成其它非数据库操作的业务逻辑?,如何处理“肥客户”应用问题?,如何处理用户界面风格多样性?,10,9.1分布对象技术要解决的基本问题,问题案例二如何管理不断接入的新应用,管理器,N1,N2,Nk,.,11,9.1分布对象技术要解决的基本问题,汇编语言,单机应用开发环境,分布式应用开发环境,SocketAPI,12,9.1分布对象技术要解决的基本问题,我们都听到了哪些词汇?,构件模型,CORBA/IIOP,Java/RMI,分布对象,ActiveXControls,RPC,COM/DCOM,还有还有.,EJB,13,9.2分布对象技术概论,分布计算是近二十年来影响计算机急速发展的最活跃因素之一经历了两种不同的技术路线1.理想的技术路线(80年代学术界普遍追求的目标)试图在互连的计算机硬件上部署全新的分布式操作系统2.现实的技术路线(90年代工业界普遍遵守的路线)在网络计算平台上部署分布计算环境提供开发工具和公共服务支持分布式应用资源共享和协同工作,集中式,客户/服务器,14,9.2分布对象技术概论,分布式系统比想象的要复杂:1.异构环境下的应用互操作的问题2.系统管理问题3.系统安全的问题4.传统的面向过程的技术在开发大型软件系统的局限性面向对象技术用于分布式(分布对象技术)标志第二代分布式计算技术进入成熟和蓬勃发展时期.分布式对象技术始于90年代初,已经发展成为当今分布异构环境下建立应用系统集成框架和标准构件的核心技术,15,9.2分布对象技术概论,16,9.2分布对象技术概论,分布对象技术的核心概念有那些?1分布对象的位置对客户透明2可以被远程客户应用以方法调用的形式访问3分布对象所使用的语言要对客户透明4.分布对象运行的系统平台对客户透明5.分布对象具有移动性,(允许时间,空间,语言,操作平台的差异性),17,9.2分布对象技术概论,Java,Java,VB,C+,VB,18,9.2分布对象技术概论,分布式系统,分布对象与软构件是什么关系?1.独立于特定程序设计语言和应用系统,可重用和自包含的软件成分称为软构件.2.分布对象是一种典型的软构件3.分布式系统是分散在两个或更多地方的计算机上为了实现一个共同的目标而共同工作的软件实体集合.分布式应用系统中的成员:1.创建和维护分布对象的实体的应用称为服务器2.按照接口访问该对象的应用称为客户3.服务对象同时可以是其它服务对象的客户,19,9.2分布对象技术概论,软构件模型的开发的目的是什么?重用,高层开发,通过工具进行自动化开发,简化开发过程等.软构件模型的开发的手段是什么?软构件开发者:1.处理底层的实现细节以及与此相关的类.2.定义构件的基本的体系结构,构件界面的结构,与其它构件及容器相互作用的机制软构件应用者:在可视的开发环境将以存在的构件进行简单的组装。,20,9.2分布对象技术概论,软构件模型的例子?OMG的CORBA、Microsoft的COM/DCOM和SUN的Java/EJB。,21,网络计算环境,9.3分布对象技术-基本工作原理,什么是对象请求代理?支持客户访问异地分布对象的核心机制称为对象请求代理ORB(ObjectRequestBroker),22,9.3分布对象技术-基本工作原理,客户,应用逻辑,分布对象代理,服务器,对象请求分发器,分布对象的实现,对象请求适配器,对象请求感知器,网络传输访问,ORB,服务器构造构架,客户构造构架,23,9.3分布对象技术-基本工作原理,ORB,ORB,客户,客户,客户,客户,如何管理客户应用,24,利用这些服务创建一个新的对象而不必知道对象在哪,9.3分布对象技术-基本工作原理,对象服务:支持分布式系统正常工作的各类基本的系统级服务1.名字管理2.事件通告3.对象事务管理4.对象生命周期,25,9.3分布对象技术-基本工作原理,通用功能:支持分布式系统高效开发和有效工作的各类面向领域的常规服务和工具GUI数据库服务电子邮件服务系统管理服务面象应用领域的领域构架,26,9.3分布对象技术-基本工作原理,应用对象:涉及各种应用软件,它在对象服务和公共设施帮助下完成相应的应用逻辑ORB是一条软总线,把分布式系统中各类对象和应用连接成相互作用的整体,27,9.4分布对象主流技术,分布对象技术的实质性进步:1.使面向对象技术能够在异构的网络环境中得以全面,彻底,方便的实施2.有效地控制系统的开发,管理,维护的复杂性分布对象的主流技术1.OMG的CORBA2.Microsoft的ActiveX/DCOM3.SUN的Java/RMI,28,9.4分布对象主流技术-CORBA,OMG是一个非盈利性国际组织,致力于使CORBA成为“无所不在的中间件”1989年成立,当时仅有8家成员,目前有900家成员OMG制定的分布对象计算标准规范,按照这些规范设计的开发的分布式计算软件环境可以在几乎所有的主流硬件平台和操作系统上运行CORBA的通信协议是IIOP(InternetInter-ORBProtocol).CORBA结构集中围绕着两个主要元素:ORB和IDL,CORBA的语言独立性和平台独立性主要来源于这两个方面.,CORBA,29,9.4分布对象主流技术-CORBA,ORB负责定位服务器对象IDL是建立接口的基础,30,9.4分布对象主流技术-CORBA,IDLStubs、IDLSkeleton是由IDL编译器编译产生的,用于静态调用,有较好的性能和效率。动态调用接口和动态Skeleton用于动态调用,使得即使在编译时不知道可用的服务器和接口消息,也能完成客户与服务器的作用CORBA中的说明语言,称作OMGIDL,用以描述对象的接口。它本身不是一个可编程语言,但它为程序员提供了语言的独立性,他们不必知道调用者所采用的语言。IDL的词法,语法规则遵从C+的规定,但加入了一些关键词支持分布概念。用接口描述语言(InterfaceDescriptionLanguage)编写的对象接口,使得与语言无关的独立性成为可能。,31,9.4分布对象主流技术-CORBA,CORBA规范的特点:1.互操作性:CORBA在客户和服务器之间提供了两层可操作性。一方面它将客户与服务器都抽象为对象,所有功能都封装在对象内部,对外提供简单的接口,可被其它对象以动态或静态方式调用。另一方面,对象间的通信是通过ORB代理实现,对象不必关心细节,由ORB定址发送请求。是ORB对象间的“通信总线”。,32,9.4分布对象主流技术-CORBA,3.跨平台性:由于CORBA规范中定义了IDL语言这一与平台无关的语言,并引入代理(ORB)概念,因此CORBA应用具有较好的跨平台性。,2.提供了软总件机制:所谓软总线是指CORBA规范定义了一组接口规范,任何应用程序,软件系统或工具只要具有与该接口规范相符合的接口定义,就能方便地集成对CORBA系统中,而这个接口规范是独立于任何实现语言和环境。,33,9.4分布对象主流技术-CORBA,CORBA结构一次请求的过程,CORBA结构一次请求的过程,34,9.4分布对象主流技术-COM/DCOM,OLE对象链接和嵌入(ObjectLinkingandEmbedding)从用户角度看OLE1.OLE文档:以文档为中心,OLE集成数据2.OLE自动化3.OLE控件:可以被嵌入应用程序中的自包含的,可重用的组件.,COM,DCOM,OLE和ActiveX,35,9.4分布对象主流技术-COM/DCOM,36,9.4分布对象主流技术-COM/DCOM,37,组件对象模型(COM),结构化存储,跟踪器(永久命名),拖放,嵌入,剪贴板,一致数据传输器(UDT),就地激活(可视编程),链接,OLE控件,为将来而建造,9.4分布对象主流技术-COM/DCOM,从程序员的角度看OLE,OLE文档,属性,事件,38,9.4分布对象主流技术-COM/DCOM,构件对象模型COM(ComponentObjectModel)是一个用于在交互平台上开发客户/服务器应用程序开放结构.COM是微软的构件对象模型,是构件之间实现互操作的二进制标准.COM对象通过接口来显示功能。接口是COM对象与外部世界的一个绑定约定。COM可以用不同语言实现.COM只能运行在WINDOWS平台上COM实现了OLE对象的底层通信,其作用类似于CORBA/ORB,39,9.4分布对象主流技术-COM/DCOM,ActiveX是OLE技术和COM技术在Internet网上的一个扩展.但是它的内容更多,它还组成了一系列用来产生丰富的Internet网和多媒体服务.ActiveX文档:将OLE文档扩展到internet,能够由浏览器打开的word,powerpoint文件ActiveX控件:将OLE控件扩展到internet。如一个页面包含ActiveX控件,该控件可以自动下载到用户端。ActiveX脚本:将OLE自动化带进internet。可以利用VBScript,JavaScriot,Perl,等语言编写。,40,9.4分布对象主流技术-COM/DCOM,分布式组件对象模型(DCOM或ActiveX/DCOM):被称为网络OLE,是二进制的COM对象在局域,广域网和Internet上的扩展.COM能够使客户在本地处理中透明地访问库中的对象,DCOM允许在远程处理中透明地访问对象。(DCOM的功能实现使得程序员不必编写网络代码,或仅仅知道如何编写网络代码)DCOM基于(RPC-remoteprocedurecall)工作,它不是一种编程语言,而是一种规范,一种服务,是一种高级网络协议。DCOM是用COM实现的。,41,9.4分布对象主流技术-COM/DCOM,ActiveX控件通过底层DCOM进行通信,允许控件互相访问对方公布了的方法,而不必考虑控件是否在一个容器或同一台机器上。ActiveX控件由事件连接在一起,开发环境支持开发者创建方法,当任何一个构件出发了一个事件,这些方法都被调用.目前有十几家公司提供大量的控件,你可以访问这些公司的WEB站点,下载你需要的ActiveX控件,进行编程:.Windows98和WindowsNT5.0都把DCOM作为操作系统的一部分.,42,9.4分布对象主流技术-Java/RMI,RMI是分布在网络中的各类Java对象之间的进行方法调用的ORB机制.Java语言支持通信的最基本机制是Socket.但是Socket要求客户和服务器在应用程序级上对交换信息编码的协议达成一致.RPC把通信接口抽象到子程序级,而不是直接与Socket打交道,但由于不涉及对象,在分布式运算中效果不好.Java/RMI(RemoteMethodInvocation)是Java特有的分布式计算技术,它允许运行在一个Java虚拟机上的对象调用运行在另一个Java虚拟机上的对象的方法.,Java/RMI,43,9.4分布对象主流技术-Java/RMI,RMI系统的一般结构1.Stub就是代表远程对象的客户方代理,定义远程对象版本所支持的所有接口.2.Skeletons是与服务器方的RRL接口的服务器方构件3.RRL负责维护不与具体Stub或Skeleton模型相关的独立引用协议.这个灵活性使RRL的改变不会影响另外两层.4.传输层由4个抽象构成:端点,通道,连接,传送,44,9.4分布对象主流技术-Java/RMI,RMI系统的一般原理:1.定位远程对象:RMI的命名工具注册远程对象.2.和远程对象通信:RMI传输层处理通信细节3.装载被串对象的字节码:RMI提供了传递数据和装载一个对象代码的必要机制,45,9.4分布对象主流技术-EJB,EJB-(EnterpriseJavaBean1.0)是Java服务器端构件模型.构件模型通常有客户端构件和服务器端构件构件客户端构件模型JavaBean专门用于处理程序的表示及用户界面的问题.服务器端构件模型EJB,把构件模型的开发和中间件联系起来,面向事务处理的中间件提供基础设施.,46,9.4分布对象主流技术-EJB,为什么要有服务器端构件模型EJB?1.EJB将成为用Java语言开发分布式的、面向对象的企业应用系统的标准构件体系结构,EJB使得通过组合构件得到分布式应用成为可能2.EJB不需要应用开发人员了解底层的事务处理细节,状态管理,多线程,资源共享管理,以及其它底层API细节.3.EJB遵循Java的“writeonce,runanywhere”的原则.一个EJB可以部署在任何EJB平台上.4.EJB定义了一个协议,使得不同供应商提供的构件能在运行时互操作.5.EJB体系结构和已有的服务器平台,其它的JavaAPIs,CORBA兼容,47,9.4分布对象主流技术-EJB,EJB与JavaBean的关系1.客户端的JavaBeans容器可以根据JavaBeans的属性,方法,事件的定义在设计时或运行时对JavaBeans进行操作.一般JavaBeans是可视化的构件.一个标准的JavaBeans是一个客户端构件,在运行时不能被其它客户机程序存取或操作2.EJB没有用户界面,并完全位于服务器端,EJB可以由多个JavaBeans组成.3.EJB可以和远程的客户程序端通信,并提供一定的功能.如果不和客户端程序交互,EJB一般不执行具体的功能.4.EJB与JavaBeans的一个重要区别是EJB提供了网络功能.,48,9.4分布对象主流技术-EJB,EJB与CORBA的关系1.一个CORBA客户机(用CORBA支持的语言些的程序),可以存取基于CORBA的EJB服务器上的构件2.一个客户机在一个事务过程中可以同时调用CORBA的EJB服务器对象3.通过IIOP可以使EJB系统和CORBA系统集成.EJB与客户机的关系对于EJB来说,有两种类型的客户机可以使用EJB:1.EJB/CORBA客户机-一个使用EJBAPIs的Java客户机.2.纯CORBA客户机-用CORBAIDL支持的任何语言些的客户机.,49,EJB的网络计算,9.4分布对象主流技术-EJB,在网络计算环境中利用Java的最好途径是由EJB提供服务器端的构件,而由JavaBeans提供客户端构件.,50,9.4分布对象处理技术-几种构件模型的比较,组件:CORBA,JavaBean,ActiveX协议:IIOP,RMI,DCOMCORBA最大的特点是语言中性和跨平台.可以跨越不同网络,不同机器和不同操作系统,实现分布对象之间的互操作.整体功能最强.Java提出了一个概念清晰,结构紧凑的分布计算模型和构件互操作方法,为构件应用开发提供了相当的灵活性,使用上比CORBA方便.但是没有提供分布对象事物管理等服务.微软结合ActiveX/DCOM的开发,配套提出了自己的事务服务器(MTS)和消息队列服务器,加之asp的使用,以及wizard的可视化编程环境,倍受业界的欢迎.,51,9.4分布对象处理技术-几种构件模型的比较,CORBA的优势在技术,较之COM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年饮酒驾驶危害知识考察试题及答案解析
- 2026年马鞍山职业技术学院高职单招笔试语文历年参考题库含答案解析
- 2026年雅安职业技术学院高职单招笔试英语历年参考题库含答案解析
- 2026年陕西机电职业技术学院高职单招笔试化学历年参考题库含答案解析
- 护理健康课件
- 中小学教学评一体化实施路径
- 移动式操作平台转运安全方案
- 体育训练基地信息化建设技术规范
- 铁路路基压实质量检测方案
- 铁路路基冬季施工方案
- 2026北京市朝阳区卫生健康委员会所属事业单位第二批招聘241人笔试备考题库及答案解析
- 4.1妈妈教学设计
- 2026年内蒙古中考语文试卷及答案
- 成人术中外周静脉输液技术操作及管理指南
- 2026-2030中国化机浆市场竞争规划与未来前景发展趋势研究报告
- 医院环境感染监测制度
- 心脏的结构小学生课件
- 矩阵论知到智慧树期末考试答案题库2025年哈尔滨工程大学
- T/BJHWXH 002-2024路用低氯低钠融雪剂
- 人体发育学 第八章 婴幼儿期言语功能的发育
- 手术室护理进修
评论
0/150
提交评论