它们有许多共同的特征。但是有什么不同呢?
MOM允许异步而SOA不允许,这是唯一的区别吗?
发布于 2012-07-31 07:56:04
SOA,面向服务的体系结构,是一种体系结构,它定义了如何组织不同应用程序之间对业务信息的访问。简而言之,通常,一个应用程序需要对应用程序需要的一段信息(可能是一个订单文件或其他任何东西)做一些事情。另一个应用程序可能能够对该信息进行相应的处理,因此它具有这样的功能。然后,第一个应用程序使用第二个应用程序的服务,第二个应用程序提供服务(无论底层技术是什么,都可以是JMS、HTTP/SOAP、HTTP/REST、EMail、FTP等)。要做到这一点,必须在第一个应用程序和服务之间定义一个契约,该契约清除了消息格式(XSD或类似的)、协议(HTTP/SOAP?JMS?)等。
MOM,面向消息的中间件,另一方面,只是一个软件/中间件平台的家族。它们是实际的实现,而不是像SOA那样的高级概念。它们可用于实现SOA体系结构、事件驱动体系结构或其他体系结构。通常,MOM使用异步消息传递来丰富一组应用程序,其中MOM服务器存储和转发消息。通常,诸如事务、有保证的交付、故障转移、松散耦合和负载平衡之类的东西都内置于MOM实现中。MOM的例子有IBM WebSphere MQ、Apache ActiveMQ、RabbitMQ、JBoss HornetQ等。
发布于 2012-07-25 17:50:07
面向消息的中间件(MOM)是一种技术,而SOA是一种体系结构。尽管很多人在谈论SOA时都会想到web服务,但您也可以使用MOM来实现它(事实上,在许多情况下,这是更好的选择)
https://stackoverflow.com/questions/11643688
复制相似问题