中间件技术软件实践卷参考答案_第1页
中间件技术软件实践卷参考答案_第2页
中间件技术软件实践卷参考答案_第3页
中间件技术软件实践卷参考答案_第4页
中间件技术软件实践卷参考答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

江西财经大学09-10第二学期期末考试试卷试卷代码:18022C讲课课时:48考试用时:110分钟课程名称:中间件技术(软件.实践)适用对象:07级本科试卷命题人张志兵试卷审核人万本庭单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在答题纸对应位置处。答案错选或未选者,该题不得分。每小题2分,共20分。)1、在三层结构分布式系统中,包含了系统关键业务逻辑是(B)。A、用户层 B、中间层 C、数据层 D、表示层2、CORBAIDL文件不应该出现内容是:(A)。A、算法实现 B、常量 C、接口 D、异常说明3、不属于事务处理中间件是(D)。A、Tuxedo B、JTS C、MTS D、JMS4、CORBA对象接口是用(C)定义。A、WSDL B、自然语言 C、OMGIDL D、JavaInterface5、在支持分布式对象访问桩/框架(Stub/Skeleton)结构中,桩/框架关键是依据(B)生成。A、用户端代码 B、构件接口C、服务端代码 D、分布式对象本身6、OMA参考模型中,哪些涵盖了开发一个基于CORBA应用时能够直接使用、不需自己实现功效(B)。A、对象服务领域接口应用程序接口 B、对象服务领域接口公共设施 C、对象服务公共设施应用程序接口 D、领域接口公共设施应用程序接口7、相关微软组件对象模型COM类工厂下列说法正确是(C)。A、类工厂需要在系统注册表中进行注册B、类工厂在实现时没有为它分配一个唯一标识符CLSIDC、类工厂不继承自IUnknown接口D、以上说法都不对8、相关微软组件对象模型COM下列说法不正确是(A)。A、接口指针不是自动化兼容数据类型B、MicrosoftPowerPoint是一个支持IDispatch接口COM组件C、系统COM库经过进程内COM组件一个固定输出函数来创建COM对象D、结构化存放继承自IUnknown接口9、假定一个分布式对象中间件接口支持下列函数,能够用幂等修饰函数是(C)。A、获取服务器目前时间B、获取服务器目前用户数C、获取服务器版本号D、获取服务器上线时间10、下列说法正确是(D)。 A、RPC不能采取UDP作为其底层通信协议B、RMI能够把任意复杂类型作为输入参数传输C、布署RMI应用时,必需把rmiregistry和RMI服务器布署在同一台机器D、RPC服务器开启时向portmap登记自己程序号、过程号、版本号二、填空题(每空2分,共30分。)1、事务含有__原子性_、

一致性

隔离性

持久性

四个特征。2、EJB规范中定义了两种实体bean持久性模型,分别是

自管理持久性

容器管理持久性

。3、EJB必需实现

Home

接口和Remote接口。4、CORBA中支持服务方动态对象调用接口称为

动态框架接口。5、微软COM组件对象模型IDispatch接口定义了一个函数

Invoke

,

该函数能依据一个称为调度ID整数来决定调用哪个函数。6、CORBA事件服务中定义了

事件提供者

事件消费者

事件通道

三种角色,而且定义了

push

pull

两种数据传送模型。三、名词解释(每小题3分,共12分。)1、ORBObjectRequestBroker,是对象请求总线,它能使对象透明地向其她当地或者远程对象发出请求或取得响应。 2、SOAP SimpleObjectAccessProtocol,是Web服务通信协议,用来定义消息XML格式。 3、UDDI UniversalDescriptionDiscoveryandIntegration即统一描述、发觉和集成协议。4、DCOM DistributedComponentObjectModel,分布式组件对象模型四、问答题(每小题6分,共18分。)1、简述远程过程调用开发步骤和过程。答:(1)构建处理问题常规应用程序;(2)选择一组过程形成远程程序,方便将远程程序转移到远程机器中,经过这种方法将程序分解;(3)为远程程序编写RPC界面(xxx.idl),包含远程名字及其编号,还有对其参数申明。选择远程程序号和版本号;(4)运行rpcgen检验该界面,假如正当,便生成四个源代码文件:xxx.h(类型说明文件)、xxx_XDR.c(XDR转换例程)、xxx_clnt.c(用户端stub过程)以及xxx_svr.c(服务守护过程,服务端stub过程),这些文件将在用户和服务器程序中使用;(5)为用户端和服务器端编写stub接口例程;(6)编译并链接用户程序。它由四个关键文件组成:去掉了远程过程程序、用户端stub(rpc生成)、用户端接口stub以及XDR过程(rpc生成)。(7)编译并链接服务器程序。它由四个关键文件组成:远程过程组成程序、服务器stub(rpc生成)、服务器端接口stub以及XDR过程(rpc生成)。(8)在远程机器上开启服务器,接着在本机上开启用户,测试验证结果。2、简述两阶段提交协议原理。答:分布式事务包含到多个结点数据更新,任何一个结点或结点间通信失效都可能造成分布式事务失败。所以,为了确保事务完整性,分布式事务通常采取两阶段提交协议(TwoPhaseCommitmentProtocol,简称2PC)来提交。两阶段提交协议思绪是事务管理器向全部资源管理器发出正式提交请求之前,先问询全部资源管理器是否已准备好提交,仅当全部资源管理器都给出肯定回复时,事务管理器才发出提交请求;假如其中有一个资源管理器给出否定地回复,事务管理器就指示全部资源管理器进行回滚。阶段1(准备阶段)事务管理器问询全部资源管理器是否已准备提交。阶段2(提交阶段)事务管理器检验全部资源管理器回复,只要有一个资源管理器给出否定回复,事务管理器指示全部资源管理器进行回滚。不然,事务管理器指示全部资源管理器进行提交。在两阶段提交中,一个主节点被指派为事务协调者(Coordiantor),其她节点称为事务参与者(Participants)。协调者掌握提交或撤消事务决定权,而其它参与者则各自负责当地数据更新,并向协调者提出撤消或提交子事务意向。通常一个结点对应一个子事务。3、简述微软组件对象模型COM中代码重用技术。 答:在COM组件对象模型中,有两种代码重用技术:包容代码重用技术和聚合代码重用技术。 包容代码重用技术实现特点:(1)外部对象包容内部对象接口(2)外部对象接口与内部对象接口能够不一样(3)包容模型实质是用户-组件关系,在包容代码前后能够插入其她代码,甚至能够有条件地重用聚合代码重用技术实现特点:内部对象接口直接展现在外部对象上,内部对象实现两个IUnknown接口(1)非委托IUnknown接口用于正常处理引用计数和接口查询;(2)委托IUnknown接口按情况处理:(a)当对象被聚合时,调用外部对象IUnknown接口;(b)当对象未被聚合时,调用非委托IUnknown接口五、综合题(共20分。)利用CORBA实现求两个正整数最小公倍数,求最小公倍数函数在服务器端实现,其原型为longLeastCommonMultiple(longm,longn)。写出其IDL文件Lcm.idl(4分)//Lcm.idl#ifndef__LCM_IDL__#define__LCM_IDL__interfaceLcm{longLeastCommonMultiple(inlongm,inlongn)};#endif////__LCM_IDL_假定用omniORBidl到C++转换工将其转换到C++类名为POA_Lcm,写出服务器类MyLcm实现(4分)//MyLcm.cpp#include"Lcm.h"classMyLcm:POA_Lcm{virtualCORBA::LongLeastCommonMultiple(CORBA::Longm,CORBA::Longn);}CORBA::LongMyLcm::LeastCommonMultiple(CORBA::Longm,CORBA::Longn){ CORBA::Longc=m*n,temp;if(m<n){temp=n;n=m;m=temp;}while(m%n){temp=m%n;m=n;n=temp;}returnc/n}在下划线空白处补全服务器程序代码(每空2分,共8分)MyLcm(2)pLcm(3)activate(4)run#include<iostream>usingnamespacestd;#include"Lcm.h"intmain(intargc,char*argv[]){ constchar*options[][2]={ {"endPoint","giop:tcp::3456"}, {"InitRef","NameService=corbaname::localhost"}, {0,0} };CORBA::ORB_varorb=CORBA::ORB_init(argc,argv,"omniORB4",options); if(CORBA::is_nil(orb)){ cerr<<"ORBiniterror!."<<endl; return1; }CORBA::Object_varobj=orb->resolve_initial_references("omniINSPOA");PortableServer::POA_varins_poa=PortableServer::POA::_narrow(obj);MyLcm*pLcm=newMyLcm(); PortableServer::ObjectId_varoid=PortableServer::string_to_ObjectId("MyLcm");ins_poa->activate_object_with_id(oid,pLcm);PortableServer::POAManager_varpman=ins_poa->the_POAManager(); CORBA::String_varsior(orb->object_to_string(pLcm->_this()));cout<<(char*)sior<<endl;pLcm->_remove_ref();pman->activate();orb->run(); return0;}假定服务器和用户端运行在同一机器上,服务器IP地址用127.0.0.1,在下划线空白处补全用户端程序代码(每空2分,共4分)(5)"corbaloc:iiop:127.0.0.1:3456/MyLcm"(6)lcmRef->LeastCommonMultiple#include<iostream>usingnamespacestd;#include"Lcm.h"intmain(intargc,char*argv[]){ constchar*options[][2]={ {"InitRef","NameService=corbaname::localhost"}, {0,0} };CORBA::ORB_varorb=CORBA::ORB_init(argc,argv,"omniORB4",options);if(CORBA::is_nil(orb)){cerr<<"ORBiniterror!."<<endl;return1;}CORBA::Object_var

温馨提示

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

最新文档

评论

0/150

提交评论