MOM和SOA有什么不同?

11

它们有很多共同的特点,但是它们之间有什么区别呢?

MOM 允许异步,而 SOA 不允许,这是唯一的区别吗?

2个回答

22

SOA,服务导向架构,是一种定义不同应用程序之间如何结构化访问业务信息的架构。简而言之,通常一个应用程序需要对某个信息(可能是订单文件或其他内容)进行处理,即该应用程序有一个需求。另一个应用程序可能能够处理该信息,因此它具备相应的能力。第一个应用程序然后使用第二个应用程序的服务,后者提供服务(无论底层技术是什么,例如JMS、HTTP/SOAP、HTTP/REST、电子邮件、FTP等)。为使其正常工作,必须定义第一个应用程序和服务之间的合同,以清除诸如消息格式(XSD或类似格式)、协议(HTTP/SOAP?JMS?)等方面的问题。

另一方面,MOM,消息导向中间件,只是一组软件/中间件平台。它们是实际的实现,而不是像SOA这样的高级概念。它们可以用于实现SOA架构、事件驱动架构或其他架构。通常,MOM通过异步消息使一组应用程序变得更加丰富,其中MOM服务器存储和转发消息。通常事务、可靠传递、故障转移、松耦合和负载均衡等功能内置于MOM实现中。 MOM的例子包括IBM WebSphere MQ,Apache ActiveMQRabbitMQ,JBoss HornetQ等。


8

消息导向的中间件(MOM)是一种技术,而SOA是一种架构。虽然很多人在谈论SOA时会想到Web服务,但您也可以使用MOM来实现它(事实上,在许多情况下,这是更好的选择)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接