Domanda

Vengo da un background di MoM. Penso di capire concettualmente l'ESB. Tuttavia, non sono troppo sicuro delle differenze pratiche tra i due quando si tratta di fare una scelta architettonica.

Ecco cosa voglio sapere

1) Qualsiasi buon link online che mi può aiutare in questo senso.

2) Qualcuno può dirmi dove ha senso usare l'uno sull'altro.

Qualsiasi aiuto sarebbe utile.

È stato utile?

Soluzione

La messaggistica tende a concentrarsi sullo scambio affidabile di messaggi all'interno di una rete; utilizzare le code come un bilanciamento del carico affidabile e argomenti per implementare la pubblicazione e la sottoscrizione.

Un ESB in genere tende ad aggiungere diverse funzionalità al di là della messaggistica come l'orchestrazione, il routing, la trasformazione e la mediazione.

Consiglio di leggere i Enterprise Integration Patterns che offre una panoramica dei modelli comuni Tenderò ad usare in problemi di integrazione che sono tutti basati sopra un bus di messaggi (sebbene possa essere usato anche con altre tecnologie di rete).

Ad esempio usando open source; Apache ActiveMQ offre uno scambio affidabile di messaggi liberamente accoppiato. Quindi puoi utilizzare Apache Camel per implementare Modelli di integrazione aziendale per routing, trasformazione, orchestrazione intelligenti, lavorare con altre tecnologie e così via.

Altri suggerimenti

Metto le soluzioni MOM e ESB su due piani distinti.

Considero la MAM un elemento fondamentale per le soluzioni ESB. In effetti, le soluzioni ESB raggiungono il proprio accoppiamento libero e le capacità di comunicazione asincrona, semplicemente usando il paradigma offerto dalla specifica implementazione MOM.

Pertanto, le MOM rappresentano soluzioni per la distribuzione di dati / eventi a livello personalizzato di QoS (in base all'implementazione specifica del fornitore), mentre gli ESB rappresentano soluzioni che forniscono funzionalità per realizzare orchestrazioni complesse in uno scenario SOA (dove abbiamo più fornitori che offrono i loro servizi e più consumatori interessati a consumare i servizi offerti dai primi).

Le orchestrazioni complesse implicano la comunicazione tra sistemi legacy, ognuno di questi con la propria rappresentazione del dominio dei dati (regole e servizi su dati specifici) e il proprio paradigma di comunicazione (un consumatore interagisce con l'ESB usando CORBA, un altro usando WS, e così via sopra).

È chiaro che ESB rappresenta una soluzione architettonica più complessa volta a fornire l'astrazione di bus di dati (come i bus elettronici che ognuno ha nel proprio PC), in grado di collegare una pletora dei fornitori di servizi a una pletora di consumatori di servizi non ben specificati, nascondere l'eterogeneità in (i) rappresentazione dei dati e (ii) comunicazione.

Ci scusiamo per il lungo post, ma i concetti sono complessi ed è molto difficile essere efficaci ed efficienti in breve tempo.

Un ESB è in genere un livello che instrada, registra, trasforma ed esegue altre funzioni "tecniche" (ovvero non commerciali) sui messaggi. Potrebbe elaborare i messaggi da un sistema di messaggistica (come qualcosa basato su JMS) o potrebbe funzionare con altri tipi di messaggi (come i servizi Web basati su SOAP). A tale proposito, è più generale di MoM.

Disclaimer: sono un consulente IBM WebSphere, anche se non sto contribuendo qui a titolo ufficiale.

L'ESB con i servizi Web nella sua vera forma fornisce un accoppiamento lento dell'applicazione inviando i dati attraverso uno degli elementi del messaggio.

MOM fornisce non solo un accoppiamento allentato dell'applicazione, ma elabora insieme un accoppiamento allentato.

L'ESB include funzionalità aggiuntive a supporto dell'approccio incentrato sulla governance.

Entrambi possono essere usati indipendentemente o insieme a seconda dello scenario.

IBM e Oracle hanno le certificazioni SOA. Dato che sono i leader nel mercato (Quadrante magico di Gartner), vorrei leggere come definiscono SOA ed ESB (insieme alla metodologia e ai componenti necessari per supportare SOA come governance, registro, ecc.)

EBS è solo un'altra parola d'ordine, come SOA 2.0.

Puoi avere un sistema ESB facilmente implementabile con normali servizi Web con una coda dietro di loro. Puoi avere il routing dei messaggi eo l'orchestrazione con SOA 1.0 (Tibco, BizzTalk), una cosa non si ferma davvero l'altra. Ancora più importante, è la semantica data ai messaggi scambiati nel sistema che svolgono un ruolo importante, in questo caso gli eventi. I messaggi come eventi sono fattori scatenanti di qualcosa che è accaduto nel tuo sistema, quindi il contesto è diverso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top