Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

MOM vs SOA? the difference?

Tags:

soa

mom

they have many common features. but how the difference?

MOM allow asynchronous while SOA does not, this is the only difference?

like image 918
rmn190 Avatar asked Jul 25 '12 06:07

rmn190


People also ask

What is the main difference between SOA and the microservices architecture?

The main distinction between the two approaches comes down to scope. To put it simply, service-oriented architecture (SOA) has an enterprise scope, while the microservices architecture has an application scope. Many of the core principles of each approach become incompatible when you neglect this difference.

What is MOM in microservices?

Microservices are decoupled by a MOM. This means that the sender and the recipient do not know each other, only the communication channel. Service discovery is therefore not necessary. Sender and recipient find each other via the topic or queue through which they exchange messages.

What is MOM in distributed system?

Message Oriented Middleware or MOM-based middleware, which allows distributed applications to communicate and exchange data by sending and receiving messages.

What is MOM protocol?

Message-oriented middleware (MOM) is software or hardware infrastructure supporting sending and receiving messages between distributed systems.


2 Answers

SOA, Service Oriented Architecture, is an architecture that defines how to structure access to business information between different applications. In a nutshell, usually, one application needs something done with a piece of information (may it be an orderfile or anything else) that application has a need. Another application may be able to do the corresponding processing of that piece of information, hence it has a capability. The first application then Consumes the Service of the second application, which Provides the Service (no matter the underlying technology, which can be anything such as JMS, HTTP/SOAP, HTTP/REST, EMail, FTP, etc.). To make this work, a Contract between the first application and the Service has to be defined which clears such things out as Message Format (XSD or similar), Protocol (HTTP/SOAP? JMS?) etc.

MOM, Message Oriented Middleware, on the other hand is just a family of software/middleware platforms. They are actual implementations, and not a high-level concept like SOA. They can be used to implement a SOA architecture, an Event Driven architecture or other architectures. Usually, MOM enriches a set of applications with asynchronous messaging where a MOM server stores and forwards the messages. Often things such as transactions, guranteed delivery, fail-over, loose coupling and load balancing are built into MOM implementations. Examples of MOM are IBM WebSphere MQ, Apache ActiveMQ, RabbitMQ, JBoss HornetQ, etc.

like image 142
Petter Nordlander Avatar answered Oct 04 '22 14:10

Petter Nordlander


Message oriented middleware (MOM) is a type of technology where as SOA is a type of architecture. Even though a lot of people think about web-service when they talk about SOA, you can use MOM to implement it as well (in fact in many cases that's the better option)

like image 39
Arnon Rotem-Gal-Oz Avatar answered Oct 04 '22 16:10

Arnon Rotem-Gal-Oz