Questions tagged [esb]

An enterprise service bus (ESB) is a software architecture construct which provides fundamental services for complex architectures via an event-driven and standards-based messaging engine (the bus). Developers typically implement an ESB using technologies found in a category of middleware infrastructure products, usually based on recognized standards.

An enterprise service bus (ESB) is software infrastructure that enables service-oriented architecture (SOA) by acting as an intermediary layer of middleware through which a set of reusable business services are made widely available.

An ESB is a message oriented middleware (MOM) plus additional services, one of which could be a Message Broker. So an ESB can include a Message Broker as one of it's components. A Bus consists of more than one processes, otherwise I wouldn't call it a 'bus'. The nature of a bus is that there are multiple components serving different tasks, each one communicating over a MOM and adhering to some form of 'common data format'. A bus would consist of: applications sending data to the MOM, database adapters, Message Brokers, MOM bridges, etc.

The Enterprise Service Bus provides one of the keys to helping you achieve the goals of a service oriented architecture. It provides a flexible connectivity infrastructure for integrating applications and services, enabling composite applications to be built as a loose coupling of independent services. It is at the heart of your service oriented architecture, reducing the number, size, and complexity of interfaces and connections that must be defined and maintained.

There are four primary functions provided by an enterprise service bus:

  • Its first responsibility is the ROUTING of messages. Rather than the service requestor calling directly to the service provider, the requestor sends the request to the ESB, and the ESB then is responsible for making the call on the service provider.
  • Secondly, it is responsible for CONVERTING transport protocols. If the service requestor called directly to the service provider, they would need to use the same transport protocol. The ESB enables the service requestor to use one transport protocol while the service provider uses another.
  • Thirdly, it is responsible for TRANSFORMING message formats. By eliminating the direct call from the service requestor to the service provider the ESB is capable of modifying the message so that the interfaces used by the requestor and provider do not have to be identical.
  • Lastly, the ESB is capable of HANDLING business events from disparate sources. Therefore, the same service provider responsible for performing some particular business function can be indirectly invoked from a variety of application contexts.

Resources:

Some ESB tags in StackOverFlow :

1984 questions
141
votes
7 answers

Difference between a Message Broker and an ESB

I have gone through different questions/articles on Message Brokers and ESBs(Even on stackoverflow). Still not a clue as what is the CLEAR demarcating difference between an Message Broker and an ESB? Now here I am trying to compare products,…
Franklin
  • 1,790
  • 2
  • 14
  • 17
104
votes
5 answers

NServiceBus vs MassTransit

I'm struggling with a pros and cons list regarding NServiceBus and MassTransit. Now I know there is already a thread in here, but it doesn't really answer my questions. Here is what I've read so far: NServiceBus, yes it's licensed and it doesn't…
Jack Andersen
  • 1,059
  • 2
  • 8
  • 8
90
votes
7 answers

What is an ESB and what is it good for?

At a previous job, there was lots of talk about "Enterprise Service Bus" (ESB). I read parts of a conceptual book about it, but never really understood how you would implement/integrate it in concrete terms. I'm familiar with…
Andy White
  • 86,444
  • 48
  • 176
  • 211
82
votes
7 answers

Apache Camel and other ESB products

Hey, If we have Apache Camel why to use other solutions like Apache ServiceMix and Mule? Is there something Apache Camel can't do comparing to these products? When to use Mule/ServiceMix and when to use Camel?
Chiron
  • 20,081
  • 17
  • 81
  • 133
52
votes
3 answers

Using RabbitMQ is there a way to look at the queue contents without a dequeue operation?

As a way to learn RabbitMQ and python I'm working on a project that allows me to distribute h264 encodes between a number of computers. The basics are done, I have a daemon that runs on Linux or Mac that attaches to queue, accepts jobs and encodes…
Dustin
  • 694
  • 1
  • 5
  • 10
52
votes
3 answers

RabbitMQ/AMQP - Best Practice Queue/Topic Design in a MicroService Architecture

We are thinking of introducing a AMQP based approach for our microservice infrastructure (choreography). We do have several services, let's say the customer-service, user-service, article-service etc. We are planning to introduce RabbitMQ as our…
Fritz
  • 872
  • 1
  • 8
  • 17
49
votes
4 answers

How does RabbitMQ compare to Mule

How does RabbitMQ compare to Mule, I am going to build an application using message oriented architecture and AMQP (RabbitMQ) provides everything i want, but i am perplexed with so many related technology choice and similar concepts like ESB. I am…
Mani
  • 603
  • 1
  • 5
  • 6
40
votes
8 answers

What is the difference between API Gateway and ESB?

ESB is traditional middleware used in SOA solutions for routing, message transformation, protocol bridging, among other things. A new category of middleware solutions called API Gateway are now offered by several vendors. These solutions are…
Paulo Merson
  • 13,270
  • 8
  • 79
  • 72
33
votes
6 answers

Can someone explain an Enterprise Service Bus to me in non-buzzspeak?

Some of our partners are telling us that our software needs to interact with an Enterprise Service Bus. After researching this a bit, my instinct is to say that this is just buzz speak for saying that we need to have a platform-indpendent way to…
Jason Baker
  • 192,085
  • 135
  • 376
  • 510
31
votes
6 answers

Message Oriented Middleware (MoM) Vs. Enterprise Service Bus (ESB)

I come from a background of MoM. I think I understand ESB conceptually. However, I'm not too sure about the practical differences between the two when it comes to making a choice architecturally. Here is what I want to know 1) Any good links online…
a-sak
  • 1,320
  • 6
  • 21
  • 33
31
votes
11 answers

Benefits of an enterprise service bus

Where can I find some information on the uses and benefits of an enterprise service bus (ESB)? I am looking for information about: the kinds of problems and ESB helps to solve the alternatives to an ESB - and the tradeoffs in selecting between…
LBushkin
  • 129,300
  • 32
  • 216
  • 265
28
votes
8 answers

JMS and ESB - how they are related?

For me JMS and ESB seem to be very related things and I'm trying to understand how exactly they are related. I've seen a sentence that JMS can be used as a transport for ESB - then what else except the transport should be present in such an ESB? Is…
afrish
  • 3,167
  • 4
  • 30
  • 38
27
votes
2 answers

Enterprise Service Bus, .NET Service Bus, NServiceBus and the wheels on the bus

Enterprise Service Bus (ESB), .NET Service Bus (Windows Azure AppFabric Service Bus), NServiceBus, RhinoServiceBus, MassTransit and so on. I'm trying to understand what each of these technologies have in common or not in common. I attended Juval…
Chris Marisic
  • 32,487
  • 24
  • 164
  • 258
27
votes
5 answers

Is Integrating an ESB (ServiceMix/Mule) Worth the Learning Curve?

I'm looking at integrating an ESB into an existing Java/Maven web based product. Specifically, I'm looking at ServiceMix and Mule. The product will connect to several different services, including email, Quartz, RESTful webservices over HTTP, SMS…
Tim
  • 6,851
  • 11
  • 42
  • 46
25
votes
5 answers

Difference between SOA and ESB

I am confused in these web service terminologies SOA, ESB. Anybody please explain.
Gagan
  • 345
  • 1
  • 3
  • 9
1
2 3
99 100