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
21
votes
3 answers

EMS, ESB and MOM, JMS

What is the relation and differences between the following terms? Enterprise Messaging System (EMS) Enterprise Service Bus (ESB) Message Oriented Middleware (MOM) Java Messaging Service (JMS)
sampath
  • 211
  • 1
  • 2
  • 3
20
votes
10 answers

Is BizTalk an ESB?

I am looking into architectural patterns, Enterprise Services Bus (ESB) precisely. Upon reading this article Enterprise Integration, and with little to no experience I am wondering if BizTalk has is a ESB or is it just a EAI (Hub/Spokes or Bus)? I…
dbones
  • 4,415
  • 3
  • 36
  • 52
18
votes
1 answer

Why ESB is considered bad in microservices architecture

In microservices architecture, autonomous business services should talk directly with each other. The communication may be synchronous (orchestration) or event-based (choreography). An API gateway may aggregate the API's for the client (backends for…
Tuomas Toivonen
  • 21,690
  • 47
  • 129
  • 225
18
votes
5 answers

Wrangling up XMPP

Wikipedia defines XMPP as: ...an open-standard communications protocol for message-oriented middleware based on XML. xmpp.org defines XMPP as: The Extensible Messaging and Presence Protocol (XMPP) is an open XML technology for real-time…
IAmYourFaja
  • 55,468
  • 181
  • 466
  • 756
16
votes
7 answers

Is orchestration an ESB responsibility?

Is an Enterprise Service Bus (a tool that acts as a mediator, a message broker, a service enabler, schema transformation enhancer, transparent location provider, service aggregator, load balancer, monitor, and all that stuff) responsible to…
paulosuzart
  • 1,082
  • 2
  • 13
  • 28
15
votes
3 answers

REST APIs and messaging

I have a system that exposes a REST API with a rich set of CRUD endpoints to manage different resources. The REST API is used also by a front-end application that executes calls by using Ajax. I would like to make some of these calls asynchronous…
13
votes
3 answers

Which .NET based BPM (Business Process Management) software recommended?

I need to recommend an open source business process management BPM software engine to work with. Can anyone suggest such a BPM software to use? Thanks for you time.
Hadi Sharifi
  • 1,497
  • 5
  • 18
  • 28
12
votes
4 answers

PHP and ESB (with Mule) (ESB: Enterprise Service Bus)

Where, when and why did you use ESB in a PHP-project? Where, when and why do you think that it would make sense to use ESB in a PHP-project? Does ESB (and ESB-facilitators like Mule) do provide any capability PHP and native LAMP-technologies are…
Raffael
  • 19,547
  • 15
  • 82
  • 160
12
votes
3 answers

How to implement a custom SamplingService for a custom message processor?log after that an element is retrieved and before the sequence is performed

I am pretty new in WSO2 ESB and I have the implement a custom message processor with this specific behavior: perform an operation after that an element is retrieved from the message store and before the sequence related to this message processor is…
AndreaNobili
  • 40,955
  • 107
  • 324
  • 596
11
votes
2 answers

Is JBI dead ? Is it still a valid criteria in an ESB selection?

JBI standard is (was?) supposed to be the standard for Entreprise Service Bus, especially in terms of facility of reuse/exchange of capabilities of different ESBs (or lonely Service Engine providers) Known JBI implementations are (according to…
snowflake
  • 1,750
  • 2
  • 17
  • 40
11
votes
7 answers

Mule ESB:Context Property Placeholder

I have a question regarding Mule's context property placeholder, I have two files set up like this: Firstly is this a valid…
insaneyogi
  • 231
  • 1
  • 5
  • 21
11
votes
3 answers

Differences between API development platform e.g APIGEE and ESB

Me and my team will be working on APIGEE which is an API development platform to expose some services in our application. I am going through their documentation and also trying to understand the need of APIGEE or any other API development platform…
Tatha
  • 1,253
  • 2
  • 24
  • 42
11
votes
2 answers

Apache Camel: What marches messages along?

On an ESB like Apache Camel, what mechanism is actually "marching" (pulling/pushing) messages along the routes from endpoint to endpoint? Does the Camel RouteBuilder just compose a graph of Endpoints and Routes and know which destination/next…
IAmYourFaja
  • 55,468
  • 181
  • 466
  • 756
10
votes
2 answers

Enterprise Service Bus Terminology

Can anyone explain at a beginner-intermediate level the terminology of "bus", "transport" and "endpoint" in the context of an enterprise service bus? I'm a C# developer with a few years experience now, but only just starting working with an ESB. It…
Neil Barnwell
  • 41,080
  • 29
  • 148
  • 220
10
votes
4 answers

Why are Micro-Services Architectures not based on Enterprise Service Buses?

What reasons are there against (or for) using the features of an Enterprise Service Bus when building an overall service adhering to a micro-service architecture (http://martinfowler.com/articles/microservices.html)? Why should we use dumb pipes and…
mttr
  • 775
  • 6
  • 14