Fusibile JBoss - Introduzione a ESB

In questo capitolo inizieremo con gli elementi essenziali di Enterprise Service Bus. Di seguito è riportata una spiegazione dettagliata dell'ESB insieme ai suoi vantaggi, svantaggi e un paio di diagrammi per una più facile comprensione.

Cos'è ESB?

ESB sta per Enterprise Service Bus. ESB nella sua forma più semplice è un middleware che funge da autostrada dell'informazione che aiuta più applicazioni a comunicare.

Nel mondo aziendale, sviluppiamo soluzioni per molte cose. Queste soluzioni possono utilizzare diverse tecnologie e diversi formati di dati. Diventa scomodo utilizzare queste soluzioni insieme a causa della varianza di compatibilità della comunicazione o del formato dei dati in queste tecnologie. Quindi abbiamo bisogno di una tecnologia che lo permettaloosely coupled integration tra queste diverse soluzioni.

ESB mira a semplificare questo problema di integrazione diventando un "HUB" che si trova al centro di tutte le applicazioni e facilita l'instradamento dei messaggi tra di loro. ESB funge da mediatore, agendo come un'autostrada dell'informazione, occupandosi dell'instradamento della trasformazione dei dati, lasciando che il Coder o lo Sviluppatore si concentrino sulla propria logica applicativa.

Capire ESB diventa molto semplice quando capiamo il problema per il quale è stato appositamente progettato e la soluzione diventa facile. Si dovrebbe avere una chiara comprensione di come abilitare molti sistemi disparati, scritti in lingue diverse e in esecuzione su macchine diverse utilizzando diversi formati di dati per condividere le informazioni e formare una piattaforma aziendale integrata.

Il problema dell'integrazione

Nella piattaforma aziendale, è comune che più applicazioni collaborino e forniscano funzionalità aziendali nel suo insieme, ma l'integrazione di queste applicazioni è il problema più ricorrente. Con il tempo diventa persino difficile man mano che le applicazioni crescono.

Ogni applicazione può inserire e produrre dati nel proprio formato. Questo approccio funziona bene se il numero di applicazioni è inferiore, ma con l'aumentare del numero di applicazioni, anche le ruote di integrazione devono essere sfornate con un approccio migliore. Ad esempio, se una particolare applicazione per un'azienda deve essere modificata, il formato dei dati di output o di input per tutte le applicazioni che dipendono dall'applicazione principale ne risente.

Un tale approccio rappresenta il più grande ostacolo per l'integrazione che prevede un'architettura strettamente accoppiata. È qui che entra in gioco ESB. Ogni applicazione non deve comunicare direttamente con un'altra applicazione; invece, tutte le applicazioni comunicano con l'ESB e l'ESB gestisce l'instradamento delle informazioni e la conversione interna del formato dei dati.

Perché ESB?

Di seguito sono riportati alcuni punti che spiegano perché Enterprise Service Bus è essenziale.

  • ESB mira a semplificare il problema dell'integrazione con applicazioni compatibili con varianti.

  • Funge da middleware, che funge da mediatore di tutte le applicazioni e facilita il routing dei messaggi tra di loro.

  • Invece di ogni applicazione che si interfaccia direttamente con ogni altra applicazione, ogni applicazione ora ha solo un'interfaccia per ESB.

  • L'ESB è responsabile della traduzione dei messaggi da / verso un formato comune e del loro instradamento alle loro destinazioni.

  • Il maggiore risparmio in questo approccio è un vantaggio se devi sostituire una qualsiasi delle tue applicazioni esistenti. Invece di scrivere un sacco di nuove interfacce, ora hai solo un'interfaccia di cui preoccuparti (tra la tua applicazione e l'ESB).

SOA ed ESB?

SOA ed ESB sono comunemente usati in modo intercambiabile, ma sono completamente diversi.

SOA è un modello di progettazione che consente all'applicazione di esporre le sue funzionalità come servizio sulla rete tramite protocolli di comunicazione, mentre ESB è un modello che facilita la comunicazione tra sistemi disparati, ma ESB può essere utilizzato come backbone durante l'implementazione SOA.