Sono d'accordo con l'altro poster: ESB è un po 'come SOA, una definizione generale che viene utilizzata principalmente come un punto di vendita di marketing che come uno standard rigoroso che è necessario soddisfare.
Da Wikipedia:
I commentatori sono d'accordo sul fatto per definire un Enterprise Service Bus (ESB) come uno stile architettonico, un prodotto software , o un gruppo di prodotti software. Anche se l'uso di un ESB certamente implica adesione a una particolare architettura , il termine “enterprise service bus” quasi sempre denota l'infrastruttura software che consente una tale architettura, e in sostanza, l'ESB è considerato una piattaforma a realizzare un'architettura orientata ai servizi.
Un ESB presenta i concetti relativi al flusso come la trasformazione e il routing su un'architettura orientata ai servizi. Un ESB può anche fornire un'astrazione per gli endpoint.
ESB come termine sembra essere stato coniato da Dave Chappel, che è evangelista tecnico per Sonic Software (ed autore "Enterprise Service Bus" - O'Reilly (era?): Giugno 2004, ISBN 0-596 -00675-6). Ho letto il libro e ho partecipato a un paio di seminari di Chappell, e temo che il libro in sé non sia di grande aiuto nell'aiutarti a decidere se il prodotto X è un ESB "vero".
In generale si dovrebbe cercare qualcosa basato sul messaggio (questo era l'intento originale, apparentemente, anche se alcune altre società, come webMethods, usano il termine per il loro prodotto, che è più orientato ai servizi web).
L'idea è di avere tutti i "servizi" nella propria infrastruttura IT in grado di ricevere e inviare messaggi a vicenda. L'ESB fornisce il routing e ha endpoint di interfaccia in modo che se l'applicazione originale ha funzionato, ad esempio, invocando una pagina JSP tramite post HTTP, si dispone di un piccolo programma che può ricevere un messaggio, utilizzare il suo payload per postarlo tramite HTTP, interpretare il risultato e creare una risposta al messaggio con questi.
In pratica, si immagini che invece di utilizzare i servizi Web per tutto, si utilizzano code di messaggi, si creano stazioni di instradamento e si interfacciano tra code di messaggi e altri sistemi. Questo è un ESB.
Questo è lungo, ma istruttivo: https://plus.google.com/112678702228711889851/posts/eVeouesvaVX
Credo che il riferimento al "NET Service Bus" qui è in realtà il prodotto AppFabric nella piattaforma Azure. Vedere questo link: http://www.microsoft.com/windowsazure/appfabric/ –
@Sixto - E ' "recentemente" essere rinominato in AppFabric Service Bus, prima di essere sempre indicato come NET Service Bus, la maggior parte dei tutorial si riferiscono ancora a quel termine – ntziolis