Skip to main content
let's make IT happen

Piral - Microfrontends (Microservices im HMI)

 

Das Aufbrechen von monolithischen Architekturen und Applikationen in Microservices ist ein bekannter Ansatz. Dieses Splitten von grossen Services und deren Architektur in kleinere Einheiten (Microservices) bringt diverse Vorteile mit sich: 

  • Dezidierte Services sind weniger untereinander gekoppelt
  • einzelne Services haben eine geringere Komplexität und sind dadurch leichter zu verstehen und zu warten
  • unabhängige Services können schneller und verteilt entwickelt werden
  • Applikationen können im Baukasten-Prinzip assembliert werden. 

Doch was ist mit den Frontends von Applikationen? Während eines längeren Lifecycles können UIs zu Monolithen anwachsen und werden mit der Zeit unübersichtlich und schwierig zu warten. In der HMI Entwicklung hat sich deshalb ebenfalls der Ansatz von Microfrontends durchgesetzt. Die Vorteile sind dieselben wie bei den Microservices.

Ein Framework, welches Microfrontend im Web Bereich ermöglicht, ist Piral. Das Konzept ist simpel:
Eine Piral Instanz (Application Shell) bringt das allgemeine Design mit (Header, Footer, Navigation…).

Pilets (Feature-Module) hingegen, bringen den Inhalt der Applikation mit (Funktionalität). Sie haben ihre eigenen Abhängigkeiten und können sich bei der Piral-Instanz registrieren, um Teil der ganzen Applikation zu werden. Pilets können unabhängig entwickelt werden. Sie können jederzeit einzeln aktualisiert werden, ohne den Betrieb der restlichen Funktionalität zu beeinträchtigen. Es ergeben sich somit die gleichen Vorteile, die Microservices mit sich bringen.

Generell gilt:  Nicht  alle Applikationen (Frontend oder Services) sind für diesen Paradigmenwechsel geeignet. Denn auch diese neuen Ansätze können Nachteile mit sich bringen. Z.B. wird der Überwachungsaufwand erheblich grösser, um die heterogenen Systeme (verschiedene Technologien und Entwicklungsumgebungen) zu kontrollieren. Auch kann sich die Eingrenzung eines Fehlers über ein verteiltes System hinweg komplexer gestalten.

 

https://easy-software.com/de/newsroom/microservices-vs-monolith/
https://piral.io

Giampiero Castaldi, Senior Software Entwickler, INTEGRATE Informatik AG