中间件技术复习提纲_第1页
中间件技术复习提纲_第2页
中间件技术复习提纲_第3页
中间件技术复习提纲_第4页
中间件技术复习提纲_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、复习提纲 考试题型:一、填空题(本大题共 小题,共30空,每空1分,总计30分)二、问答题(本大题共4小题,每小题5 分,总计20分)三、编程题(本大题共1小题,每小题50分,总计50分)1、 开放系统公认的“必具特征”可移植性,可互操作性,可伸缩性,易获得性2、 开放系统技术在信息技术领域已经得到了广泛应用,一个开放系统可以用其“轮廓(ProfiIe)”来勾划,轮廓由七个成分所组成。系统管理,用户界面、安全性、编程服务、互操作服务、通信服务、信息实体3、 CORBA ORB的优点: 静态和动态方法调用、高级语言绑定、位置透明、内置安全和事务处理、与遗留系统共存4、 国外学术界明确地给出了中间

2、件的定义,并画出中间件的定义图。中间件是一种软件,它能使处于应用层中的各应用程序之间实现跨网络协议的协同工作(也就是互操作),这时允许各应用层成分所涉及的“系统结构、操作协议、通信协议、数据库和其他应用服务”各不相同。5、 作为一个中间件,它应该具有两个部分。执行环境(Execution Environment)软件(简称EE软件)、应用开发(Application Development)工具(简称AD工具)6、 中间件对于应用之间的协同工作的真正贡献,并画出中间件的层次结构图。提供了合作对象透明设施和下层设备透明设施7、 传统上认为中间件可以分为三类。事务处理中间件,消息中间件,分布式中间

3、件8、 从应用程序来说,利用中间件可以获得的优点。透明的地同其他应用程序进行交互、与平台提供的网络通信服务无关,具有良好的可靠性和可用性,具有良好的可扩展性9、 RMI体系结构由三层组成。桩(也称为存根)/框架层(stub/skeleton)、远程应用层(Remote Reference)、传输层(Transport)10、 在RMI体系中,一个远程对象客户端的桩要负责处理多项任务:初始化并与远程对象所在的远程虚拟机连接;将参数打包,然后传递到远程虚拟机;等待方法调用的结果;解包返回值和异常;将值返回给调用者。11、 ORB的最重要的特征是,提供了客户与目标对象之间的交互透明性。具体地说,它主

4、要屏蔽了哪些内容?对象位置,对象的执行状态,对象通信机制,数据表示。12、 编写一个基本的DCE应用,应用开发者应当提供三个文件:(界面定义文件)、( 客户程序)、(服务器程序)界面定义文件: 它定义了服务器所提供的远程过程调用的界面(数据结构、过程名、参数)。客户程序:它定义了用户界面,对远程过程的调用及客户方的处理功能。服务器程序: 它提供远程过程调用的实现。13、 作为一个中间件DCE提供着两类服务:基本服务和扩充性服务。基本服务包括哪些?扩充性服务包括哪些?基本服务:线程服务、RPC服务、目录服务、和安全服务 扩充性服务:分布式文件服务、时间服务。14、 DCE对于安全涉及4个方面。认

5、证、安全通信、授权、审计15、在国际标准化组织ISO/IEC和ITU的共同努力下,于1995年发布出了开放式分布处理参考模型RM-ODP,ODP的功能有哪些?管理功能、协作功能、复制功能、仓库功能、安全功能、抵赖功能16、 RM-ODP标准把对ODP系统的说明细化为五个观点。企业观点:关注系统的目标、范围和策略信息观点:关注信息和所执行的信息处理的语义计算观点:将系统功能分解为在界面处相互作用的对象,来达到分布的目的工程观点:关注支持系统中对象间分布式相互作用所需要的机制和功能技术观点:关注改系统所用技术的选择17、 作为交互的前提,计算界面之间的绑定是至关重要的,计算语言定义了三种绑定方式。

6、 操作绑定(支持操作的调用)、流绑定(支持连续媒体)和信号绑定(支持实时事件)18、 COM技术经历了哪5个阶段的演变,每个阶段都代表了COM的一个应用层次和应用领域。DLL、OLE、COM、DCOM、COM+ 19、 在COM技术中,核心概念是哪两个。组件:具有一定逻辑功能的可执行代码。是组成应用程序的构件。借口:对其他软件和组件能使用的公共功能的定义,是组建与外界的交互通道20、 为了保证多个开发商之间的基于CORBA的EJB产品之间的互操作性,规范定义了EJB到CORBA的映射,分为四个部分。 分布映射、命名映射、事物映射、安全性映射21、 DCOM是分布式应用环境中的COM技术, DC

7、OM的整体结构图。22、 COM+技术是Windows DNA框架中的中间层技术,它扩展并增加了哪些企业应用功能?事务服务(使COM对象可以创建、使用和提交事物)、安全服务(提供基于角色的安全检查)、同步服务(对多线程并发访问的协调机制)、消息队列组件(组件的异步通信机制)、事件服务(用于“发行订阅”调用关系的一种通信方式)和集成的管理工具(组件服务浏览器可以完成对COM+对象的管理,完成组建的发型、管理和监测等任务)等。23、 EJB的主要组成部分。EJB组件、容器、服务器、EJB对象(object)和EJB Home24、 EJB中的bean可以分为几种?会话bean(维护会话)、实体be

8、an(处理事务)、消息bean(提供异步消息机制)25、 会话bean可进一步分为两种。无状态(不维护客户端状态)、有状态(维护客户端状态)26、为了开发一个由两个可执行部分(一个是客户机,另一个是服务)所组成的C+ CORBA应用程序。通常需要执行以下几个步骤: (1)确定府用程序的对象,定义它们在IDL中的接口。 (2)将IDL定义编译成c+的存根和框架。 (3)声明和实现能具体化CORBA对象的c+伺服类。 (4)编写一个服务器main程序。 (5)将所创建的在服务器上可以执行的存根和框架,编译和连接成服务器实现文件。 (6)与生成的存根一起编写、编译和连接客户机程序代码。27、通过C+

9、编写一段CORBA小程序(教材第五章的例子)28、通过java编写一个CORBA小例子。1)首先要熟悉idlj 语言,这个是专门进行接口设计的语言,它与java没关系,有自己的语法,具体的规则需要大家自己再网上研究,这里不多说了module HelloApp interface Hello string sayHello(); oneway void shutdown(); ;这里定义了一个简单的interface, 将其保存为hello.idl, 然后再dos命令框里面输入 idlj.exe -fall hello.idl 编译。之后会出现一个叫做HelloApp的目录,corba就是通过这

10、个目录里面的类来进行c-s之间的数据沟通。2)下一步,就是我们的server端:/ A server for the Hello objectimport HelloApp.*;import org.omg.CosNaming.*;import org.omg.CosNaming.NamingContextPackage.*;import org.omg.CORBA.*;import org.omg.PortableServer.*;import org.omg.PortableServer.POA;import java.util.Properties;public class HelloS

11、erver public static void main(String args) try / create and initialize the ORB ORB orb = ORB.init(args, null); / get reference to rootpoa & activate the POAManager POA rootpoa = (POA)orb.resolve_initial_references(RootPOA); rootpoa.the_POAManager().activate(); / create servant and register it with t

12、he ORB HelloImpl helloImpl = new HelloImpl(); helloImpl.setORB(orb); / get object reference from the servant org.omg.CORBA.Object ref = rootpoa.servant_to_reference(helloImpl); / and cast the reference to a CORBA reference Hello href = HelloHelper.narrow(ref); / get the root naming context / NameSer

13、vice invokes the transient name service org.omg.CORBA.Object objRef = orb.resolve_initial_references(NameService); / Use NamingContextExt, which is part of the / Interoperable Naming Service (INS) specification. NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); / bind the Object Refere

14、nce in Naming String name = Hello1; NameComponent path = ncRef.to_name( name ); ncRef.rebind(path, href); System.out.println (HelloServer ready and waiting .); / wait for invocations from clients orb.run(); catch (Exception e) System.err.println(ERROR: + e); e.printStackTrace(System.out); System.out

15、.println(HelloServer Exiting .); /end main / end class将其保存为HelloServer.java.放在刚才的hello.idl的目录。编译这个文件就不多说了。3)还记得在hello中定义的interface吗?我们需要对自己定义的接口中的方法进行实现,因此HelloImp.java/ The servant - object implementation - for the Hello/ example. Note that this is a subclass of HelloPOA, whose/ source file is gene

16、rated from the compilation of/ Hello.idl using j2idl.import HelloApp.*;import org.omg.CosNaming.*;import org.omg.CosNaming.NamingContextPackage.*;import org.omg.CORBA.*;import org.omg.PortableServer.*;import org.omg.PortableServer.POA;import java.util.Properties;class HelloImpl extends HelloPOA /必须继

17、承这个类,在helloApp目录中已自动生成 private ORB orb; public void setORB(ORB orb_val) orb = orb_val; / implement sayHello() method public String sayHello() return nHello world !n; / implement shutdown() method public void shutdown() orb.shutdown(false); /end class同样放在server所在目录中。4)接下来是客户端(HelloClient.java):/ A sa

18、mple Java IDL object client application.import HelloApp.*;import org.omg.CosNaming.*;import org.omg.CosNaming.NamingContextPackage.*;import org.omg.CORBA.*;public class HelloClient static Hello helloImpl; String x=new String6; public static void main(String args) try / create and initialize the ORB

19、ORB orb = ORB.init(args, null); System.out.println(ORB initialisedn); / get the root naming context org.omg.CORBA.Object objRef = orb.resolve_initial_references(NameService); / Use NamingContextExt instead of NamingContext, / part of the Interoperable naming Service. NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); / resolve the Object Reference

温馨提示

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

评论

0/150

提交评论