Visualisierung von Service Contracts mit React

2019 
Microservice Domain-Specific Language (MDSL) ist eine domanen-spezifische Sprache zur Spezifikation von Service Contracts (dt. in etwa Schnittstellenvertrage) und deren Data Contracts (Daten-Reprasentationen). Die Sprache wurde von unserem Betreuer Prof. Dr. Olaf Zimmermann entwickelt. MDSL abstrahiert von plattformspezifischen Vertragssprachen wie OpenAPI Specification und WSDL sowie integrationsorientierten Programmiersprachen wie Ballerina und Jolie. Die Syntax von MDSL ist vom Domanenmodell der Mustersprache Microservice API Patterns (MAP) inspiriert, die u. a. Endpunkte und Operationen beinhaltet. Bisher gibt es noch keine Visualisierungswerkzeuge fur MDSL. Zu Beginn der Studienarbeit arbeiteten wir ein User-Interface-Konzept aus, das als Basis fur die Applikation dient. In diesem uberlegten wir uns, wie wir die verschiedenen Sprachelemente von MDSL bestmoglich visualisieren. Die Darstellungen sollten schnell und einfach zu verstehen sein. Zudem sollten die stark vernetzten Sprachbestandteile gut navigierbar sein. Dies erreichen wir, indem wir Visualisierungen wie z. B. die "Hexagonioning"-Grafik oder eine Baumstruktur einsetzen, welche die Sprachelemente ubersichtlich wiedergeben. Im Rahmen unserer Studienarbeit ist ein Visualisierungstool entstanden, in dem eine MDSL-Spezifikation hochgeladen, geparst und angezeigt wird. Die Applikation wurde als serverless Single Page Application (SPA) umgesetzt. Die SPA erlaubt es dem Anwender, in einem agilen Projekt seine Spezifikation schnell zu modellieren und zu erproben. Der Benutzer kann somit jederzeit auf veranderte Kundenanforderungen reagieren. Nach dem Hochladen der MDSL-Spezifikation erscheint eine Statistik mit den Eckdaten der MDSL-Spezifikation. Danach konnen die verschiedenen MDSL-Sprachelemente wie die Data Contracts, Service Contracts, API Providers und API Clients betrachtet werden. Des Weiteren besteht die Moglichkeit, die MDSL-Spezifikation direkt im Browser zu bearbeiten und herunterzuladen.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    0
    Citations
    NaN
    KQI
    []