SOA中的MEP和JavaEE中的JMS相似,固然了就应该是相似的,由于都是关于消息方面的。一个是对系统架构当中消息的解决思路,一个是针对Java平台中的消息的具体解决办法(严格说不是具体的,只是提供了接口而已)或者说和上面分析BPM与Jpbm同样,前者是后者的特例,因此后者有的特征前者大部分都有。就像JMS规范中描述的那样消息无非也就是请求与应答,这里有两种基本的模式其实很简单啦。第一种就是请求/应答,第二种是请求不该答(单程)。若是两次单程消息的传递能够相似的成为一次请求/应答模式。可是他们仍是有区别的,单程的消息传递是没有阻塞的,发送了就不须要发送者再去关系消息,而请求/应答是阻塞的,只要接受者没有应答,那么发送者就认为消息没有发送成功可能从新发送或者采起别的措施保证消息的安全到达。请求/应答的优点是面对的处理消息的对象是不变的。哪一种更好没有定论须要根据实际业务去选择。安全
基于上面的两个基础的MEP能够演化出比较复杂的MEP。请求/回调,指的是相似Ajax的一种一步请求的应答模式,发送请求后表面上就不在关心消息可是实际上当应答到来后会采起相应的措施,即“回调”。发布/订阅,值得是相似RSS的模式发布者负责把消息推送给已经订阅的用户,在SOA中接受消息的多是一个服务或者一个将多个服务组合到一块儿的系统。架构
在MEP中还有不少细节,好比对于错误消息的处理,好比各个服务模块和ESB之间须要制定协议,那么对于多层次协议的MEP的延迟处理等等。spa