Erweiterung eines REST-Codegenerator durch eine SOAP-Schnittstelle

Universität Ulm

MA Abschlussvortrag, Samuel Fritz, Ort: Online, Datum: 17.12.2021, Zeit: 13:30 Uhr

Die Firma Adesso SE möchte die grundsätzliche Fähigkeit besitzen, SOAP-Schnittstellen automatisch in entsprechende REST-Schnittstellen umzustellen. Dabei treten repetitive Aufgaben auf die mittels einem Codegenerator gelöst werden sollen. Adesso verfügt derzeit über einen Codegenerator, der REST-Schnittstellen aus Datenschemata generiert. Ziel dieser Arbeit ist es, diesen Generator zu erweitern so, dass aus SOAP-Schnittstellen REST-Schnittstellen generiert werden. Dabei verwendet der Codegenerator eine WSDL-Datei als Eingabe und generiert daraus Java Quellcode. Bei der Konzeption und Entwicklung wird darauf geachtet, den Codegenerator modular aufzubauen, damit zukünftige Erweiterungen die Codebasis wiederverwenden kann. Die REST-Schnittstelle wird mithilfe von Codetemplates generiert. Dabei werden diese Templates mit Daten aus der WSDL-Datei gefüllt. Der Generator erstellt Java-Klassen die den Inhalt der Templates beinhalten. Es wird erklärt, welche Daten der WSDL-Datei in das Codetemplate umgesetzt werden. Ein Performanztest wurde mit einer aus dem Codegenerator generierten und implementierten REST-API, einer SOAP-API und einem SOAP-REST-Proxy durchgeführt. Die Performanztest Ergeb[1]nisse zeigten, dass die REST-API gering performanter als die SOAP-API ist, in wissenschaftlichen Arbeiten ist dies ausgeprägter. Weiterführende Entwicklungen des Codegenerators könnten es erlauben, die REST-API in anderen Programmierspra[1]chen zu generieren.