SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Downloaden Sie, um offline zu lesen
you BUILD it
OPEN THANX
you RUN it
you IMRPOVE it API-Design,
Microarchitecture & Testing
Arne Limburg | @ArneLimburg
Software als SERVICE
Software als SERVICE
you BUILD it
API First um von vornherein
die Sicht des API-Konsumenten einzunehmen
Consumer Interaction durch kontinuierlichen
Austausch mit den API-Konsumenten
Rapid Delivery durch eine
klare und einfache Architektur
Continuous Evolution durch Vertrauen
In die eigene Test-Suite und hohe Testabdec
Software als SERVICE
API FIRST
Master Keyfact Subthema EINS, welches
ganz toll ist.
Master Keyfact Subthema ZWEI, welches
auch ganz toll ist.
API Experience ist die UX der Entwickler
... am Beispiel
Consumer-Centric
API Design
Know the goal of your API
#WISSENTEILEN
„It‘s all about the Money“
Expedia generiert $2 Milliarden jährlich
durch seine Affiliate Networks APIs.
$7 Milliarden der eBay Transaktionen
werden via APIs realisiert.
#WISSENTEILEN
Mobile Initiativen
$139 Milliarden Prognose des Umsatzes
mit Mobile Apps in 2021
Zusatzbenefit: Mobile User stellen freiwillig
persönliche Daten via Apps zur Verfügung!
#WISSENTEILEN
B2B / Partner Connectivity
Bereits 2020 wird 40 % des Umsatzes
der IT Industrie und 98 % des Wachstums
durch Dritte getrieben werden.
(Quelle: Annahme der International Data Cooperation [IDC])
#WISSENTEILEN
Interner Datenzugriff
Verbesserte Kollaboration und Kommunikation
kann die Produktivität
um 20 - 25 % erhöhen
(Quelle: McKinsey)
Know your Audience
#WISSENTEILEN
API
Service
Frontend
Mobile
Frontend
B2B
Client
Same Company
Public Client
Software als SERVICE
Master Keyfact Subthema EINS, welches
ganz toll ist.
Master Keyfact Subthema ZWEI, welches
auch ganz toll ist.
In einem service-orientieren System
muss jederzeit automatisiert sichergestellt sei
dass unterschiedliche Versionen
zusammenpassen.
... am Beispiel
Consumer-Driven
Contracts
CONSUMER INTERACTION
WELCHE CLIENTS NUTZEN MICH?
#WISSENTEILEN
API (PROVIDER CONTRACT)
#WISSENTEILEN
CONSUMER CONTRACT
#WISSENTEILEN
CONSUMER CONTRACT – YAGNI
#WISSENTEILEN
CONSUMER-DRIVEN CONTRACT TEST
Consumer
Contract
Consumer Provider
Consumer
Tests
Provider
Tests
#WISSENTEILEN
PIPELINE TO DEPLOY TO STAGE
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
#WISSENTEILEN
BREAKING CHANGE VOM PROVIDER
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
#WISSENTEILEN
BREAKING CHANGE VOM PROVIDER
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
#WISSENTEILEN
Achtung:
Abwärtskompatibilität ist
trotzdem notwendig!
BREAKING CHANGE VOM CONSUMER
Execute
Own
Provider
Tests
Generate
Consumer
Contract
Execute
Depending
Provider
Tests
Deploy
to
Stage
#WISSENTEILEN
Tolerant Reader Pattern
Tolerant gegenüber unbekannten Feldern
Umgang mit x-extensible-enum
http://zalando.github.io/restful-api-guidelines
Tolerant Reader Pattern
Tolerant gegenüber unbekannten Feldern
Umgang mit x-extensible-enum
http://zalando.github.io/restful-api-guidelines
Tolerant gegenüber unbekannten Statuscodes
HTTP Status 301 folgen
OK, so soll sich
der Client verhalten.
Aber was ist mit dem Server?
Photo by Irene Fertik, USC News Service. Copyright 1994, USC.
„Be conservative in what you do,
Be liberal in what you accept from
others“
RFC 793, Robustness Principal (John Postel)
Es darf nichts entfernt werden
Keine Veränderung von Verarbeitungsregel
Optionales darf nie Required werden
http://zalando.github.io/restful-api-guidelines
Alles was hinzugefügt wird, muss optional sein
Software als SERVICE
Master Keyfact Subthema EINS, welches
ganz toll ist.
Master Keyfact Subthema ZWEI, welches
auch ganz toll ist.
Die Microarchitektur muss genau so viel
Struktur bieten, dass Services schnell entwick
aber dennoch langfristig gut gewartet werd
können.
... am Beispiel
LEAN ARCHITECTURE
RAPID
DELIVERY
KLASSISCHE ARCHITEKTUR
#WISSENTEILEN
Infrastructure
Domain
API
OFFENE ARCHITEKTUR
#WISSENTEILEN
Infrastructure
Domain
API
BIDIREKTIONALE ZUGRIFFE
#WISSENTEILEN
Infrastructure
Domain
API
REST-
Client
Client-
Interface
HEXAGONALE ARCHITEKTUR
#WISSENTEILEN
Domain
Application
BIDIREKTIONALE ZUGRIFFE
#WISSENTEILEN
Infrastructure
Domain
API
REST-
Client
Client-
Interface
BIDIREKTIONALE ZUGRIFFE
#WISSENTEILEN
Infrastructure
Domain
API
REST-
Client
Client-
Interface
Software als SERVICE
Master Keyfact Subthema EINS, welches
ganz toll ist.
Master Keyfact Subthema ZWEI, welches
auch ganz toll ist.
Hohe Testabdeckung, sinnvolle Tests und
Vertrauen in die eigene Test-Suite bilden
die Basis für Contiunous and Fast Delivery.
... am Beispiel
TESTING
CONTINUOUS
EVOLUTION
TEST-PYRAMIDE
Integration-
Tests
Unit-Tests
Inte-
grated
Tests
#WISSENTEILEN
Live
Coding
#WISSENTEILEN
TEST-DRIVEN DEVELOPMENT
Code
Refactor
Test
#WISSENTEILEN
TDD, MOCKS UND REFACTORING
Code
Refactor
Test
CLASSICAL VS. LONDON
SCHOOL
#WISSENTEILEN
CLASSICAL VS. LONDON
SCHOOL
#WISSENTEILEN
CLASSICAL VS. LONDON
SCHOOL
#WISSENTEILEN
CLASSICAL VS. LONDON
SCHOOL
#WISSENTEILEN
UNIT TESTING
Vladimir Khorikov
Manning 2020
#WISSENTEILEN
QUALITÄTSMERKMALE
Schutz gegen Regression
• Software-Fehler entdecken
• möglichst viel Code
abdecken
Unmittelbares Feedback
• kurze Ausführungsdauer
Unempfindlichkeit gegen
Refactoring
• beobachtbares Verhalten
testen
Wartbarkeit
• Verständlichkeit
• einfache Ausführbarkeit
#WISSENTEILEN
Unempfindlichkeit
gegen
Refactoring
Unmittelbares
Feedback
Schutz
Gegen
Regression
End-to-End-Tests
• große Testabdeckung
• gegen API programmiert
• lange Ausführungsdauer
Triviale Tests
• Testet einfachen
Code, z.B. Getter,
Setter
• wird nicht brechen
• schnell
• findet keine Bugs
Zerbrechliche Tests
• Schnell
• Viele False-Positives
• Bricht sofort bei Prod-
Code-Änderung
max Wartbarkeit
Unempfindlichkeit
gegen Refactoring
Unmittelbares
Feedback
Schutz gegen
Regression
Integrationstest Unit-Test
End-to-End-Test
PRIORISIERUNG
Komplexität,
Relevanz für Geschäftslogik
Anzahl der Abhängigkeiten
WELCHEN CODE WIE TESTEN?
Domain-Modell,
Algorithmen
Applikationsschicht,
Controllers
Komplexität,
Relevanz für Geschäftslogik
Anzahl der Abhängigkeiten
WELCHEN CODE WIE TESTEN?
Domain-Modell,
Algorithmen
Applikationsschicht,
Controllers
Komplexität,
Relevanz für Geschäftslogik
Anzahl der Abhängigkeiten
Unit-Tests
Integrations-
Tests
WELCHEN CODE WIE TESTEN?
Domain-Modell,
Algorithmen
trivialer
Code
Applikationsschicht,
Controllers
Komplexität,
Relevanz für Geschäftslogik
Anzahl der Abhängigkeiten
WELCHEN CODE WIE TESTEN?
Domain-Modell,
Algorithmen
zu
komplizerter
Code
trivialer
Code
Applikationsschicht,
Controllers
Komplexität,
Relevanz für Geschäftslogik
Anzahl der Abhängigkeiten
WELCHEN CODE WIE TESTEN?
Domain-Modell,
Algorithmen
zu
komplizerter
Code
trivialer
Code
Applikationsschicht,
Controllers
Komplexität,
Relevanz für Geschäftslogik
Anzahl der Abhängigkeiten
REFACTORING
Unempfindlichkeit
gegen
Refactoring
Unmittelbares
Feedback
Schutz
Gegen
Regression
End-to-End-Tests
• große Testabdeckung
• gegen API programmiert
• lange Ausführungsdauer
Triviale Tests
• Testet einfachen
Code, z.B. Getter,
Setter
• wird nicht brechen
• schnell
• findet keine Bugs
Zerbrechliche Tests
• Schnell
• Viele False-Positives
• Bricht sofort bei Prod-
Code-Änderung
TRANSAKTIONALEN USE CASE
OHNE TRANSAKTION TESTEN?
#WISSENTEILEN
Domain-Modell,
Algorithmen
Applikationsschicht,
Controllers
Komplexität,
Relevanz für Geschäftslogik
Anzahl der Abhängigkeiten
Unit-Tests
Integrations-
Tests
WELCHEN CODE WIE TESTEN?
TEST-PYRAMIDE
Integration-
Tests
Unit-Tests
Inte-
grated
Tests
#WISSENTEILEN
TEST-HONEYCOMB
Integrated
Tests
Unit-
Tests
Integration-
Tests
#WISSENTEILEN
QUALITÄTSMERKMALE
Schutz gegen Regression
• Software-Fehler entdecken
• möglichst viel Code
abdecken
Unmittelbares Feedback
• kurze Ausführungsdauer
Unempfindlichkeit gegen
Refactoring
• beobachtbares Verhalten
testen
Wartbarkeit
• Verständlichkeit
• einfache Ausführbarkeit
#WISSENTEILEN
INTEGRATION TEST
PERFORMANCE
Externe Systeme mocken
Server nur einmal pro Test-Suite starten
Infrastruktur (DB, Messaging) nur einmal starten
Datenbankänderungen nach jedem Test zurückrollen
Software als SERVICE
you build it - FAZIT
API First um von vornherein
die Sicht des API-Konsumenten einzunehmen
Consumer Interaction durch kontinuierlichen
Austausch mit den API-Konsumenten
Rapid Delivery durch eine
klare und einfache Architektur
Continuous Evolution durch Vertrauen
In die eigene Test-Suite und hohe Testabdec
Arne Limburg, @ArneLimburg
Kontakt:
arne.limburg@openknowledge.de
kontakt@openknowledge.de
Vielen Dank! #WISSENTEILEN
Alle Bilder der Präsentation sind entweder von pexels.com,
pixabay.com oder von mir selbst erstellt.
Bildernachweis

Weitere ähnliche Inhalte

Was ist angesagt?

Android Enterprise Integration
Android Enterprise IntegrationAndroid Enterprise Integration
Android Enterprise Integration
Dominik Helleberg
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
Christian Baranowski
 

Was ist angesagt? (20)

Cloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessCloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu Serverless
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten Systemen
 
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
Auf gehts in die Cloud: „Das kann doch nicht so schwer sein!“
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
Zukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit MicroservicesZukunftssichere Architekturen mit Microservices
Zukunftssichere Architekturen mit Microservices
 
Serverless Survival Guide
Serverless Survival GuideServerless Survival Guide
Serverless Survival Guide
 
Spaß mit Microservices: Transaktionen
Spaß mit Microservices: TransaktionenSpaß mit Microservices: Transaktionen
Spaß mit Microservices: Transaktionen
 
Der goldene Schnitt – Wie schneide ich Microservices richtig?
Der goldene Schnitt – Wie schneide ich Microservices richtig?Der goldene Schnitt – Wie schneide ich Microservices richtig?
Der goldene Schnitt – Wie schneide ich Microservices richtig?
 
2011_Herbstcampus_Rapid_Cloud_Development_with_Spring_Roo
2011_Herbstcampus_Rapid_Cloud_Development_with_Spring_Roo2011_Herbstcampus_Rapid_Cloud_Development_with_Spring_Roo
2011_Herbstcampus_Rapid_Cloud_Development_with_Spring_Roo
 
Android Enterprise Integration
Android Enterprise IntegrationAndroid Enterprise Integration
Android Enterprise Integration
 
Softwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha NightSoftwerkskammer Chemnitz Special Pecha Kucha Night
Softwerkskammer Chemnitz Special Pecha Kucha Night
 
Oracle Cloud
Oracle CloudOracle Cloud
Oracle Cloud
 
Flexible Workplace-Environments aus der Cloud Webinar (3) der BeaS AWS Cloud ...
Flexible Workplace-Environments aus der Cloud Webinar (3) der BeaS AWS Cloud ...Flexible Workplace-Environments aus der Cloud Webinar (3) der BeaS AWS Cloud ...
Flexible Workplace-Environments aus der Cloud Webinar (3) der BeaS AWS Cloud ...
 
Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?Microservices – die Architektur für Agile-Entwicklung?
Microservices – die Architektur für Agile-Entwicklung?
 
Einführung in AWS - Übersicht über die wichtigsten Services
Einführung in AWS - Übersicht über die wichtigsten Services Einführung in AWS - Übersicht über die wichtigsten Services
Einführung in AWS - Übersicht über die wichtigsten Services
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
 
MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...
MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...
MS Sharepoint auf AWS - eine Lösung für viele Herausforderungen - AWS Cloud W...
 
BATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu MicroservicesBATbern41 Die Evolution zu Microservices
BATbern41 Die Evolution zu Microservices
 
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-LösungMit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
Mit LoRaWAN und Serverless zur eigenen Smart-Office-Lösung
 
Continuous Delivery in ADF Projekten
Continuous Delivery in ADF ProjektenContinuous Delivery in ADF Projekten
Continuous Delivery in ADF Projekten
 

Ähnlich wie API-Design, Microarchitecture und Testing

Ähnlich wie API-Design, Microarchitecture und Testing (20)

Hightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign TestenHightway to Hell - Responsive Webdesign Testen
Hightway to Hell - Responsive Webdesign Testen
 
SAP Infotag: Security / Erlebe-Software 07-2014
SAP Infotag: Security / Erlebe-Software 07-2014SAP Infotag: Security / Erlebe-Software 07-2014
SAP Infotag: Security / Erlebe-Software 07-2014
 
JavaScript und trotzdem Softwerker
JavaScript und trotzdem SoftwerkerJavaScript und trotzdem Softwerker
JavaScript und trotzdem Softwerker
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
AngularJS
AngularJSAngularJS
AngularJS
 
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Back to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit MicroservicesBack to the Frontend – aber nun mit Microservices
Back to the Frontend – aber nun mit Microservices
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
 
App-Delivery-Pipeline
App-Delivery-PipelineApp-Delivery-Pipeline
App-Delivery-Pipeline
 
Per Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API GatewaysPer Anhalter zu Cloud-nativen API Gateways
Per Anhalter zu Cloud-nativen API Gateways
 
App Entwicklung Kosten
App Entwicklung KostenApp Entwicklung Kosten
App Entwicklung Kosten
 
Ivory Soa Suite
Ivory Soa SuiteIvory Soa Suite
Ivory Soa Suite
 
Modern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit JavaModern Lightweight Enterprise Architectures mit Java
Modern Lightweight Enterprise Architectures mit Java
 
Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1Entwicklung mit Volt MX und Co. | Teil 1
Entwicklung mit Volt MX und Co. | Teil 1
 
IT Outsourcing Agentur Berlin
IT Outsourcing Agentur BerlinIT Outsourcing Agentur Berlin
IT Outsourcing Agentur Berlin
 
Domain-Driven Design in der Praxis
Domain-Driven Design in der PraxisDomain-Driven Design in der Praxis
Domain-Driven Design in der Praxis
 
Code-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-EntwicklungCode-Generierung vereinfacht IoT-Entwicklung
Code-Generierung vereinfacht IoT-Entwicklung
 
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.Steinzeit war gestern! Wege der Cloud-nativen Evolution.
Steinzeit war gestern! Wege der Cloud-nativen Evolution.
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 

Mehr von OPEN KNOWLEDGE GmbH

Mehr von OPEN KNOWLEDGE GmbH (18)

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Nie wieder Log-Files!
Nie wieder Log-Files!Nie wieder Log-Files!
Nie wieder Log-Files!
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
API Expand Contract
API Expand ContractAPI Expand Contract
API Expand Contract
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten Architekturen
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale Netze
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
Das Product Goal oder "Ohne Ziele laufen eben alle in die Richtung, die ihnen...
 
Die Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von MicroservicesDie Matrix: Enterprise-Architekturen jenseits von Microservices
Die Matrix: Enterprise-Architekturen jenseits von Microservices
 
Maschinen ohne Gewissen: wenn KI auf Ethik trifft
Maschinen ohne Gewissen: wenn KI auf Ethik trifftMaschinen ohne Gewissen: wenn KI auf Ethik trifft
Maschinen ohne Gewissen: wenn KI auf Ethik trifft
 
Modern Web: Trends der Webentwicklung
Modern Web: Trends der WebentwicklungModern Web: Trends der Webentwicklung
Modern Web: Trends der Webentwicklung
 

API-Design, Microarchitecture und Testing