正确答案: C
题目:在CORBA体系结构中,()属于客户端接口。
解析:在CORBA体系结构中,ORB负责处理底层网络细节,它可以运行在各种不同的底层网络协议上,例如TCP/IP、IPX等。在此基础上,ORB实现了一系列的功能,例如对象定位、编组与解组、初始化服务和接口库等。它为客户端和服务器端提供标准API,使得客户不用考虑底层网络细节,通过对象引用来实现对远程对象的请求调用。IDL(InterfaceDefinitionLanguage,接口定义语言)定义客户机和服务器之间的静态接口,通过它实现了对象接口与对象实现的分离,屏蔽了语言和系统软件带来的异构件。通过标准的IDL编译器,可生成客户机端的IDL存根(Stubs)和服务器端的骨架(Skeletons),这两者就如同客户机端程序和服务器端程序连接ORB的粘着剂,IDL存根提供了访问对象服务的静态接口,而骨架则包含了服务对象的静态接口并负责实现与对象实现中具体方法的连接。IDL存根被称为静态调用接口,由IDL编译器编译目标对象的IDL接口描述文件而自动产生,客户程序与它直接相连。IDL存根的作用相当于本地调用,由存根向ORB透明地提供一个接口,以实现对操作参数的编码和解释。IDL存根把请求从特定的编程语言的表示形式转换为适于传递到目标对象的形式进行通信传输。存根为客户提供了一种机制,使得客户能够不关心ORB的存在,而把请求交给存根,由存根负责对请求参数的封装和发送,以及对返回结果的接收和解封装。静态IDL骨架是静态IDL存根在服务器端的对应,在请求的接收端提供与存根类似的服务。当ORB接收到请求时,由骨架将请求参数解封装,识别客户所请求的服务,(向上)调用服务器中的对象实现,当服务器完成了对请求的处理后,骨架把执行结果封装,并将结果返回给客户程序。由于存根和骨架都是从用户的接口定义编译而来,所以它们都和具体的接口有关,并且,在请求发生前,存根和骨架早已分别被直接连接到客户程序和对象实现中去。为此,通过存根和骨架的调用被统称为静态调用。IDL存根和IDL骨架之间没有必须配对的限制。动态骨架接口(DynamicSkeletonInterface,DSI)允许动态调用对象,对象实现需要实现动态调用例程的接口。DSI允许用户在没有静态骨架信息的条件下来获得对象实现。DSI从进入的消息找出调用的目标对象及相应的方法,并提供运行时的连接机制。POA(PortableObjectAdapter,可携带对象适配器)是一个引导客户端的请求到具体的对象应用的机制。POA提供了标准的API去登记对象应用,或激活对象应用。POA是灵活的CORBA编程模型模块,并且提供了大量的规则配置它的行为。
学习资料的答案和解析: