软件构件与中间件基础学习笔记

 

一、什么是软件构件?

软件构件是面向请求的,关注业务逻辑,对分布式应用的通信、互操作、可靠性、兼容性、完整性无感的。中间件技术解决的就是软件构件问题。

二、什么是远程对象(Remote Object)?什么是远程对象调用(Remote Method Invocation)?

远程主机,或者非本进程的对象。与这些对象通信或者请求其执行方法。

三、什么是中间件的通讯透明性(Communication Transparency)?

指借助中间件技术,应用程序不关注也无法得知网络通信的具体方法、协议等细节,只关注与应用相关的信息。

四、什么是中间件的定位透明性(Location Transparency)?

应用程序不关注也无法得知真正提供服务的服务器端程序的位置。如果在用户访问时服务的位置发生改变,不影响用户访问并且用户无法察觉服务的位置发生了改变。

五、中间件中的对象引用(Object Reference)与Java中的对象引用有什么不同?

中间件中的对象引用一般使用一个字符串,例如UUID,来查找一个对象,这个字符串要在整个分布式应用中唯一。一般的java引用则是在一个jvm进程中的,定位对象所使用的内存地址的一个32位或者64位指针。

六、什么是代理对象(Proxy Object)?与远程对象的差别是什么?

代理对象自身并不实现所需要的业务逻辑,而是将请求转发给另一个对象,由该对象处理,并把处理结果返回给请求方。代理对象充当中间人的角色。代理对象可以在本地进程中。

七、什么是打包(Marshalling)?什么是解包(Unmarshalling)?

打包是指将发出请求所需要的信息按照一定的格式方法整合在一起,以便于发出。解包是指将收到的响应信息分解成易于使用的数据。

八、什么是面向对象中间件?什么是面向消息中间件?举例说明。

面向对象中间件使用方法调用、对象调用的形式发起请求,响应也是以对象的形式返回,例如代理对象。面向消息的中间件使用特定的信息格式传递信息,比如字符或者二进制的形式,而不是直接使用对象传递数据。

九、试描述远程过程调用(Remote Procedure Call)的工作机制。

客户端应用程序将调用的信息,包括对象的引用、参数等通过调用服务的的方法交给服务,服务将信息打包以消息的方式传送给远程服务,远程服务将消息解包,使用解包后的消息调用相应的方法,并把返回的结果打包发送返回,本地服务将收到的消息解包返回给应用程序。

十、试说明面向对象中间件的优缺点。

优点包括:面向对象的良好支持,同步操作,定位透明。缺点包括:同步操作、紧耦合、分布式垃圾回收困难、体量大。

 

什么是中间件?

操作系统和分布式应用程序之间的层,用于隐藏分布式应用的复杂性和异构。

常见的中间件体系结构有哪几种?

面向对象的中间件、面向消息的中间件、远程方法调用、基于事件的中间件等。

基于消息的中间件与其它类型的中间件体系结构的差别?

面向消息的中间件使用特定格式的消息封装数据,便于在网络上通信,易于跨语言通信。

XML技术在面向消息的中间件体系结构中的作用是什么?

作为一种消息格式,为通信提供了可靠基础,

posted @ 2020-03-14 11:52  sebastia  阅读(643)  评论(0编辑  收藏  举报