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

下载本文档

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

文档简介

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

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

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

4、M参考模型(CORB中的公共服务)OMA是CORBA所基于的概念框架,它描述了一个较高层次的分布式计算环境。与应用有关的非标准化接口与应用领域有关的接口通用设施的接口通用服务的接口ORB結构O1A参考模型2.0RB结构ORB是OMA参考模型的核心,它提供了分布式对象之间透明的地发送请求或接收响应的 基本机制,独立于实现对象的特定平台与技术。(1 )桩/框架结构客户程序对象实现Stub静态ID【,Skeleto3.CORBA寸于可互操作的支持(1)不同平台与语言之间的互操作性IDL标准和IDL到程序设计语言的映射使得使用同一厂商的ORE产品开发的客户程序与服务程序可以交互。(2)不同厂商的OR产

5、品之间的互操作性CORBA 2.(引入了 GIOF和 IIOP(3)不同体系结构中的组件的互操作性如一个CORBA寸象如何操作一个DCOM对象。ESIOP可以解决一部分问题。还有许多工作要做。第三章:基于CORB的开发过程设计基于CORBA勺分布式系统时,一般应考虑如下几个问题:运行平台:网络传输:多样化的网络传输选择;设计CORBA应用时确保ORB能使用必要的网络传输消息传递:同步方式;异步方式(延迟同步方式);单向方式资源优化:分布式环境下,跨网络的通信开销是相当可观的,占用相当多的系统资源; 避免频繁的跨网络(尤其是广域网)通信其它:安全性、可靠性、事务处理、并发控制;错误处理1 .基本

6、开发过程CO RBA应用程序开发过程面向对象分析与设计:用IDL编写对象接口';编译客户端程序编译IDL立件生成桩与框架C编写客户程序代码编写对象实现和服务程序编译服务端程序部翳应用程序运行应用程序自动生成的桩和框架是按照标准提供了底层通信等公共服务的接口接口定义是独立于程序设计语言的,只要能够实现IDL到程序设计语言的映射,CORBA可以支持任何程序设计语言 第四章:编写对象接口( CORBA1.OMG IDL的语法与语义两点说明:OMGIDL是独立于程序设计语言的。(一般IDL的特性);是一种说明性语言语法规则:采用类似ANSI C+勺词法规则和预处理特性(如编译指令#includ

7、e)o IDL文件本身采用ASCI字符集,但字符与字符串文字常量则采用Unicode。关键字是大小写敏感的,但标识符却是大小写无关的模块:模块用于限制标识符的作用域。 一个IDL模块被映射为一个同名的 Java程序包,该模块 中的所有IDL类型被映射到相应程序包中的 Java类或接口。不包含在任何模块之中的 IDL声明 被映射到一个无名的Java全局作用域程序包类型:用来说明在客户和服务对象之间要交换的数据的类型(如参数和返回值的类型)常量:用来说明在客户和服务对象之间要交换的常量数据异常:异常声明用来说明在接口中包含的操作可能会引发的异常接口:接口声明是IDL规格说明的核心内容,用来说明分布

8、式对象所提供的服务。接口映射到Java语言的接口值:属性不应看作对象的状态数据,最好将它们理解为一种特殊的操作。同方法声明一样, 属性也映射到Java语言接口中的方法2.使用值类型(valuetype )值类型是一类特殊的类型声明。值类型主要用于在网络中传递对象的状态信息,相当于提供了一种和程序设计语言无关的声明类的方式。值类型有两种典型用法:一是在按值调用的参数传递方式中创建对象副本(即参数类型是值类型),二是在远程操作返回一个对象时创建对象副本(即返回值类型是值类型)。(1)对象副本的状态变化不会影响原来的对象(2)如何正确使用3.编写对象接口的准则1 : 一个IDL接口应该与现实世界中的

9、业务系统中的某个工作实体相对应2:开发人员在设计分布式对象接口时必须始终贯彻这样的指导思想,即随时注意到同一进程中对象的接口与分布式对象的接口通常存在很大的区别,忽视这种区别会给分布式对象系统的可靠性、可伸缩性、可重用性等质量因素带来危害。3 :区别会话型接口与实体型接口有利于设计人员组织众多的分布式对象。4:事务处理在许多分布式数据处理系统中也是必须考虑的重要问题之一第五章:编写服务端程序(CORBA1. POA体系架构伺服对飲2. 设计POAI略线程策略;生存期策略;活动对象保持策略;对象查找策略3. 使用POA4伺服对象管理器(1 )伺服对象激活器(如何管理大量服务端对象):真正提供完成

10、客户程序请求的操作,通常由程序设计语言对象实现,可以进行实例化并访问其提供的成员方法;通过CORBA寸象提供服务(2 )伺服对象定位器伺服对象管理器帮助 POA管理服务端未激活对象,实现对象查找、激活和冻结伺服右象管琨器便卄序川J以按照劣种方貞控制养使川对象,但必须江册到POA才能被使CORBA标准中声明的接口定义POA,那么就无需使用或提供任何适POA时,才需要用到适配器激活器用;伺服对象管理器的功能可以进一步扩充,只要满足5.适配器激活器如果一个服务程序在启动时就创建了它所需的全部 配器激活器。仅当需要在处理请求的过程中自动创建新的第六章:J2EE体系架构1.J2EE 构件: 由开发人员实

11、现,构成应用系统,运行在 J2EE平台上客户端构件pplets pplicati on Clie nts服务端构件Web 构件(Servlets, JSPs )-EJBs2. J2EE公共服务:J2EE应用构件所使用的功能,由J2EE平台提供商实现(1) Service API(开发时使用)(2) 运行时服务3. 通信支持:支持协作构件之间的通信;由Con tai ner提供。4. J2EE应用程序5. 基于角色的开发将构建整个软件系统的任务划分到不同的角色明确的划分任务与责任不同的阶段有不同的关注重点,这种划分使得每个角色仅关注他所要完成的工作实现了开发与部署的分离 第七章:EJB技术基础1

12、. EJB体系结构(1) EJB与java Bean 对比 构件模型定义了开发可重用构件的方式EJB与Javabeans都是基于java语言的构件模型开发应用时,可以选择 EJB模型,也可以选择 JavaBeans模型 EJB用于服务端应用开发 JavaBean用于客户端应用开发也可以使用JavaBean进行服务端应用开发,但 JavaBean模型没有提供服务框架,当应 用需要使用系统级服务(如事务管理)时,不适合。 EJB勾件是可部署的EJB勾件可以作为独立的单元被部署到EJBS用服务器上,是应用构件(applicationcomponents)。 JavaBeanS勾件是不可部署的Java

13、BeanS勾件是开发构件,不能被部署为独立的单元。 EJB勾件是部署时可定制的使用部署描述符可以在部署EJB寸对其运行时配置进行定制 JavaBeanS勾件在部署时不能进行定制JavaBeanS勾件的定制仅发生在开发阶段只能利用开发工具创建并组装JavaBeanS勾件,部署时不能定制 EJB勾件是分布式对象可以被客户应用或者其它 EJB勾件进行远程访问 JavaBeanS勾件不是分布式对象JavaBeanS勾件只能在其构成的应用中使用不能提供远程访问能力 EJB勾件对终端用户不可见运行在服务端,没有人机交互界面11部分JavaBeanS勾件对终端用户可见如GUI应用中使用的按钮构件L EJBJ

14、avaBeansEJB用于SavaBeans 于服务端应用开发客户端应用开发EJB构件是可部署的JavaBeans构件是不可部署的EJB支持使用部署描述符JavaBeans中对应用的对EJB应用进行定制化定制化只能在开发阶段EJB构件是分布式对象JavaBeans 构件 不是分布式对象EJB构件对终端用户不可见部分JnmBe日ns构件|对终端用户可见(2) EJB体系结构中的构件(两个接口+ 个类) EJB体系结构由6种构件组成En terprise Bea nHome In terfaceRemote In terfaceEJB ContainerEJB ServerEJB Clie nt

15、En terprise Bea n包含商业逻辑代码的 Java类提供商业方法供调用被部署到EJE应用服务器上可以被组装形成大型的EJE应用 Enterprise bean包含三种类型,第一类为 Session bean0 Session bean存在于客户应用与应用服务器交互的时 间段内 Session bean中的数据不保存在数据库中 Session bman可以是有状态的或无状态的 Stateless Sessionean在方法调用中间不维护任何状态同时可以处理多个客户应用的请求 Stateful Session Bean要跨方法调用保存会话状态同时只处理一个客户应用的请求第二类Enter

16、prise bean是Entity Bean Entity Bean代表数据库中的记录 Entity Bean在数据库中的数据存在期间都会存在 Entity Bean可以被多个客户应用访问第三类Enterprise bean是Message Driven Bean Message Driver Bean用来处理异步消息 Message Driver Bean般不是由客户端调用的当有异步消息发送到某Message Driven Bean,容器会调用 Message Driven Be日ri的回调方法OnMessage EJB体系结构中的另一类构件是 Home In terfaceHome In

17、terface 包含en terprise bea n生命周期管理的相关方法客户程序使用 Home In terface 创建或删除 en terprise bea n 的实例 EJB体系结构中的另一类构件是 Remote In terfaceRemote In terface 包含en terprise bea n 实现的商业方法的定义定义了 enterprise bean 提供的服务客户程序只能通过 remote in terface 访问en terprise bean 实现的商业方法,不能直接 调用。2. EJB设计原则/规则原因、所有的remote接口 应该继承EJBObject&#

18、174; 口该接口定义了所有enterprise bean 必须支持的服务Remote接口中定义的每一个方法都 必须在相应的enterprise bzri类中 有一个对应方法客户应用不能直接访问 商业方法的实现Remote接口中定义的方法 应该遵循h也RMI的规则EJB对象是分布式对象Remote接口中定义的方法 应该抛出RemotEException异常Remote接口中定义的方法的参数 应该是合法的h也RMI类型的参数!/规则原因所有的home接口应该继承EJBHome接口EJBHome中定义了基本的服务Home接耳中定义的每一 create方法 都必须在相应的enterprise b的n

19、类中 有一个对应的j bC rea也方法客户应用不能直接访问3*中rise b电3 n的初始化方法Hom色接口中定义的方法|应该遵循J己帖a RMI的规则分布式Jav己对象Hrnne® 口中定义的方法应该抛岀RerrioteException异常Honw接口中定义的create方法 |应该抛出CreateExceptlon异常Hem©接口中定义的方法的参数 应该是合法的九也RMI类型的参数/规则原因、Enterprise bean类必须实现 EnterpriseBean 接 口该接口定义了所有enterprise bean 必须支持的服务Enterprise bean类 必

20、须定义为publit类允许其它类使用 其中定义的方法Enterprise类必须实现定义在remote接口中的商业方法实现特定的任务Enterprise bean类必须实现 定义在homeg 口中的create方法 对应的ejbCreate法使用客户程序传过来的参数 初始tenterprise bean理解作用,了解对应关系 第八章:EJB勾件开发过程包含两个状态:Method Ready state 和 No stateNo状态表明EBJ容器不存在无状态会话bean实例1. 实例的创建和删除是有容器自动来控制的,并不是由Hom接口中的Create或Removes建或删除。2. 会话bean只能

21、有无参数的create或ebjCreate方法创建,所以别人初始化的EBJ实例也可以 使用从No状态->就绪态:调用 enterprise 类中的 setSessionContext 和 ebjCreate 就绪态->No状态:调用ebjRemove方法(2)为什么会设计为无状态会话构件 平台无关性(3)客户端(对构建生命周期的影响)只要EBJ认为实例池中需要更多的实例为客户端服务,就会创建新的实例,实例从No状态到就绪态。同理,如果不需要更多实例,则根据某种策略删除某些实例,删除的某些实例从就绪态到Nc状态2. 有状态会话构件开发与使用(ZD)(1)生命周期特征(2) 为什么会设

22、计为有状态会话构件(3) 客户端(对构建生命周期的影响)只要有新的客户端请求就会创造新的新的实例,这时新创建的实例从No状态到就绪态如果客户端不需要使用实例或者客户程序超时,容器会删除该实例,因此从就绪态到NO 犬态因为每个客户端需要一个专门的有状态会话bean为其服务,当bean过多时,容器只保存刚被使用或者正在使用的bean,其他移动到持久存储介质上,此时被转移到持久存储介质上就是Passivated 状态当客服端再次使用Passivated状态时恢复到内存,变为就绪态3. 实体构件的开发与使用第九章:EJE高级特性1. 环境条目(1) 动因(2) 效果2. 事务控制(ZD)(1) 事务控

23、制的基本要求事务相关的一系列操作的原子性(2) CM系统级异常程序员在bean的源程序中没有事务边界控制的代码再部署描述符中指定事物属性,有容器控制事务的边界 容器维护的事务是方法级的(3)BMT(事务结束)程序员在bean的源程序中控制事务边界再部署描述符中指定由bea n控制边界3. 安全性控制(1 )安全性控制的两个级别认证和授权(2 )配置的主要内容(定义角色、选择认证方式、配置WE模块授权规则、配置 EJB莫块授权规则、将角色映射到实际安全域)定义角色:Supervisor 禾口 Normaluser选择认证方式:basic :系统弹出对话框,用户输入用户名和密码Clie nt Certificate:电子证书方式Form Basic:程序员用户登录界面配置WE模块授权规则:设置认证方式设置授权方式配置EJB模块授权规则:设置代理身份 设

温馨提示

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

评论

0/150

提交评论