I read a lot of integration literature that talk about the evolution of integration architecture from Point-to-Point to Hub-Spoke to ESB. But for the life of me I am struggling to understand the difference between Hub-Spoke and ESB. Hub and Spoke is usually depicted as the following -
Hub as one big circle (Hub) with multiple smaller circles around connected to the hub via spokes
But the same can redrawn as you would depict an ESB right?
So I am not sure why ESB and Hub-Spoke architectures are represented differently in pictures even though the idea seems to be the same.
Let's look at a practical example -
A proxy service in my Oracle Service Bus reads a CSV file from a file server, Splits the file into multiple rows, converts each row to XML and finally updates an ERP with this XML, how is this any differently handled in Hub-Spoke?
A Hub-Spoke is typically tagged as a Single Point of Failure. But in my above example if my ESB fails wouldn't the entire process fall apart?
I am looking for practical examples that show how a specific integration is handled differently in Hub-Spoke and ESB but none of the books/documents I read provide specific practical examples.