REST – Das Ende der Fahnenstange? Ein Blick auf Moderne API-Technologien

 |  Franz Wimmer

Codineers Rosenheim Meetup, März 2023 (Franz Wimmer, Stefan Schmöller & Mario-Leander Reimer) zur Aufzeichnung

REST gibt es mittlerweile seit 23 Jahren. SOAP ist heute ziemlich angestaubt. Gibt es da wirklich nichts besseres?

Doch! gRPC schickt sich an, zusammen mit Protobuf-Serialisierung und HTTP/2 der beste Baustein für effiziente und sichere APIs im Web zu werden.

Aber auch im Zusammenspiel mit der Datenbank lässt sich noch einiges verbessern: Bei klassischen Webservices entscheidet nämlich der Anbieter, welche Daten am Ende über die Leitung gehen – nicht mehr mit GraphQL! Hier kann der Aufrufer bestimmen, welche Daten aus der Datenbank er erhalten möchte.

Bei diesem Meetup haben wir uns diese neuen Technologien gemeinsam mit unseren beiden Referenten Leander und Stefan angesehen.

Vorträge

How to provide a GraphQL API – I want it that way!

Stefan Schmöller

With GraphQL a modern and flexible way of providing APIs for our data is emerging. The clients specify which data they need, the provisioning of data becomes more flexible and dynamic. Over-fetching or under-fetching are history.

But does this mean we have to rewrite all APIs to benefit? How can we retrofit a GraphQL API onto our existing API landscape?
In this talk we explore three different alternatives:

  • The Developer Way: Writing a GraphQL API layer by hand
  • The Cloud-native Way: Using lightweight API gateways such as Gloo or Tyk
  • The Serverless Way: Using Cloud Provider native services

We will look at all three approaches conceptually and justify when and why each makes sense. Additionally, we will show in a live demo how GraphQL APIs can be added to an existing REST API.

REST in Peace. Long live gRPC!

Mario-Leander Reimer

Dieser Vortrag legt seinen Fokus auf moderne und effiziente Inter Process Communication (IPC) für Microservices. Wir beginnen mit einem einfachen REST-API, gebaut mit JAX-RS und Quarkus, um kurz die Vor- und Nachteile dieses Ansatzes zu erörtern. Anschließend erweitern wir das API zunächst um eine effiziente Protocol Buffers Serialisierung, um es anschließend in eine vollwertige High-Performance gRPC-Schnittstelle umzuwandeln. Aber das ist noch nicht alles! Basierend auf der gRPC-Schnittstellen Definition werden wir hieraus wieder ein passendes REST API vollständig generieren: der Kreis hin zu einer nahtlosen Interoperabilität zwischen Microservices schließt sich.

Franz Wimmer
Ein Beitrag von
Franz Wimmer

Franz Wimmer ist Softwareentwickler, #CloudNativeNerd und IT-Security-Enthusiast bei der QAware GmbH. Er hat in Rosenheim Informatik studiert und seine Masterarbeit[...]

Mehr Informationen
Franz