MOM vs SOA?区别?

时间:2012-07-25 06:11:10

标签: soa mom

他们有许多共同的特点。但有何不同?

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

2 个答案:

答案 0 :(得分: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等。

答案 1 :(得分:8)

面向消息的中间件(MOM)是一种技术,其中SOA是一种架构。尽管很多人在谈论SOA时都会考虑Web服务,但您也可以使用MOM来实现它(实际上在许多情况下这是更好的选择)