Download als PDFSchulung:
API Design für Architekten

Kurs-IDDauerPreisNächste TermineVeranstal­tungsortDFG
EAPI1 Tag980 EURAuf Anfrage

Preise pro Person zzgl. MwSt., Inhouse Seminare auf Anfrage.

Seminarbeschreibung

Bei fast jedem Softwareentwicklungsprojekt existiert die Notwendigkeit der Kommunikation mit anderen IT-Systemen. Hierzu existiert eine Vielzahl von Remoting-Technologien, die allesamt unterschiedliche Vor- und Nachteile aufweisen. In der Schulung werden die unterschiedlichen Arbeitsweisen der Technologien erklärt, sowie jeweils kurze Beispiele gezeigt, welche die spezifischen Eigenschaften hervorheben.

Sie lernen die wichtigsten Schnittstellentechnologien, sowie Ihre bevorzugten Einsatzszenarien kennen. In mehreren Fallstudien wird aufgezeigt, worauf es bei der Auswahl der richtigen Technologie ankommt und wie sich diese Auswahl auf Versionierung, Einsatzszenarien, Skalierbarkeit, Entwicklungsaufwand und weitere Risiken auswirkt.

Kurs-Inhalt

Grundlagen der Remotekommunikation

  • Remote-Kommunikation über Stub und Skeleton
  • Fallstricke bei der Serialisierung von Datenstrukturen
  • Ansätze zur Versionierung von Schnittstellen
  • Auffinden eines Diensterbringers mit Hilfe eines Verzeichnisdienstes
  • Die frühen Tage der Remote-Kommunikation: Corba und RMI

Schnittstellendefinition mittels Beschreibungssprachen

  • Code first vs. Contract first
  • Generation von sprachspezifischen Client/Server-Abstraktionen
  • Transaktionale vs. non-transaktionale Schnittstellen
  • XML als Datenformat
  • Die Tage der SOA-Architekturen: SOAP-Webservices und WSDL

Ressourcenbasierte HTTP-Schnittstellen

  • Bandbreitenoptimierte Datenübertragung mit JSON als Datenformat
  • Bessere Skalierbarkeit durch Zustandslosigkeit (Stateless)
  • Nutzung von REST-Schnittstellen mit JavaScript-Clients
  • Guidelines für REST-Schnittstellen
  • Standardisierung von REST mit OData

Service- und nachrichtenbasierte Kommunikation

  • Vor- und Nachteile der asynchronen Kommunikation
  • Streaming vs. Request-Response
  • Binärformate zur Datenübertragung am Beispiel Protobuf
  • Die moderne Variante von REST und SOAP: gRPC

Asynchrone Service-zu-Service Kommunikation

  • Strict Consistency vs. Eventual Consistency
  • Idempotenz von Nachrichten
  • Asynchron und dennoch transaktional mit Java Message Service (JMS)
  • Sprachunabhängig mit Advanced Message Queuing Protocol (AMQP)
  • Von der Messagequeue zur Datenbank: Apache Kafka

Asynchroner Nachrichtenversand im Umfeld von IoT-Systemen

  • Quality of Service Level (QoS)
  • Topics vs. Queues
  • Message Queuing Telemetry Transport (MQTT)

GraphQL als API Definition

  • Selektive Auswahl von Daten zur Reduktion des Netzwerkverkehrs
  • GraphQL Schema Definition Language (SDL)
  • Beispiele für GraphQL Queries

Entscheidungskriterien und Fallstudien

  • Entscheidungsmatrix zur Technologieauswahl
  • Fallstudie 1: Web-Shop
  • Fallstudie 2: IoT-Sensor
  • Fallstudie 3: PKW-Konfigurations-Webseite mit komplexem Backend
  • Fallstudie 4: Finanztransaktions-API
  • Fallstudie 5: Social Media Anwendung

Zielgruppe

Als Projektleiter, Entwickler oder Architekt möchten Sie sich über verschiedene Möglichkeiten zum Datenaustausch über Netzwerke informieren. Sie haben bislang noch keine tieferen Erfahrungen mit den verschiedenen Techniken gesammelt und würden gerne einen Überblick gewinnen, um für Ihre Projekte verschiedene Schnittstellentechnologien einsetzen zu können.

Voraussetzung für Seminar-Teilnahme

Java Grundlagen sind hilfreich, aber keine Voraussetzung

Seminar-Dauer

1 Tag, 9:00 bis 17:00 Uhr

Teilnehmerzahl

min. 1, max. 8 Personen

Vorteile einer Seminar-Teilnahme

  • Sie lernen in diesem Seminar innerhalb kürzester Zeit die grundlegenden Funktionsweisen von verschiedenen Schnittstellentechnologien und können diese untereinander abgrenzen.
  • Anhand von Beispielen und Fallbeispielen erhalten sie praxistaugliches Wissen, um für Ihr Projekt eine passende Lösung zu finden.
  • Unsere Kurs-Unterlagen sind immer auf dem aktuellsten Stand

Seminar-Termine

Termine gerne auf Anfrage möglich.

Inhouse-Kurse

Alle unsere Seminare können wir Ihnen auch für eine Durchführung in Ihrem Hause anbieten. Hierbei können die Inhalte aller unserer Seminare beliebig für Ihr individuelles Training zu einem Wunschseminar zusammengestellt werden.

Rabatte, Durchführungsgarantie und AGBs

Wir beraten Sie gern
Infomail
Anja Fassott
+49 621 71839-12
Offene Termine
Dieses Seminar bieten wir aktuell nicht im offenen Seminarprogramm an.
Bei Interesse an einem Inhouse- oder Individualseminar mit diesem Inhalt setzen Sie sich gerne mit uns in Verbindung.

✱  Durch­führungs­garantie

Inhouse Kurse
Alle Seminare sind auch Inhouse möglich.
Einzelschulung
Sie wollen die volle Aufmerksamkeit?!
In unseren Einzelschulungen haben Sie den Trainer ganz für sich alleine.
Zum Geschaeftsbreich Competence Center
Schulung
Interessieren könnten Sie auch unsere Seminare Microservices für Architekten oder REST APIs.

Service

Competence Center

Schulung