Eingesetzte Technologien

Verschiedene der im Rahmen von Webservices verwendeten Technologien wurden bereits beispielhaft namentlich erwähnt. Sie sollen in diesem Abschnitt noch einmal kurz und übersichtlich dargestellt werden. Dies zeigt vor allen Dingen, welche verschiedenen Techniken dabei nebeneinander zum Einsatz kommen und wie sie miteinander verwoben sind. Eine Vielzahl dieser Techniken besteht aus XML-Technologien und damit aus einzelnen Textdateien, die unterschiedliche Aspekte der Implementierung von Webservices berühren. Daneben gibt es eine Vielzahl an ergänzenden Techniken, die sich teilweise auf fertige Softwarekomponenten wie bspw. Server zur Einrichtung von Sicherheitsrichtlinien stützen. Die Abbildung soll die verschiedenen grundlegenden Bereiche illustrieren. Es lassen sich unterschiedliche Varianten von Darstellungen berücksichtigen. Hier wurde ein Haus verwendet, in dem von unten nach oben - also von den Fundamenten bis zum Dach - einzelne Bereiche in einem Zusammenhang zueinander gesetzt wurden.

Technologien bei WebservicesTechnologien bei Webservices

XML

Die Schlüsseltechnologie für die gesamte Webservice-Idee bildet XML. Dies ist in vielen anderen Softwarebereichen ebenfalls so festzustellen, wobei hier das XML-Datenformat gleichermaßen für die Beschreibung, den Nachrichtenaustausch, die Validierung bzw. Strukturierung der Nachrichten sowie in technischer Hinsicht auch für die Einrichtung von Servern, auf denen denkbare Dienste installiert sind, als Konfigurationsanweisungen vorzufinden ist. Während einzelne XML-Formate spezielle Bereiche der Webservice-Idee abdecken und ihr Format strukturieren, meint der Hinweis, XML sei die Schlüsseltechnologie bzw. eine Grundvoraussetzung für Webservices die allgemeine Idee, die hinter dem XML-Format steckt. Damit ist nicht ein spezielles Datenformat gemeint, sondern vielmehr die Art und Weise, wie Informationen und ihre Eigenschaften aufbereitet werden, also das, was vom W3C mit dem Begriff des XML Infoset gemeint ist.

SOAP

Der SOAP-Standard ist ein Beispiel für ein festgelegtes Datenformat in XML für den Nachrichtenaustausch. Es bietet verschiedene Elemente und Attribute, die einen XML-Rahmen für andere, frei zu modellierende XML-Strukturen bilden, die übertragen werden sollen. Es handelt sich dabei um eine erweiterbare Struktur, deren Ausprägungen in Dateiformat über unterschiedliche Kommunikationskanäle wie HTTP, SMTP, FTP, RMI/IIOP oder sonstige proprietäre Protokolle für den Nachrichtentransport ausgetauscht werden können.

Das Akronym löst sich offiziell nicht mehr zu verschiedenen einzelnen Wörtern auf, wobei die Dokumentation zwei unterschiedliche Möglichkeiten anbietet, wie man die verschiedenen Buchstaben verstehen kann und die gleichzeitig auch zwei Grundverständnisweisen von SOAP anbieten. Die eine Auflösung führt zu "Service Oriented Architecture Protocol" und soll die Möglichkeit in den Vordergrund stellen, Dienste aufrufen und damit nutzen zu können. Die zweite mögliche Auflösung führt zu "Simple Object Access Protocol" und soll die SOAP RPC (remote procedure call)-Repräsentation betonen, mit deren Hilfe ein entferntes Objekt aufgerufen werden kann, wobei die serialisierte Parameterliste gerade über die Kapselung in einer SOAP-Datei gelingt.

WSDL (Web Services Description Language)

Für die Beschreibung von Webservices existiert ein weiteres standardisiertes XML-Format, welches solche Angaben wie Operationsnamen, erwartete Parameter bzw. Datenstrukturen beinhaltet sowie weitere Informationen wie z.B. die Adresse, unter welcher der Dienst aufgerufen werden kann, enthält. Diese Datei eignet sich weniger zum selbstständigen Lesen; sie wird auch nicht vom Dienstentwickler tatsächlich von Hand erstellt, sondern über die Plattform, auf der der Dienst installiert ist und abrufbar ist, automatisch generiert. Sie kann in unterschiedlichen Programmiersprachen für die Entwicklung von Zugriffspunkten, Proxy-/Stellvertreter-Objekten und ähnlichen Techniken genutzt werden.

Weitere Techniken

Neben den gerade explizit genannten Techniken lassen sich weitere wesentliche nennen, die allerdings nicht speziell für Webservices erschaffen wurden und die auch in anderen Umgebungen bzw. in anderen Einsatzbereichen genutzt werden können. Diese umfassen sowohl technische Aspekte, zu denen ein Webserver oder ein Application-Server genauso gehören kann wie weitere XML-Formate. Dabei ist insbesondere XML Schema für die Validierung und Modellierung von XML-Nachrichten, die mit Hilfe von SOAP ausgetauscht werden können, zu verstehen. Andere Validierungssprachen wie DTD oder Relax NG können dann bei der reinen XML-Verarbeitung aufseiten des Nachfragers oder des Anbieters zum Einsatz kommen, gehören allerdings nicht direkt in die SOAP-Datei.

In der oben angegebenen Grafik befindet sich noch ein Schornstein. Dieser gehört natürlich sowohl zum Haus wie auch seine Inhalte zur Webservice-Technologie gehören. Sie bieten allerdings quasi aus Implementierungssicht fortgeschrittene Themen, was die Administration und Bereitstellung von Diensten oder die Entdeckung in Form von Verzeichnisdiensten mit ihren eigenen Protokollen anbetrifft. Ohne diese Technologien lassen sich durchaus Webservices konstruieren, doch bieten sie weitere Möglichkeiten für den umfassenden Einsatz in Sofwareapplikationen.