SOA vs. Web Services
Web-Services werden zum Erstellen von Anwendungen verwendet, die Nachrichten über SOAP über HTTP senden und empfangen können. Ein Webdienst ist ein veröffentlichtes Funktionspaket, das über das Web angeboten wird. SOA ist ein Satz von Architekturkonzepten, die für die Entwicklung und Integration von Services verwendet werden. Web-Services können zur Implementierung von SOA verwendet werden. Es ist jedoch nur eine Methode zur Realisierung von SOA-basierten Anwendungen.
Was sind Web Services??
Ein Web Service ist eine Kommunikationsmethode über das Netzwerk. Laut W3C ist ein Web-Service ein System, das zur Unterstützung von Machine-to-Machine-Transaktionen über ein Netzwerk dient. Es ist eine Web-API, die in WSDL (Web Service Description Language) beschrieben wird. Web-Services sind normalerweise in sich abgeschlossen und selbstbeschreibend. 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.
Web-Services werden auf verschiedene Weise verwendet, z. B. für RPC (Remote Procedure Calls), SOA (Service-Oriented Architecture) und REST (Representational State Transfer). Es gibt zwei automatisierte Entwurfsmethoden für die Entwicklung von Web-Services. Der Bottom-Up-Ansatz befasst sich mit der Erstellung der Klassen und der Verwendung von WSDL-Generierungswerkzeugen, um diese Klassen als Web-Services zusammenzustellen. Der Top-Down-Ansatz befasst sich mit der Definition der WSDL-Spezifikationen und der Verwendung von Code-Generierungswerkzeugen zum Generieren der entsprechenden Klassen. Webservices haben zwei Hauptanwendungen. Sie können als wiederverwendbare Anwendungskomponenten und / oder zum Verbinden von Webanwendungen verwendet werden, die auf verschiedenen Plattformen ausgeführt werden.
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 dem von Services mit einer einfachen Schnittstelle die Rede ist, auf die Benutzer unabhängig zugreifen können, ohne sich um die tatsächliche Implementierung der Plattform durch den Service zu kümmern.
Was ist der Unterschied zwischen SOA und Web Services??
Es gibt einige wesentliche Unterschiede zwischen Web Services und SOA. Web-Services definieren eine Web-Technologie, mit der Anwendungen erstellt werden können, die Nachrichten über SOPA über HTTP senden und empfangen können. Bei SOA handelt es sich jedoch um ein Architekturmodell für die Implementierung von lose gekoppelten dienstbasierten Anwendungen. Web-Services können zur Implementierung von SOA-Anwendungen verwendet werden. Obwohl der Web-Service-Ansatz für SOA sehr beliebt ist, ist dies nur eine einzige Methode zur Implementierung von SOA. SOA kann mit jeder anderen auf Diensten basierenden Technologie implementiert werden (z. B. CORBA und REST).