SOA gegen ESB
SOA ist eine Reihe von Architekturkonzepten, die für die Entwicklung und Integration von Diensten verwendet werden. Ein Dienst ist ein veröffentlichtes Funktionspaket, das über das Web angeboten wird. ESB ist eine Infrastruktursoftware, die ein Softwarearchitekturkonstrukt zur Bereitstellung grundlegender Dienste für komplexe Architekturen bereitstellt. ESB kann als Plattform verwendet werden, auf der SOA realisiert wird.
Was ist SOA?
SOA (Service-orientierte Architektur) ist eine Reihe von Architekturkonzepten, die für die Entwicklung und Integration von Diensten verwendet werden. SOA befasst sich mit verteiltem Computing, bei dem Verbraucher eine Reihe interoperabler Dienste nutzen. Mehrere Verbraucher können einen einzigen Dienst nutzen und umgekehrt. Daher wird SOA häufig verwendet, um mehrere Anwendungen zu integrieren, die unterschiedliche Plattformen verwenden. Damit SOA ordnungsgemäß funktioniert, sollten Dienste lose mit Betriebssystemen und den Technologien der zugrunde liegenden Anwendungen gekoppelt sein. SOA-Entwickler erstellen Dienste mithilfe von Funktionseinheiten und stellen sie über das Internet zur Verfügung. Webdienste können zur Implementierung der SOA-Architektur verwendet werden. In diesem Fall werden Webdienste zu Funktionseinheiten von SOA, auf die über das Internet zugegriffen werden kann. Webdienste können von jedem genutzt werden, ohne sich Gedanken über die Plattformen oder die Programmiersprachen zu machen, mit denen sie entwickelt wurden. SOA basiert direkt auf dem Prinzip der Dienstorientierung, bei dem es um Dienste mit einer einfachen Schnittstelle geht, auf die Benutzer unabhängig zugreifen können, ohne sich um die tatsächliche Plattformimplementierung des Dienstes kümmern zu müssen.
Was ist ESB?
ESB (Enterprise Service Bus) ist eine Infrastruktursoftware, die ein Softwarearchitekturkonstrukt zur Bereitstellung grundlegender Dienste für komplexe Architekturen bereitstellt. Es gibt jedoch erhebliche Argumente dafür, ob ESB als Architekturstil oder als Softwareprodukt oder sogar als Produktgruppe bezeichnet werden soll. Es bietet die Dienste über eine ereignisgesteuerte und standardbasierte Engine für Messaging (die 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 tatsächlichen Code schreiben zu müssen. ESB wird normalerweise über 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 Kontaktpunkte zu reduzieren. Dies erleichtert die Anpassung an die Änderungen erheblich. ESB kann als Plattform verwendet werden, auf der SOA realisiert wird. Die Konzepte der Transformation / des Routings (flussbezogen) können von ESB auf SOA gebracht 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 zur Implementierung lose gekoppelter dienstbasierter Anwendungen. ESB ist eine Infrastruktur-Software, mit der Entwickler Dienste entwickeln und über Dienste über geeignete APIs 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. ESB bietet Einrichtungen für die Zusammensetzung und Bereitstellung von Diensten, die wiederum die SOA implementieren.