Monate: April 2015

Versionierung von Datenbanken mit Liquibase

Prozesse innerhalb eines Unternehmens verändern sich im Laufe der Zeit. Es kommen neue Abläufe hinzu, andere werden vereinfacht oder erweitert. Auch Informationen ändern sich. Neue Informationen kommen hinzu, werden umstrukturiert oder anders organisiert. Die Software, die diese Arbeitsprozesse und die Speicherung der Informationen unterstützt ist einem ständigen Wandel unterworfen. Das trifft auch auf viele Projekte bei uns im jStage Team zu. Deshalb haben wir uns mit dem Thema Datenbankversionierung näher beschäftigt, mit dem Ziel unseren Entwicklungprozess dahingehend zu erweitern. Genau wie bei der Verwaltung von Source Code ist es auch auf Datenbankebene wichtig, die gemachten Änderungen zu erfassen und zu versionieren. Diese Versionierung bietet für uns im Entwicklungsprozess folgende Vorteile: Änderungen sind nachvollziehbar Geht man mit Schemaänderungen wie mit Source Code Änderungen um, lässt sich jederzeit feststellen wer eine bestimmte Änderung am Datenmodell zu welcher Zeit vorgenommen hat. Verbindet man die Änderung noch mit der eigentlichen Aufgabe aus dem Issue Tracking System, hat man sogar den fachlichen Bezug. Außerdem kann man jederzeit das versionierte Modell mit der Produktion abgleichen bzw. Änderungen automatisiert einspielen. Erleichtert das …

Testen von Java-REST-Clients mit Mockito und Wiremock

Die meisten Entwickler dürften schon einmal vor dem Problem gestanden haben, einen Test für Software zu entwickeln, welcher von fremden Schnittstellen abhängig ist. Die in diesem Zusammenhang auftretenden Fragen können beispielsweise lauten: Wie kann Geschäftslogik abgeprüft werden, die Zugriff auf externe Schnittstellen beinhaltet? Wie kann der Zugriff auf REST-Schnittstellen getestet werden? Dieser Artikel soll diese beiden Fragen beantworten.