2009-04-20 16 views
10

Kann jemand auf einer Anfänger-Zwischenstufe die Terminologie von "Bus", "Transport" und "Endpunkt" im Zusammenhang mit einer enterprise service bus erklären? Ich bin ein C# -Entwickler mit ein paar Jahren Erfahrung, aber ich habe gerade erst begonnen, mit einem ESB zu arbeiten.Enterprise Service Bus Terminologie

Es scheint, dass der "Bus" effektiv eine Warteschlange ist, an die Sie Nachrichten senden und empfangen können. Ich bin damit zufrieden. Ich arbeite jedoch an einem bestehenden Code mit NServiceBus und ich denke, wenn ich die Terminologie "und" Transport "groked würde ich einen großen Sprung in meinem Verständnis machen.

Antwort

8

Lassen Sie mich versuchen, diese Begriffe zu Ihnen zu klären:

Bus in Zusammenhang mit der ESB-Architektur nicht so einfach Warteschlange für die Nachrichten Disposition berücksichtigt werden soll. Um die Integration verschiedener Dienste zu ermöglichen, bietet ESB viel mehr. Wichtige zusätzliche Funktionen von ESB:

  • Routing. Je nach Nachrichteninhalt oder Endpunktspezifikation können Nachrichten an verschiedene Dienste geroutet werden.
  • Nachrichtentransformationen/Mediationen zwischen verschiedenen Formaten
  • Transportprotokollkonvertierung. ESB sollte in der Lage sein, Anwendungen nahtlos zu integrieren, die verschiedene Transportprotokolle (JMS, HTTP/S, reines TCP usw.) verwenden
  • Nachrichtenerweiterung. Nachrichten können vor der weiteren Verarbeitung mit fehlenden Daten angereichert werden.
  • Sicherheit
  • Verwaltung und Überwachung

Diese functionalites werden von erbrachten Leistungen, die innerhalb ESB arbeiten. Dienste verbinden sich über Endpunkte - einheitliche, eindeutige "Adressen". Nachrichten, die zwischen Endpunkten versandt werden, verwenden den vereinheitlichten Transport (Methode/Protokoll, das Nutzdaten der Nachricht kapselt). Anwendungen, die nativ verschiedene Transportmittel verwenden, müssen über einen geeigneten Adapter eine Verbindung mit ESB herstellen - ein Dienst, der die erforderliche Transportkonvertierung bereitstellt. Auf diese Weise sind Anwendungen, die ESB verwenden, voneinander entkoppelt und müssen keine Konvertierungen selbst bereitstellen.

Natürlich sind dies nur sehr kurze Beschreibungen von Begriffen. Denken Sie daran, Enterprise Service Bus ist nur ein Begriff für eine bestimmte Art von Architektur (oder Konzept), aber es ist in keiner Weise standardisiert. So können spezifische Implementierungen sehr unterschiedlich sein. Wenn Sie an standardisiertem ESB interessiert sind, können Sie sich JBI (Java Bussiness Integration) anschauen. Es gibt mehrere Open-Source-Implementierungen von JBI, darunter Apache ServiceMix, Mule, OpenESB. Sehr gute Einführung in ESB-Technologien wird in "Open Source ESBs in Action" Buch von Manning veröffentlicht.

1

Ich würde empfehlen, Ressourcen im Zusammenhang mit Enterprise Application Integration (EAI) zu betrachten, die sich auf den ESB und verschiedene Modelle und Muster konzentriert, die zur Integration von Lösungen verwendet werden.Denken Sie daran, ist ein GoF für ESB-Architekturen:

http://www.enterpriseintegrationpatterns.com/

und

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

Alle diese Muster würde Ihnen eine Vorstellung davon, was die Menschen nutzen die ESB zu erreichen und die Muster sind nützlich um die üblichen Fallstricke bei der Do-it-yourself-ESB-Integration zu bieten. Ich habe durch dieses Buch und durch Menschen, die davon ausgehen, eine immense Menge gelernt.

Verwandte Themen