Ein verteiltes System ist im Prinzip der Zusammenschluss mehrerer Rechner zur Lösung einer gemeinsamen Aufgabe. Eines der größten verteilten Systeme ist das Internet mit seinen Applikationen. Teil 3 behandelt das Thema Middleware.
| Skript-Anfang | VS_1_So2014 – Seite 1 |
|---|---|
| Skript-Ende | VS_6_So2014 – Seite 70 |
Middleware
Middleware bezeichnet in der Informatik anwendungsneutrale Programme, die so zwischen Anwendungen vermitteln, dass die Komplexität dieser Applikationen und ihre Infrastruktur verborgen werden
Allgemeines
Was ist Middleware?
- Eine Infrastruktur mit Standard-Lösungen für Standardaufgaben
- Liegt in einer Schicht über dem Betriebssystem und unter den Anwendungen
- Vermittelt zwischen Anwendungen, dass die Komplexität dieser Applikationen und ihre Infrastruktur verborgen werden
Welche Arten von Middleware gibt es?
- Web Services (SOAP/WSDL, REST)
- Message-oriented Middleware (MPI/PVM)
- Object-oriented Middleware (Java RMI, CORBA)
Welche Transparenzeigenschaften erfüllen sie?
- Verteilungstransparenz
- Ortstransparenz
Was unterscheidet Middleware von den bisher betrachteten Netzwerkdiensten (Sockets und RPCs)?
- Nichts
Web Services
Welche Vorteile bieten Web Services im Vergleich zu XML-RPC?
- Größere Freiheit bei Definition von Datenstrukturen und Austausch
- Unterstützung bei der Codeerzeugung
- Veröffentlichung der Definitionen
- Web (mit HTTP als Protokoll) als erprobte, standardisierte Basis
- Dienste können über ein Verzeichnis automatisiert lokalisiert werden
Kann man damit Server-Server Kommunikation realisieren?
- Ja
Aus welchen Komponenten bestehen Web Services?
| Komponente | Beschreibung |
|---|---|
| XML (eXtended Markup Language) | Textformat für den Austausch strukturierter Daten |
| XML Schema | Beschreibung von XML Strukturen |
| SOAP (Simple Object Access Protocol) | Zuständig für Austausch von XML Nachrichten, meist über HTTP |
| WSDL (Web Service Description Language) | XML Beschreibung der Funktionen von Web Services |
| UDDI (Universal Description, Discovery and Integration) | Verzeichnisdienst (ähnlich RMI Registry) |
Wie werden Informationen mit XML ausgetauscht?
- XML Header mit Version und Encoding
- XML Tags für Objekte und Attribute (Schachtelung)
- Tags mit IDs für Objekte zur Identifikation
Wo ist die Definition der Tags?
- In der Schema-Datei
Was ist das XML-Schema?
- Bietet vordefinierte Datentypen und Möglichkeiten zur Definition komplexer Datentypen
- Dateiendung .xsd
- .xml Dateien enthalten Link auf ein (oder mehrere) Schema
- .xml Dateien können dann gemäß des Schemas interpretiert werden
Was ist Simple Object Access Protocol (SOAP)?
- Transportprotokoll für Client-Server-Anwendungen
- Zustandslos (wie HTTP)
- Besteht aus Envelope, Header und Body
- Im Header können Zusatzinformationen definiert werden (Alarm mit Priorität und Ablaufdatum)
- Im Body wird die Spezifikation des Headers aufgegriffen (Nachricht des Alarms)

Was ist die Web Services Description Language (WSDL)?
- Sprache zur Beschreibung von Schnittstellen
- Verwendet zur Veröffentlichung von Web Services
- Vollständig in XML formuliert, eigenes Schema
- Benutzt SOAP für den Nachrichtenaustausch
Welche Ziele verfolgt die WSDL?
- Maschinenlesbarer Zugang zu Diensten
- Weitgehend automatisierte Integration von Diensten in neue Anwendungen
- Integration zur Laufzeit
- Automatische Erstellung von Beschreibungen und Client/Server Software durch Werkzeuge
Wie ist die WSDL aufgebaut?
| Komponente | Beschreibung |
|---|---|
| description | Definiert den Namensraum für alle darunterliegenden Teile |
| types | Definiert Datentypen für den Nachrichtenaustausch (element oder complexType) |
| interface | operation sind die zur Verfügung gestellten Funktionen |
| binding | Definiert wie Funktionsaufruf und Antwort transportiert werden (SOAP mit HTTP GET) |
| service | Bindet den Dienst aus binding an eine IP-Adresse und legt einen Namen fest |
| documentation | Hier steht die Dokumentation |
Was ist Universal Description, Discovery and Integration (UDDI)?
- Verzeichnisdienst für Web Services
- Veröffentlicht WSDL Definitionen von Web Services
- Veröffentlicht Zusatzinformationen zu Inhalten und verantwortliche Organisation
- Publishing API = Veröffentlichen von Web Services
- Inquiry API = Suchen nach Web Services