Mit Pact REST-Schnittstellen innerhalb und außerhalb des Teams definieren und stabilisieren

 
Conference Day - 03. Juni
 
11:45
12:30
 
Microservices
 
Rebland (1. OG)

In der Softwareentwicklung ist es eine große Herausforderung, Schnittstellen stabil zu halten und sie sowohl im Team als auch darüber hinaus zu kommunizieren. Das macht sich besonders oft bei REST-Schnittstellen bemerkbar, da diese aktuell die Standartwahl zur technologieunabhängigen Kommunikation zwischen verschiedenen Prozessen sind - besonders in der Microservicearchitektur.

Warum ist das so? Schnittstellen werden in unterschiedlichsten Technologien erstellt und genutzt, wodurch sich Darstellung und Implementierung stark unterscheiden können. Außerdem befindet sich nahezu jede Software in einem stetigen Wandel. Dadurch ist es schwierig, anfangs definierte Schnittstellen nicht mehr zu verändern.

Eine stabile Interprozesskommunikation erfordert ein hohes Maß an Disziplin und Absprache sowohl im Team als auch darüber hinaus. Das allein reicht jedoch oft nicht aus, weil breaking changes nicht oder erst spät bemerkt werden. Hierbei kann Pact helfen: Es bietet die Möglichkeit, anhand von automatisierten Tests die Anforderungen der Schnittstellen-Konsumenten abzubilden und deren Einhaltung zu überprüfen.

In diesem Vortrag beschreiben wir unseren Weg von mündlicher Schnittstellenvereinbarung über das Festhalten in schriftlicher Form bis hin zum Einsatz von Pact und teilen unsere Erfahrungen mit euch.

Dr. Eva Ziebarth

andrena objects, Germany

Eva Ziebarth ist seit 2014 Agile Software Engineer bei der andrena objecs ag. Zur Zeit ist sie als Full-Stack-Entwicklerin in einem Projekt eingesetzt, in dem C#/.NET- und Typescript-Technolgien verwendet werden, um eine Webapplikation zu entwickeln. Da die Software sich aus Microservices zusammensetzt, die über verschiedene Teams über unterschiedliche Standorte verteilt entwickelt werden, muss sie sich im Arbeitsalltag häufig mit der Definition und Entwicklung von Schnittstellen beschäftigen. Hierbei zeigt sich ständig die Schwierigkeit Schnittstellen klar zu kommunizieren und dann auch einzuhalten.
 

Marvin Kranz

andrena objects, Germany

Marvin Kranz ist seit 2016 Agile Software Engineer bei der andrena objecs ag. Zur Zeit ist er als Full-Stack-Entwickler in einem Projekt eingesetzt, in dem C#/.NET- und Typescript-Technolgien verwendet werden, um eine Webapplikation zu entwickeln. Da die Software sich aus Microservices zusammensetzt, die über verschiedene Teams über unterschiedliche Standorte verteilt entwickelt werden, muss er sich im Arbeitsalltag häufig mit der Definition und Entwicklung von Schnittstellen beschäftigen. Hierbei zeigt sich ständig die Schwierigkeit Schnittstellen klar zu kommunizieren und dann auch einzuhalten.