SOA gegen ESB
SOA ist ein Satz von Architekturkonzepten, die für die Entwicklung und Integration von Services verwendet werden. Ein Dienst ist ein veröffentlichtes Funktionspaket, das über das Web angeboten wird. ESB ist eine Infrastruktursoftware, die ein Software-Architekturkonstrukt für die Bereitstellung grundlegender Services für komplexe Architekturen bereitstellt. ESB kann als Plattform verwendet werden, auf der SOA realisiert wird.
Was ist SOA??
SOA (Service-Oriented Architecture) ist eine Reihe von Architekturkonzepten für die Entwicklung und Integration von Services. SOA befasst sich mit Distributed Computing, bei dem Verbraucher eine Reihe interoperabler Dienste in Anspruch nehmen. Mehrere Verbraucher können einen einzigen Dienst in Anspruch nehmen und umgekehrt. Daher wird SOA häufig verwendet, um mehrere Anwendungen zu integrieren, die unterschiedliche Plattformen verwenden. Damit die SOA ordnungsgemäß funktioniert, sollten Dienste lose mit Betriebssystemen und den Technologien der zugrunde liegenden Anwendungen gekoppelt sein. SOA-Entwickler erstellen Dienste mit Funktionalitätseinheiten und stellen sie über das Internet zur Verfügung. Web-Services können zur Implementierung einer SOA-Architektur verwendet werden. In diesem Fall werden Webservices zu über das Internet zugänglichen Funktionseinheiten von SOA. Webservices können von jedermann genutzt werden, ohne sich um die Plattformen oder die für deren Entwicklung verwendeten Programmiersprachen zu kümmern. SOA basiert direkt auf dem Prinzip der Serviceorientierung, bei der von Services mit einer einfachen Benutzeroberfläche gesprochen wird, auf die Benutzer unabhängig zugreifen können, ohne sich über die tatsächliche Implementierung der Plattform durch den Service Gedanken zu machen.
Was ist ESB??
ESB (Enterprise Service Bus) ist eine Infrastruktursoftware, die ein Software-Architekturkonstrukt für die Bereitstellung grundlegender Dienste für komplexe Architekturen bereitstellt. Es gibt jedoch viele Diskussionen darüber, ob ESB einen Architekturstil oder ein Softwareprodukt oder sogar eine Produktgruppe bezeichnen soll. Es stellt die Dienste über eine ereignisgesteuerte und auf Standards basierende Engine für das Messaging bereit (was eigentlich der Servicebus ist). Zusätzlich zu dieser Messaging-Engine wird eine Abstraktionsebene bereitgestellt, mit der Architekten die vom Bus angebotenen Einrichtungen nutzen können, ohne Code schreiben zu müssen. ESB wird normalerweise durch standardbasierte Middleware-Infrastrukturen implementiert.
Die Verwendung des Begriffs "Bus" in ESB beruht auf der Tatsache, dass ESB eine sehr ähnliche Funktion wie der physische Computerbus bietet, jedoch auf einer viel höheren Abstraktionsebene. Einer der Hauptvorteile eines ESB ist die Möglichkeit, die Anzahl der Kontakte zu reduzieren. Dadurch wird die Anpassung an die Änderungen wesentlich erleichtert. ESB kann als Plattform verwendet werden, auf der SOA realisiert wird. Die Konzepte von Transformation / Routing (flussbezogen) können von ESB in SOA umgesetzt werden. Durch den Nachweis der Abstraktion für Endpunkte (in SOA) fördert ESB außerdem die lose Kopplung zwischen Diensten.
Was ist der Unterschied zwischen SOA und ESB??
Es gibt einige wesentliche Unterschiede zwischen SOA und ESB. SOA ist ein Architekturmodell für die Implementierung von lose gekoppelten dienstbasierten Anwendungen. ESB ist eine Infrastruktursoftware, mit der Entwickler Dienste entwickeln und über geeignete APIs zwischen den Diensten kommunizieren können. ESB kann als Plattform verwendet werden, auf der SOA realisiert wird. ESB ist nur das Medium, durch das die Dienste fließen. Der ESB bietet Einrichtungen für die Zusammensetzung und Bereitstellung von Diensten, die wiederum die SOA implementieren.