根据嵌入式中间件的不同类型和其应用对象的不同,其架构也有所不同,通常嵌入式中间件没有统一的架构,这里仅仅列举两种中间件架构。
1.消息中间件
1.1消息中间件原理架构
消息中间件是消息传输过程中保存消息的一种容器。它将消息从它的源中继到它的目标时充当中间人的作用。在消息中间件中,队列的目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功的传递它为止,当然,消息队列保存消息也是有期限的。图1给出了消息中间件原理架构示意图。
图1 消息中间件原理架构示意图
1.2消息中间件的特点
消息中间件具有两个基本特点:
(1)采用异步处理模式:消息发送者可以发送一个消息而无须等待响应。消息发送者将消息发送到一条虚拟的通道(主题或队列)上,消息接收者则订阅或上监听该通道。
(2)应用程序和应用程序调用关系为松耦合关系:发送者和接收者不必了解对方、只需要确认消息,发送者和接收者不必同时在线。
消息传递服务模型有点对点模型(PTP)和发布-订阅模型(Pub/Sub)之分。
2.分布式对象中间件
2.1分布式对象中间件原理架构
分布式对象中间件是为了解决分步计算和软件复用过程中存在的异构问题而提出的。它的任务是处理分布式对象之间通信,是基于组件的思想,由一组对象来提供系统服务,对象之间能够跨平台通信,这里的基本组件就是对象,它们提供一组服务,对外给出服务接口,对象之间可以相互调用,服务对象之间不存在客户机和服务器的界限。分布式对象中间件使用了分布式技术,它将网络上的所有资源互相连接起来,对外表现为一个统一的整体,对客户是透明的,不必区分本地操作和远程操作;分布式对象中间件使用了面向对象技术,它通过封装,继承及多态提供了良好的代码重用功能。图2给出了分布式对象中间件原理架构示意图。
图2 分布式对象中间件原理架构示意图
2.2分布式对象中间件特点
分布式对象中间件具有三个基本特点:
- 对象组件之间普遍采用软总线技术;
- 具有不依赖于编程语言、软硬件平台和网络协议等特点;
- 对象可以用任何一种软件开发商所支持的语言和平台来实现。