views:

296

answers:

2

I'm looking into the ESB thing with .net like NServiceBus etc , can someone highlight what kind of real world business problems can be solved (forget the technical edge) ? And is this used to integrate different systems.?

+2  A: 

A very popular reason to use it would be to make use of the publisher subscriber pattern.

An example, one command message is sent to an application layer to process some business logic. Once complete a message is published with any updated data to which several services are listening, say a cluster of caches.

There are benefits of side by side versioning. Newer commands could have different names. It can also help if you are interested in using Command Query Separation.

Another would be implementing cross cutting concerns that listen to specific messages.

All in all it's a very deep subject. However, I would ask what problems you have first? As everything it brings along it own challenges and does certainly not come for free (effort wise I mean not cost).

dove
I'm looking for usecases for this thing , I can go back and say hey if we have a esb we can solve so and so stuff like other people had for example....
abmv
@abmv these might enable you to get round some of your real world problems such as scaling horizontally, real time versioning, separation of services, new auditing features. It's not a golden hammer but very useful in certain situations and the details of those situation would need to be known. I don't believe you can say absolutely use it unless you weight up advantages and cost within your constraints.
dove
+1  A: 

We are using RabbitMQ for message queuing. It is fast and robust producer consumer solution. We use both transient and persistant delivery types. Transient messages are used for soft realtime calculation updates. Persistant for entity status updates - mainly to transfer database updates to other services.

Al Bundy
you mean you propagate your database updates done by your apps to other apps using rabbitMQ.do the other services persist this data for us etc?
abmv
Yes, we propagate DB updates through the persistant queue.
Al Bundy