Domanda

Qualcuno può spiegare a livello principiante-intermedio la terminologia di "autobus", "trasporto" e "punto finale" nel contesto di un autobus di servizio aziendale?Sono uno sviluppatore C# con qualche anno di esperienza ormai, ma ho appena iniziato a lavorare con un ESB.

Sembra che il "bus" sia effettivamente una coda alla quale è possibile inviare e ricevere messaggi.A me va bene.Tuttavia sto lavorando su alcuni codici esistenti utilizzando NServiceBus e penso che se groccassi la terminologia "endpoint" e "trasporto" farei un enorme balzo in avanti nella mia comprensione.

È stato utile?

Soluzione

Vorrei cercare di chiarire questi termini a voi:

bus in un contesto di architettura ESB non dovrebbe essere considerata una semplice coda per messaggi di dispacciamento. Per consentire l'integrazione di servizi diversi, ESB offre molto di più. Importanti funzionalità aggiuntive di ESB:

  • Routing. I messaggi possono essere indirizzati a servizi diversi, a seconda del contenuto del messaggio o le specifiche degli endpoint.
  • Trasformazioni Messaggio / mediazioni tra diversi formati
  • conversione di protocollo di trasporto. ESB deve essere in grado di integrarsi perfettamente applicazioni che utilizzano diverse protocolli di trasporto (JMS, HTTP / S, TCP puro, ecc.)
  • valorizzazione del messaggio. I messaggi possono essere arricchiti con dati mancanti prima di ulteriori trasformazioni.
  • Sicurezza
  • Gestione e monitoraggio

Queste functionalites sono forniti dai servizi che operano all'interno di ESB. Servizi si collegano tra loro tramite endpoint - uniformi, "indirizzi" unici. I messaggi inviati tra gli endpoint utilizzano unificato Trasporto (metodo / protocollo che incapsula payload del messaggio). Applicazione che utilizzano in modo nativo il trasporto diversi, hanno bisogno di connettersi a ESB tramite idoneo adattatore - servizio che fornirà la conversione di trasporto necessari. Queste applicazioni modo che utilizzano ESB sono disaccoppiati tra loro e non devono fornire conversioni stessi.

Naturalmente, questi sono solo molto brevi descrizioni dei termini. Ricordate, Enterprise Service Bus è solo catturare termine per specifici tipo di architettura (o concetto), ma non è standardizzato in alcun modo. Così implementazioni specifiche possono essere molto diversi tra loro. Se siete interessati a standardizzata ESB, è possibile dare un'occhiata a JBI (Java Bussiness Integration). Ci sono diverse implementazioni open-source di JBI avalable, tra i quali Apache ServiceMix , Mule , OpenESB . Molto buona introduzione alle tecnologie ESB è presentato in " open source ESB in azione " libro pubblicato da Manning.

Altri suggerimenti

Consiglierei di consultare le risorse relative all'Enterprise Application Integration (EAI), che ruota attorno all'ESB e a vari modelli e modelli utilizzati per integrare le soluzioni.Pensalo è un GoF per le architetture ESB:

http://www.enterpriseintegrationpatterns.com/

E

http://www.enterpriseintegrationpatterns.com/toc.html

Tutti questi modelli darebbero un'idea di ciò che le persone utilizzano gli ESB per ottenere e i modelli sono utili per fornire insidie ​​​​comuni dell'integrazione ESB fai-da-te.Ho imparato moltissimo attraverso quel libro e attraverso le persone che ne traggono ispirazione.

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