Web Services - Architektur
Es gibt zwei Möglichkeiten, die Webdienstarchitektur anzuzeigen:
- Die erste besteht darin, die einzelnen Rollen der einzelnen Webdienstakteure zu untersuchen.
- Die zweite besteht darin, den aufkommenden Webdienstprotokollstapel zu untersuchen.
Webdienstrollen
Innerhalb der Webdienstarchitektur gibt es drei Hauptrollen:
Dienstleister
Dies ist der Anbieter des Webdienstes. Der Dienstanbieter implementiert den Dienst und stellt ihn im Internet zur Verfügung.
Serviceanforderer
Dies ist jeder Verbraucher des Webdienstes. Der Anforderer verwendet einen vorhandenen Webdienst, indem er eine Netzwerkverbindung öffnet und eine XML-Anforderung sendet.
Serviceregistrierung
Dies ist ein logisch zentralisiertes Verzeichnis von Diensten. Die Registrierung bietet einen zentralen Ort, an dem Entwickler neue Dienste veröffentlichen oder vorhandene finden können. Es dient daher als zentrale Clearingstelle für Unternehmen und deren Dienstleistungen.
Web Service Protocol Stack
Eine zweite Option zum Anzeigen der Webdienstarchitektur besteht darin, den aufkommenden Webdienstprotokollstapel zu untersuchen. Der Stapel befindet sich noch in der Entwicklung, hat jedoch derzeit vier Hauptschichten.
Servicetransport
Diese Schicht ist für den Transport von Nachrichten zwischen Anwendungen verantwortlich. Derzeit umfasst diese Schicht das HTTP (Hyper Text Transport Protocol), das SMTP (Simple Mail Transfer Protocol), das FTP (File Transfer Protocol) und neuere Protokolle wie BEEP (Blocks Extensible Exchange Protocol).
XML-Messaging
Diese Schicht ist für die Codierung von Nachrichten in einem gemeinsamen XML-Format verantwortlich, sodass Nachrichten an beiden Enden verstanden werden können. Derzeit enthält diese Schicht XML-RPC und SOAP.
Leistungsbeschreibung
Diese Schicht ist für die Beschreibung der öffentlichen Schnittstelle zu einem bestimmten Webdienst verantwortlich. Derzeit wird die Dienstbeschreibung über die WSDL (Web Service Description Language) verarbeitet.
Serviceerkennung
Diese Schicht ist für die Zentralisierung von Diensten in einer gemeinsamen Registrierung und die Bereitstellung einfacher Veröffentlichungs- / Suchfunktionen verantwortlich. Derzeit erfolgt die Serviceerkennung über die universelle Beschreibung, Erkennung und Integration (UDDI).
Während sich Webdienste weiterentwickeln, können zusätzliche Schichten hinzugefügt werden und jeder Schicht können zusätzliche Technologien hinzugefügt werden.
Im nächsten Kapitel werden die Komponenten von Webdiensten erläutert.
Einige Worte zum Servicetransport
Das Ende des Webdienstprotokollstapels ist der Diensttransport. Diese Schicht ist für den tatsächlichen Transport von XML-Nachrichten zwischen zwei Computern verantwortlich.
Hyper Text Transfer Protocol (HTTP)
Derzeit ist HTTP die beliebteste Option für den Servicetransport. HTTP ist einfach, stabil und weit verbreitet. Darüber hinaus erlauben die meisten Firewalls HTTP-Verkehr. Dadurch können sich XMLRPC- oder SOAP-Nachrichten als HTTP-Nachrichten tarnen. Dies ist gut, wenn Sie Remoteanwendungen integrieren möchten, wirft jedoch eine Reihe von Sicherheitsbedenken auf. Es gibt eine Reihe von Sicherheitsbedenken.
Blockiert das BEEP (Extensible Exchange Protocol)
Dies ist eine vielversprechende Alternative zu HTTP. BEEP ist ein neues Framework der Internet Engineering Task Force (IETF) zum Erstellen neuer Protokolle. BEEP ist direkt auf TCP geschichtet und enthält eine Reihe integrierter Funktionen, darunter ein anfängliches Handshake-Protokoll, Authentifizierung, Sicherheit und Fehlerbehandlung. Mit BEEP können neue Protokolle für eine Vielzahl von Anwendungen erstellt werden, darunter Instant Messaging, Dateiübertragung, Content-Syndication und Netzwerkverwaltung.
SOAP ist nicht an ein bestimmtes Transportprotokoll gebunden. Tatsächlich können Sie SOAP über HTTP, SMTP oder FTP verwenden. Eine vielversprechende Idee ist daher die Verwendung von SOAP over BEEP.