API-Design: Vorsicht vor der Versionierungshölle!

Nicht erst seit dem Hype um Microservices ist Schnittstellendesign ein essenzieller Bestandteil von Softwareentwicklung. Doch jede noch so gut definierte Schnittstelle kann an einen Punkt kommen, an dem sie weiterentwickelt werden muss, und sei es nur, weil sich die Anforderungen geändert haben. Kommt man an diesen Punkt, stellt sich die Frage: Muss ich meine Schnittstelle versionieren; wenn ja, wie gehe ich vor? In seiner Session von der W-JAX 2017 beantwortet Arne Limburg diese und weitere Fragen.
Wie müssen sich die Clients der Schnittstelle verhalten, um nicht plötzlich (nach einem neuen Release des Servers) eine böse Überraschung zu erleben? Die Weiterentwicklung einer Schnittstelle wird leider initial häufig nicht mit bedacht, weiß Arne Limburg. Hoher Wartungsaufwand für die Bedienung alter und neuer Schnittstellen sind die Folge. Unser Speaker erklärt in seinem Talk, wie man dies verhindern kann und wie man bei der Weiterentwicklung vorgehen muss, um alte Clients nicht inkompatibel werden zu lassen. Dabei legt er großen Wert darauf, die „Versioning Hell“ zu umgehen.
Die vorgestellten Konzepte werden von Arne Limburg nicht nur in der Theorie beleuchtet, sondern es wird auch am Beispiel von JAX-RS gezeigt, wie Versionierung in der Praxis realisiert werden kann, ohne sich im Support alter Versionen zu verlieren.
API-Design: Vorsicht vor der Versioning-Hölle! from JAX TV on Vimeo.

Hinterlasse einen Kommentar