Schulung: REST APIs

Representational State Transfer ist ein Architekturstil, der auf den Prinzipien des Webs: Adressierbarkeit, Hypermedia und Zustandslosigkeit basiert. REST ermöglicht einfache und dennoch leistungsfähige Schnittstellen, die ideal für öffentliche APIs sind. Längst ist REST die Schnittstellentechnologie auch für die Kommunikation innerhalb eines Unternehmens.

Dieses Seminar richtet sich an Einsteiger sowie an Entwickler und Analysten mit erster REST Erfahrung. Die Verwendung von REST APIs, die Beschreibung von Schnittstellen mit Swagger und das Testen von APIs wird im Kurs in zahlreichen Übungen vermittelt.

Einführung in REST Web Services

  • Was ist ein API?
  • Der Unterschied zwischen RPC und REST
  • Die Architektur des Webs

Der REST Architekturstil

  • Die REST Prinzipien: Client/Server, Adressierbarkeit, Repräsentationen, Schichtenmodell, Uniform Interface, Statuslosigkeit, Cache & Hypermedia
  • Skalierbarkeit und Ausfallsicherheit

Das HTTP Protokoll

  • Aufbau von HTTP Request- und Response-Nachrichten
  • Wie man HTTP Trafik untersucht
  • Die wichtigsten HTTP Header
  • Status Codes und ihre Bedeutung

Anwendungsentwicklung mit REST

  • Objekte und Services als Ressourcen zugänglich machen
  • Verlinken von Resourcen
  • Kurzer Überblick der Frameworks: Spring MVC, JAX-RS, Node mit Express oder Hapi

API Design

  • Wann wird GET, POST, PUT und PATCH verwendet und wie unterscheiden sich die HTTP Methoden
  • Idempotenz
  • URL Design und URI Templates
  • Matrix, Query, Path, Cookie und Header Parameter
  • Sub Resourcen

API Beschreibung mit Swagger bzw. Open API

  • Editieren von YAML Dateien
  • Contact First API Design mit Swagger
  • Erzeugen von Swagger Specifications: aus Quellcode oder von Hand?
  • Dokumentation und Clients aus Swagger erzeugen

Datenformate

  • JSON oder XML verwenden? Welche Datenformate eignen sich für REST?
  • Content Negotiation: Wie Client und Server das Format aushandeln
  • Übertragung von binären Inhalten wie z.B. PDF oder Bildern

Das JSON Format

  • Aufbau und Struktur von JSON Dokumenten
  • Formatbeschreibung mit JSON Schema
  • JSON Schema Validierung
  • Abfragesprachen für JSON: JSONPath, JSONPointer, ...

Resource Linking & Hypermedia

  • Wie können oder sollten Ressourcen verlinkt werden?
  • Hypertext Application Language HAL
  • Hypermedia REST Clients
  • Was wird in der Praxis verwendet?

API Tests

  • Erzeugung eines API Mock aus Swagger
  • Testen mit dem Postman Werkzeug
  • Lasttests und Testautomation

Qualitätssicherung von REST APIs

  • Der Design Prozess
  • Automatisierte Design Tests

Versionierung und Schnittstellen-Evolution

  • Was kann sich alles an einer REST Schnittstelle ändern?
  • Welche Auswirkung hat eine Änderung auf die Kompatibilität von bestehenden Resourcen und Clients?
  • Wie kann ich meine Schnittstelle schrittweise ändern, ohne den Vertrag zu brechen?

REST Alternativen

  • Was ist alles mit REST möglich bzw. sinnvoll und wo liegen die Grenzen?
  • GraphQL für mobile Clients
  • REST versus RPC

API Werkzeuge

  • REST für die Kommandozeile: curl & httpie
  • Postman und Insomnia
  • Swaggerhub
  • Formatierer für JSON und YAML

Dauer

2 Tage

Zielgruppe

Software Architekten, Projektleiter, Web Entwickler, Anwendungsentwickler

Vorkenntnisse

IT Grundkenntnisse

Ziele

  • Du lernst die Vorteile von REST für die Anwendungsentwicklung zu nutzen
  • Du lernt die Grundlagen des API Designs und der Schnittstellenbeschreibung mit Swagger
  • Du übst den Einsatz von REST Technologien und nützlichen Werkzeugen

Kursunterlage

Handouts aller im Kurs präsentierten Folien

Infos zu Firmenseminaren

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

Überblick

Übungsanteil: 60 %
Schwierigkeitsgrad: leicht


11. - 12.10.18Bonn
15. - 16.11.18Bonn

Teilnahme: 1.170,- €*

Jetzt anmelden

und das sagen die Teilnehmer:

  • Lockere Atmosphäre. Eingehen auf Fragen.
  • Sehr netter, kompetenter Trainer, der hervorragend auf Fragen einging!
  • Sehr guter, einfacher Einstieg in die Materie
  • Gute Praxisbeispiele