它们具有许多共同的特征。但是有什么区别呢?
MOM允许异步,而SOA不允许,这是唯一的区别吗?
最佳答案
SOA,面向服务的体系结构,是一种定义如何在不同应用程序之间构造对业务信息的访问的体系结构。简而言之,通常,一个应用程序需要使用该应用程序需要的一些信息(可能是订单文件或其他任何信息)来完成某些工作。另一个应用程序可能能够对该条信息进行相应的处理,因此它具有功能。然后,第一个应用程序使用第二个应用程序的服务,第二个应用程序提供服务(无论底层技术是什么,例如JMS,HTTP/SOAP,HTTP/REST,电子邮件,FTP等)。为了使这项工作有效,必须在第一个应用程序和服务之间定义一个契约(Contract),以清除诸如消息格式(XSD或类似格式),协议(protocol)(HTTP/SOAP?JMS?)等内容。
另一方面,MOM(面向消息的中间件)只是一系列软件/中间件平台。它们是实际的实现,而不是像SOA这样的高级概念。它们可用于实现SOA体系结构,事件驱动的体系结构或其他体系结构。通常,MOM通过异步消息传递来丰富一组应用程序,MOM服务器在该应用程序中存储和转发消息。通常,诸如事务,保证交付,故障转移,松散耦合和负载平衡之类的内容都内置在MOM实现中。 MOM的示例是IBM WebSphere MQ,Apache ActiveMQ,RabbitMQ,JBoss HornetQ等。
关于soa - MOM vs SOA?区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11643688/