Consumer-Driven Contracts - Testen von Schnittstellen in Zeiten von Microservices

 
Conference Day - 20. Juni
 
2:30pm
3:15pm
 
Softwerkskammer
 
Schwarzwald (1. OG)

Software Systeme bestehen heute oft aus vielen Services. Insbesondere das Architektur Pattern Microservices verstärkt diesen Trend.
Für funktionierende Kommunikation zwischen den Services benötigt es stabile Schnittstellen. Consumer-Driven Contracts stellt eine Technik dar, die in der Aufruf-Antwort-Struktur der Service-Aufrufe in sogenannten Contracts definiert werden, gegen die der Aufrufer (Consumer) und Bereitsteller (Provider) des Services testen kann. Die Contracts werden dabei von den Aufrufern bereitgestellt und enthalten jeweils nur die für ihn relevanten Daten.

Diese Session erklärt das Konzept von Consumer-Driven Contracts. Danach werden mit Beispielen die konkrete Implementierung von Consumer-Driven Contracts gezeigt, dabei werden auch die beiden großen Testing Frameworks Pact und Spring Cloud Contracts vorgestellt.
Zuletzt wird anhand Erfahrungen aus einem größeren Projekt aufgezeigt, in welchen Situationen Consumer-Driven Contracts helfen und wo es keine Mehrwert bringt.

Markus Knittig

Selbstständig

Markus Knittig ist seit 2011 als freiberuflicher Softwareentwickler und -berater mit Schwerpunkt Java Enterprise und Webentwicklung in verschiedenen Projekten für Startups bis großen Unternehmen unterwegs. Er interessiert sich insbesondere für neuen Technologien und Prozesse für effizientere Softwareentwicklung und -wartung.