Difference Between Hub, Spoke, and ESB

I know that I already have a good question, but in fact it does not answer what I am looking for.

From what I understand:

1. also used as a central focal point between applications
2.both can use routing / mediation / conversion, etc. Between Services / Applications

But the only difference that I really see is that in the hub and the conversation there are usually many different formats included in the hub (SOAP / REST / XML / JSON ...), while the ESB usually has a standard format (usually just SOAP.)

I also continue to read that the hub and speaker represent the same point of failure compared to the ESB. Is there a physical deployment here? Where does the hub have all possible endpoints, and how does the ESB have endpoints deployed in multiple hubs? So, are ESBs just a few hubs (due to lack of words)?

Can someone help me clean this up?

+4
source share
3 answers

There is no exact answer, since you can talk about the ESB as a specific design pattern or about the discourse on the evolution of software integration tools and SOA.

An ESB as a design pattern means that you manage communications between different services using a bus where clients can easily connect and exit. This is usually done by forcing the use of standard data formats and protocols, while with Hub and Spoke you can use custom connectors and data transformations for each client. This limits the number of problems that may arise when running several integrations, but you can still have one point of failure in the ESB.

ESB as a discourse (or marketing term) is a more complex issue when people argue about what a True ESB is. Some say that you need to have a modular architecture where you can choose which components you are deploying, or you need to be able to distribute the components on different machines to provide scalability and fault tolerance. As a last resort, you will need to deploy even your data converters as distributed services.

+3
source

I don’t know if you mean this when you say is physical deployment the difference here? , but in fact, the main difference between hubs and ESP is that its communication system is in a different Layer.

When we talk about ESP, we return to the software architecture model , where a strict hardware connecting topology acts as a hub.

Respectfully, this hardware topology (set of hubs) implements ESP, but there is a clear line between the layers in the communication layers.

0
source

From here

ESB is a new generation of integration technologies with enterprises that occupy a place where EAI (hub-spoke) does not work.

  • Smarter endpoints : ESB allows you to create architectures that place more emphasis on the point where the application interacts with the outside world. An ESB allows each endpoint to be present as a service using standards such as WSDL, and eliminates the need for a unique interface written for each application. Integration intelligence can be deployed at endpoints (clients and servers). Canonical formats bypass the direct formatting of the payload for the target format. This approach effectively eliminates the significant complexity inherent in EAI products.
  • Distributed architecture . Where EAI is just a hub and conversational approach, ESB is a lightweight distributed architecture. A centralized center makes sense when each interaction between programs is converted to a canonical format. The ESB distributes much more processing logic to endpoints.
  • No integration stacks . Because customers have used EAI products to solve more problems, each added vendor has stacks of proprietary features associated with an EAI product. Over time, these integration stacks are monolithic and require in-depth experience of use. ESBs, by contrast, are a relatively thin layer of software to which other processing levels can be applied using open standards. For example, if an ESB user wants to deploy a specific business process management tool, they can easily integrate with ESB using industry standard interfaces such as BPEL to coordinate business processes.

The immediate short-term advantage of the ESB approach is that it achieves the same overall effect as the EAI (hub-speak) approach, but at a much lower total cost of ownership. These savings are realized not only by reducing the cost of hardware and software, but also by saving labor, which is realized using a distributed and flexible structure.

0
source

Source: https://habr.com/ru/post/894171/


All Articles