Testdatengeneratoren als Microservices mit Docker überarbeitet

Ich habe die verschiedenen Testdatengeneratoren mittels Microservices über HTTP zugänglich gemacht, um sie unabhängig von der verwendeten Programmiersprache und/ oder Version (Java 11) verwenden zu können. Die betreffenden Projekte wurden überarbeitet.

Ich habe inzwischen zwei OpenSource-Projekte gestartet, die die verfügbaren Generatoren mittels zweier verschiedener Frameworks - Javalin und Quarkus - als REST-Services verfügbar machen.

Die beiden GitHub-Repositories - eines für die Variante mit Javalin und eines für die Variante mit Quarkus -

wurden nunmehr einer größeren Überarbeitung unterzogen:

Zunächst einmal bekamen beide eine Start-Seite spendiert, die man mittels Browser aufrufen kann. Diese enthält einige nützliche Links.

Zwei dieser Links führen zu den neuen für Anwender sichtbaren Features: Beide Varianten stellen eine OpenAPI-Spezifikation der Services zur Verfügung - das macht es für Anwender noch leichter, die Generatoren in eigene Projekte zu integrieren.

Der andere dieser zwei Links führt zu einer Seite, auf der mittels Swagger-UI für jeden Service (Generator) ein Formular aus dieser OpenAPI-Beschreibung erzeugt wurde. Damit ist es ein Leichtes, mit den verschiedenen Generatoren und ihren jeweiligen Parametern zu spielen um den passenden für den eigenen Anwendungszweck zu finden.

Die letzte große Änderung in den Projekten betrifft die Quelltexte selbst und ist daher eine Erleichterung für mich:

Die Erzeugung des Codes, der zwischen den Generatoren einerseits und den REST-Frameworks andererseits vermittelte war eine extrem langweilige weil nur in Nuancen abweichende immer gleiche Arbeit. Das war auch der Grund, warum die Variante mit Quarkus bisher nur eine minimale Anzahl an Generatoren anbot und auch die Variante mit Javalin nur eine Untermenge umfasste.

Ich erzeugte daher eine neue Annotation und einen dazu passenden Annotation-Prozessor, der es mir erlaubt, diesen Zwischen-Code auf Knopfdruck zu erzeugen.

Die beiden Projekte können immer noch unmittelbar in Docker integriert werden: Mit einem einfachen docker-compose up lassen sich beide Projekte in ein Docker-Image überführen und starten. Für Einbinden in Traefik sind im Dockerfile bereits Vorkehrungen getroffen, die nur noch leicht angepasst werden müssen.

Artikel, die hierher verlinken

Neue Generatoren für JSON, iCal und vCard

30.12.2020

Nachdem ich vor einiger Zeit meinen Testdatengenerator um einen Builder für beliebige JSON-Strukturen erweitert hatte, habe ich nun die beiden veröffentlichten Microservice-Container zur Testdaten-Generierung basierend auf javalin und Quarkus um neue Generatoren erweitert, die die Flexibilität demonstrieren sollen.

NullPointer in FontConfig in Alpine-Java-Docker

30.08.2020

Ich habe nach zwei Tagen herumprobieren doch wieder ein Ticket auf GitHub eröffnet.

Testdaten für ein XML Schema generieren

01.05.2020

Ich suche immer wieder nach neuen Ideen, möglichst einfach problemangepasste Testdaten zu erzeugen. Diesmal habe ich damit begonnen, XML-Dokumente zu erzeugen, die einem vorgegebenen XML-Schema genügen sollten

Dynamische Gitlab Badges IV

07.12.2019

Die in den vorhergegangenen Artikeln beschriebene Idee, Badges für Gitlab zu erzeugen mündete nun endlich in ein Github-Projekt...

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.