Web Services Flashcards
Was sind Web Services?
Ein Web Service ist eine Sammlung an Funktionen die von anderen Programmen genutzt werden können.
Was ist ein RPC
Ein RPC (Remote Procedure Call) ist da um Clients eine einfache Möglichkeit mit Servern zu über Funktions call/return Semantik zu kommunizieren. Das Netzwerk wird Abstrahiert so das es für den Nutzer wie ein normaler Funktionsaufruf aussieht.
Ablauf von RPC
Der Nutzer ruft einfache eine Funktion f(x) auf, welche y zurückgibt
1. RPC Mechanismus erstellt eine Nachricht mit mindestens f und x und sendet sie and den Server
2. Server packt die Nachricht aus und führt f mit Parameter x aus
3. Server sendet y and den Client zurück.
Wie überträgt der Client die Aufrufanfordern (Prozedurname) und die Argumente in den Server über das Netzwerk?
Mit Marschalling:
1. Für jede RPC wird ein (Client) stub procedure generiert und an das (Client) Programm angefügt
2. Ersetze den RPC mit einem Aufruf des stub procedure
3. Das stub procedure marhsals die Agumente und den Prozedurnamen in eine Nachricht
Aus welchen Basisbausteinen besteht ein Web Service?
- UDDI: Universal Description, Discovery and Integration
- WSDL: Web Services Description Language
- SOAP: Simple Object Access Protocol
- XML: Extensible Markup Language
- HTTP: Hyper Text Transfer Protocol
Was ist SOAP
- SOAP definiert Nachrichtenformate, ist aber nicht ein richtiges Protokoll.
- Benutzt HTTP zur eigentlichen Übertragung
- Benutzt XML zur Repräsentation von Daten
- Besteht aus drei Teilen
- Envelope (pflicht) : oberstes Element des XML Dokuments die die Nachricht darstellen
- Header (optional) : Sagt an wie ein Empfänger die Nachricht verarbeiten sollte: Authentifikation, Transaktion, Zahlung, …
- Body (pflicht) : Informationen für den Empfänger
Was ist WSDL?
In der Web Service Description Language steht wie und wo man verschiedene Dienste benutzen kann.
Wie wird WSDL verwendet?
- Client liest WSDL um die Funktionalität des Web Services herauszufinden.
- Client erstellt stub aus dem WSDL file
- Client benutzt SOAP um eine Funktion aus dem WSDL file aufzurufen
Was ist UDDI?
UDDI ist ein Register in dem Dienstleister ihre Dienste anbieten können und Clients können verschieden Dienste suchen. UDDI hat mehrere Teile:
* White pages: Business information
* Yellow pages: Service information
* Green pages: Technical information
Was ist REST?
REST soll eine alternative zu SOAP/WSDL basierten Webservices sein und ist eine Reihe von Einschränkungen für verteilte Systeme.
Wann wird ein System RESTful gennant?
Wenn es alle Einschränkungen von REST erfüllt.
Wie Funktioniert REST?
- REST benutzt normale HTTP methoden
- REST benutzt Resourcen die einen Status, identifier haben
- Resourcen sind z.B. documents, images, services
- Resourcen stellen eine einheitliche Schnittstelle bereit.
- Nach anfrage kann eine Resource eine Repräsentation seines Status an den Client schicken
- Ein Client kann eine vergeschlagene repräsentation einer Resource an den Server senden
- Die interaktion zwischen Client und Server ist Stateless
- Stateless für dazu, das Nachrichten selbstbeschriebend sind
Warum ist Rest Cachable?
- einheitliches Interface
- Stateless
- selbstbeschreibend
Wie sind Statuscodes Aufgebaut?
REST - Beispiel
REST vs SOAP
Was ist maschalling?
Wenn man vor allem komplexe Datentype oder pointer Verschicken möchte müssen diese in ein Fomat überführt werden was beiden systemen bekannt ist. Das überführen der Daten in eine Folge von Bytes wird maschalling gennant.
Was macht die HTTP methode GET
Abfrage einer Ressource
Was macht die HTTP Methode Put
Erstellen oder Ersetzen einer Ressource mit mitgeschickter Repräsentation in der Nachricht
Was macht die HTTP Methode POST
Anhänger/ erweitern von Daten eienr bestehenden Resource oder erstellen einer neuen Ressource die noch nicht definiert ist.
Was macht die HTTP Methode DELETE
Entfernen einer Ressource
Was macht die HTTP Methode HEAD
Identisch zu Get, außer das der Server mit einem Header antwortet.
Welche HTTP Methoden sind nicht idempotent?
POST