分布对象技术知识点总结_第1页
分布对象技术知识点总结_第2页
分布对象技术知识点总结_第3页
分布对象技术知识点总结_第4页
分布对象技术知识点总结_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章:软件构件与中间件1.分布式软件的基本概念:分布式软件指运行在网络环境中的软件系统,而网络环境是一群通过网络互相连接的处理系统,每个处理节点由处理机硬件、操作系统及基本通信软件等组成。(1)三层结构相对于两层结构的改进:两层结构的缺点:客户端的负担仍然比较重:客户端仍要处理复杂的数据。客户端的可移植性不好:处理复杂必然牵涉更多的移植性问题;每个客户端上都要安装数据库驱动程序。系统的可维护性不好:客户端包含过多的商业逻辑;商业逻辑与人机交互界面交织在一起。数据的安全性不好。三层结构的优势:更好的性能和可伸缩性。大量的中间层中间件平台提供丰富的系统级服务,使得开发人员可以以更少的工作量开发出

2、更复杂、可靠、高效的软件系统。剩下的内容是对两层结构缺点的改进。2.软件构件的基本概念:构件指系统中可以明确辨识的构成成分;软件构件指软件系统中具有一定意义的、相对独立的构成成分,是可以被重用的软件实体。3.中间件的基本概念:在操作系统与应用系统之间的一层软件,为分布式应用的开发、部署、运行与管理提供支持。(1)典型集成中间件为软件开发提供的三种基本支撑:n提供构件运行环境管理构件的生命周期管理构件的实例管理构件的元信息等n提供互操作机制集成中间件都提供了很强的高层通信协议以屏蔽节点的物理特性以及各节点在处理器、操作系统等方面的异构性;基于中间件的互操作支持,开发人员在开发与调用分布式对象时,

3、均不需自己编写处理底层通信的代码。共同特征就是帮助应用程序完成编组与解组等跨越网络通信的底层工作,实现远程过程/方法调用中间件的功能。n提供公共服务公共服务又称为系统级服务,指由中间件(应用服务器)实现的、应用程序使用的软件系统中共性程度高的功能成分。n由中间件而非应用程序实现n应用程序中通常会调用其实现的共性功能中间件提供的主要公共服务包括:n命名服务n事务服务n安全服务n持久性服务、消息服务、分布式垃圾回收服务、资源管理服务等3.互操作的基本原理与实例(1)桩/框架结构第二章:CORBA的基本原理1.对象管理体系结构(1)OMA参考模型(CORBA中的公共服务) OMA是CORBA所基于的

4、概念框架,它描述了一个较高层次的分布式计算环境。2. ORB结构ORB是OMA参考模型的核心,它提供了分布式对象之间透明的地发送请求或接收响应的基本机制,独立于实现对象的特定平台与技术。(1) 桩/框架结构3.CORBA对于可互操作的支持(1)不同平台与语言之间的互操作性IDL标准和IDL到程序设计语言的映射使得使用同一厂商的ORB产品开发的客户程序与服务程序可以交互。(2) 不同厂商的ORB产品之间的互操作性CORBA 2.0引入了GIOP和IIOP(3) 不同体系结构中的组件的互操作性如一个CORBA对象如何操作一个DCOM对象。ESIOP可以解决一部分问题。还有许多工作要做。第3章 :基

5、于CORBA的开发过程设计基于CORBA的分布式系统时,一般应考虑如下几个问题:运行平台:网络传输:多样化的网络传输选择;设计CORBA应用时确保ORB能使用必要的网络传输消息传递:同步方式;异步方式(延迟同步方式);单向方式资源优化:分布式环境下,跨网络的通信开销是相当可观的,占用相当多的系统资源;避免频繁的跨网络(尤其是广域网)通信其它:安全性、可靠性、事务处理、并发控制;错误处理1基本开发过程 自动生成的桩和框架是按照标准提供了底层通信等公共服务的接口接口定义是独立于程序设计语言的,只要能够实现IDL到程序设计语言的映射,CORBA可以支持任何程序设计语言第四章:编写对象接口(CORBA

6、)1.OMG IDL的语法与语义 两点说明:OMGIDL是独立于程序设计语言的。(一般IDL的特性);是一种说明性语言语法规则:采用类似ANSI C+的词法规则和预处理特性(如编译指令#include)。IDL文件 本身采用ASCII字符集,但字符与字符串文字常量则采用Unicode。 关键字是大小写敏感的,但标识符却是大小写无关的模块:模块用于限制标识符的作用域。一个IDL模块被映射为一个同名的Java程序包,该模块中的所有IDL类型被映射到相应程序包中的Java类或接口。不包含在任何模块之中的IDL声明被映射到一个无名的Java全局作用域程序包类型:用来说明在客户和服务对象之间要交换的数据

7、的类型(如参数和返回值的类型)常量:用来说明在客户和服务对象之间要交换的常量数据异常:异常声明用来说明在接口中包含的操作可能会引发的异常接口:接口声明是IDL规格说明的核心内容,用来说明分布式对象所提供的服务。接口映射到Java语言的接口值:属性不应看作对象的状态数据,最好将它们理解为一种特殊的操作。同方法声明一样,属性也映射到Java语言接口中的方法2. 使用值类型(valuetype)值类型是一类特殊的类型声明。值类型主要用于在网络中传递对象的状态信息,相当于提供了一种和程序设计语言无关的声明类的方式。值类型有两种典型用法:一是在按值调用的参数传递方式中创建对象副本(即参数类型是值类型),

8、二是在远程操作返回一个对象时创建对象副本(即返回值类型是值类型)。(1)对象副本的状态变化不会影响原来的对象(2)如何正确使用3.编写对象接口的准则 1:一个IDL接口应该与现实世界中的业务系统中的某个工作实体相对应 2:开发人员在设计分布式对象接口时必须始终贯彻这样的指导思想,即随时注意到同一进程中对象的接口与分布式对象的接口通常存在很大的区别,忽视这种区别会给分布式对象系统的可靠性、可伸缩性、可重用性等质量因素带来危害。 3:区别会话型接口与实体型接口有利于设计人员组织众多的分布式对象。 4:事务处理在许多分布式数据处理系统中也是必须考虑的重要问题之一第五章:编写服务端程序(CORBA)1

9、.POA体系架构2. 设计POA策略线程策略;生存期策略;活动对象保持策略;对象查找策略3.使用POA4.伺服对象管理器(1)伺服对象激活器(如何管理大量服务端对象):真正提供完成客户程序请求的操作,通常由程序设计语言对象实现,可以进行实例化并访问其提供的成员方法;通过CORBA对象提供服务(2)伺服对象定位器 伺服对象管理器帮助POA管理服务端未激活对象,实现对象查找、激活和冻结n伺服对象管理器使程序员可以按照多种方式控制并使用对象,但必须注册到POA才能被使用;伺服对象管理器的功能可以进一步扩充,只要满足CORBA标准中声明的接口定义5. 适配器激活器如果一个服务程序在启动时就创建了它所需

10、的全部POA,那么就无需使用或提供任何适配器激活器。仅当需要在处理请求的过程中自动创建新的POA时,才需要用到适配器激活器第六章:J2EE体系架构1.J2EE构件:由开发人员实现,构成应用系统,运行在J2EE平台上客户端构件AppletsApplication Clients服务端构件Web构件(Servlets, JSPs)EJBs 2.J2EE公共服务:J2EE应用构件所使用的功能,由J2EE平台提供商实现(1)Service API(开发时使用)(2)运行时服务3.通信支持:支持协作构件之间的通信;由Container提供。4.J2EE应用程序5.基于角色的开发l将构建整个软件系统的任务

11、划分到不同的角色n明确的划分任务与责任n不同的阶段有不同的关注重点,这种划分使得每个角色仅关注他所要完成的工作n实现了开发与部署的分离第七章:EJB技术基础1.EJB体系结构(1)EJB与java Bean对比构件模型定义了开发可重用构件的方式 EJB与Javabeans都是基于java语言的构件模型 开发应用时,可以选择EJB模型,也可以选择JavaBeans模型 EJB用于服务端应用开发JavaBeans用于客户端应用开发n也可以使用JavaBeans进行服务端应用开发,但JavaBeans模型没有提供服务框架,当应用需要使用系统级服务(如事务管理)时,不适合。 EJB构件是可部署的nEJ

12、B构件可以作为独立的单元被部署到EJB应用服务器上,是应用构件(application components)。JavaBeans构件是不可部署的nJavaBeans构件是开发构件,不能被部署为独立的单元。 EJB构件是部署时可定制的n使用部署描述符可以在部署EJB时对其运行时配置进行定制JavaBeans构件在部署时不能进行定制nJavaBeans构件的定制仅发生在开发阶段n只能利用开发工具创建并组装JavaBeans构件,部署时不能定制 EJB构件是分布式对象n可以被客户应用或者其它EJB构件进行远程访问JavaBeans构件不是分布式对象nJavaBeans构件只能在其构成的应用中使用n

13、不能提供远程访问能力 EJB构件对终端用户不可见n运行在服务端,没有人机交互界面11部分JavaBeans构件对终端用户可见n如GUI应用中使用的按钮构件(2)EJB体系结构中的构件(两个接口+一个类)EJB体系结构由6种构件组成n Enterprise Beann Home Interfacen Remote Interfacen EJB Containern EJB Servern E JB Client lEnterprise Beann包含商业逻辑代码的Java类n提供商业方法供调用n被部署到EJB应用服务器上n可以被组装形成大型的EJB应用 EJB体系结构中的另一类构件是Home I

14、nterfacenHome Interface包含enterprise bean生命周期管理的相关方法n客户程序使用Home Interface创建或删除enterprise bean的实例 EJB体系结构中的另一类构件是Remote InterfacenRemote Interface包含enterprise bean实现的商业方法的定义n定义了enterprise bean提供的服务n客户程序只能通过remote interface访问enterprise bean实现的商业方法,不能直接调用。2.EJB设计原则理解作用,了解对应关系第八章:EJB构件开发过程1.无状态会话构件开发与使用(

15、1)生命周期特征Method Ready No State包含两个状态:Method Ready state 和 No state No 状态表明EBJ容器不存在无状态会话bean实例1.实例的创建和删除是有容器自动来控制的,并不是由Home接口中的Create或Remove创建或删除。2.会话bean只能有无参数的create或ebjCreate方法创建,所以别人初始化的EBJ实例也可以使用 从No状态->就绪态:调用enterprise类中的setSessionContext和ebjCreate就绪态->No状态:调用ebjRemove方法(2) 为什么会设计为无状态会话构件平

16、台无关性(3)客户端(对构建生命周期的影响) 只要EBJ认为实例池中需要更多的实例为客户端服务,就会创建新的实例,实例从No状态到就绪态。同理,如果不需要更多实例,则根据某种策略删除某些实例,删除的某些实例从就绪态到No状态2.有状态会话构件开发与使用(ZD)(1)生命周期特征(2) 为什么会设计为有状态会话构件(3) 客户端(对构建生命周期的影响)只要有新的客户端请求就会创造新的新的实例,这时新创建的实例从No状态到就绪态如果客户端不需要使用实例或者客户程序超时,容器会删除该实例,因此从就绪态到No状态因为每个客户端需要一个专门的有状态会话bean为其服务,当bean过多时,容器只保存刚被使

17、用或者正在使用的bean,其他移动到持久存储介质上,此时被转移到持久存储介质上就是Passivated状态当客服端再次使用Passivated状态时恢复到内存,变为就绪态3.实体构件的开发与使用第九章:EJB高级特性1.环境条目(1)动因(2)效果2.事务控制(ZD)(1)事务控制的基本要求 事务相关的一系列操作的原子性(2) CMT系统级异常 程序员在bean的源程序中没有事务边界控制的代码 再部署描述符中指定事物属性,有容器控制事务的边界容器维护的事务是方法级的(3) BMT(事务结束) 程序员在bean的源程序中控制事务边界 再部署描述符中指定由bean控制边界3.安全性控制(1)安全性

18、控制的两个级别 认证和授权(2) 配置的主要内容(定义角色、选择认证方式、配置WEB模块授权规则、配置EJB模块授权规则、将角色映射到实际安全域)定义角色:Supervisor和Normaluser选择认证方式:basic :系统弹出对话框,用户输入用户名和密码 Client Certificate:电子证书方式 Form Basic:程序员用户登录界面配置WEB模块授权规则: 设置认证方式 设置授权方式配置EJB模块授权规则: 设置代理身份 设置方法访问授权将角色映射到实际安全域: Normaluser映射到Account Manager Bean,可以访问getbalance但是不能CreeateAccount Supervisor映射到Account Manager Bean,可以访问CreeateAccount 第十章:WEB Service概述1.WEB服务体系结构(1)SOA架构(三个参与者、三个基本

温馨提示

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

评论

0/150

提交评论