Unterschied zwischen SOA und Webdiensten

Anonim

SOA vs Web Services

Webdienste werden zum Erstellen von Anwendungen verwendet, die Nachrichten mit SOAP über HTTP senden / empfangen können. Ein Webservice ist ein veröffentlichtes Paket von Funktionen, die über das Internet angeboten werden. SOA ist eine Reihe von Architekturkonzepten, die für die Entwicklung und Integration von Diensten verwendet werden. Webdienste können zur Implementierung von SOA verwendet werden. Es ist jedoch nur eine einzige Methode zur Realisierung von SOA-basierten Anwendungen.

Was sind Web Services?

Ein Web-Service ist eine Art der Kommunikation über das Netzwerk. Gemäß W3C ist ein Web-Service ein System, das für die Unterstützung von Machine-to-Machine-Transaktionen über ein Netzwerk ausgelegt ist. Es ist eine Web-API, die in WSDL (Web Service Description Language) beschrieben wird. Webdienste sind normalerweise eigenständig und beschreiben sich selbst. Webdienste können mithilfe des UDDI-Protokolls (Universal Description, Discovery and Integration) ermittelt werden. Durch den Austausch von SOAP-Nachrichten (Simple Object Access Protocol) in der Regel über HTTP (mit XML) können andere Systeme mit Webdiensten interagieren.

Webdienste werden auf verschiedene Arten verwendet, wie RPC (Remote Procedure Calls), SOA (Serviceorientierte Architektur) und REST (Representational State Transfer). Es gibt zwei automatisierte Entwurfsmethoden für die Entwicklung von Webdiensten. Beim Bottom-Up-Ansatz werden zunächst die Klassen erstellt und anschließend WSDL-Generierungstools verwendet, um diese Klassen als Webdienste zu erstellen. Der Top-Down-Ansatz befasst sich mit der Definition der WSDL-Spezifikationen und der Verwendung von Codegenerierungswerkzeugen, um die entsprechenden Klassen zu generieren. Webservices haben zwei Hauptverwendungen. Sie können als wiederverwendbare Anwendungskomponenten und / oder zum Verbinden von Webanwendungen verwendet werden, die auf verschiedenen Plattformen laufen.

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 verteilter Datenverarbeitung, bei der Konsumenten eine Reihe von interoperablen Diensten konsumieren. Mehrere Konsumenten können einen einzigen Service konsumieren und umgekehrt. Daher wird SOA häufig verwendet, um mehrere Anwendungen zu integrieren, die unterschiedliche Plattformen verwenden. Damit SOA ordnungsgemäß funktioniert, sollten die Dienste lose mit den Betriebssystemen und den Technologien der zugrunde liegenden Anwendungen gekoppelt werden. SOA-Entwickler erstellen Services 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 Webservices zu den Einheiten der Funktionalität von SOA, die über das Internet zugänglich sind. Webdienste können von jedermann benutzt werden, ohne sich um die Plattformen oder die Programmiersprachen zu kümmern, die für deren Entwicklung verwendet werden. SOA basiert direkt auf dem Prinzip der Serviceorientierung, das über Dienste mit einfacher Schnittstelle spricht, auf die Benutzer unabhängig zugreifen können, ohne sich um die tatsächliche Plattformimplementierung des Dienstes zu kümmern.

Was ist der Unterschied zwischen SOA und Web Services?

Es gibt einige wichtige Unterschiede zwischen Webdiensten und SOA. Webdienste definieren eine Webtechnologie, mit der Anwendungen erstellt werden können, die Nachrichten mit SOPA über HTTP senden / empfangen können. SOA ist jedoch ein Architekturmodell für die Implementierung von lose gekoppelten dienstbasierten Anwendungen. Webdienste können zur Implementierung von SOA-Anwendungen verwendet werden. Auch wenn der SOA-Webdienst-Ansatz sehr populär geworden ist, ist dies nur eine einzige Methode zur Implementierung von SOA. SOA kann unter Verwendung jeder anderen dienstbasierten Technologie (zum Beispiel CORBA und REST) ​​implementiert werden.