Schulung: REST APIs

Representational State Transfer ist ein Architekturstil, der auf den Prinzipien des Webs basiert:

  • Adressierbarkeit mit URLs
  • Verlinkung
  • Zustandslosigkeit
um damit einfache und leistungsfähige Schnittstellen für Anwendungen zu schaffen. REST Web Services sind einfach zu erstellen und zu nutzen. Dieser Kurs behandelt neben den Grundlagen fortgeschrittene Aspekte und diskutiert Architekturalternativen.

Einführung in APIs und die REST Architektur für Architekten, Entscheider und Entwickler.

Einführung in REST Web Services

  • Was ist ein API?
  • Die Architektur des Webs
  • SOAP versus REST Web Services
  • ROA im Vergleich mit WOA, SOA und MOA

Der Architekturstil REST

  • Die REST Prinzipien: Client/Server, Adressierbarkeit, Repräsentationen, Schichtenmodell, Statuslosigkeit, Cache & Hypermedia
  • Skalierbarkeit und Ausfallsicherheit
  • Evolution und Versionierung von Schnittstellen mit REST

Das HTTP Protokoll

  • Anatomie einer HTTP Nachricht
  • Wie man HTTP Trafik untersucht
  • Request und Response
  • Die wichtigsten HTTP Header
  • Wann wird GET, POST, PUT und DELETE verwendet und wie unterscheiden sich die HTTP Methoden
  • Parameter kodieren im Query-String
  • Status Codes und ihre Bedeutung
  • Auf Umwegen mit Redirects

Anwendungsentwicklung mit REST

  • Objekte und Services als Resourcen zugänglich machen
  • Verlinken von Resourcen
  • URL Design
  • URI Templates
  • Matrix, Query, Path, Cookie und Header Parameter
  • Sub Resourcen

Beschreiben und Dokumentieren

  • RAML, Swagger oder WADL
  • Erzeugen von Swagger Specifications: aus Quellcode oder von Hand?
  • Dokumentation und generische Clients aus Swagger erzeugen

REST Clients

  • REST Clients als Browser Plugin am Beispiel von Postman

Datenformate

  • JSON oder XML verwenden?
  • Content Negotiation: Wie Client und Server das Format aushandlen
  • Plain old XML POX
  • Übertragung von binären Inhalten wie z.B. PDF oder Bildern

JSON

  • Aufbau und Struktur von JSON Nachrichten
  • JSON Schema

Resource Linking & Hypermedia

  • Wie können oder sollten Ressourcen verlinkt werden?
  • Hypertext Application Language HAL
  • ATOM Linking
  • JSON for Linking Data JSON-LD
  • HAL, JSON-LD oder Siren?

Performance Tuning

  • Recycling von Connections mit HTTP Keep Alive
  • Kompression mit GZIP

Dauer

2 Tage

Zielgruppe

Software Architekten, Projektleiter, Web Entwickler, Anwendungsentwickler

Vorkenntnisse

IT Grundkenntnisse

Ziele

  • Nutzen Sie die Vorteile von REST für Ihre Anwendungsentwicklung

Kursunterlage

Handouts aller im Kurs präsentierten Folien

Raumanforderungen für Onsite Training

  • Schulungsraum
  • VGA Projektor
  • Flipchart oder Whiteboard

* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer