Java Platform Module System – Lessons learned?

  • Februar 2021
  • Master-Studium
  • Wissenschaftliche Arbeit

Software wird allgemein immer komplexer und damit auch teurer. Durch die Modularisierung einer Anwendung können der Wartungsaufwand gesenkt und die Weiterentwicklung beschleunigt werden. In Java 9 wurde mit dem Java Platform Module System (JPMS) ein Modulsystem veröffentlicht, das in die Sprache selbst integriert ist. Das JPMS sollte die Modularisierung des Java Development Kits unterstützen und gleichzeitig ein einfach zu benutzendes Modulsystem für Anwendungsentwickler bieten. Dabei hat das Modulsystem in der Community aktuell noch eine sehr schwache Verbreitung. In dieser Arbeit werden die Konzepte des JPMS dargestellt und mögliche Gründe für die schwache Verbreitung gesucht. Dazu wird ein Vergleich zum Modulsystem OSGi gezogen, welches im Java-Ökosystem bereits etabliert ist. Zusätzlich werden auch aktuelle Technologie-Trends außerhalb der Java-Plattform betrachtet.

Das JPMS hat seine Aufgabe beim Redesign des JDK erfüllt. Die Möglichkeiten des modularen JDKs bieten einen klaren Mehrwert für die Java-Plattform, insbesondere beim Einsatz auf eingebetteten Systemen oder in Cloud Computing-Szenarien. Aus Sicht eines Anwendungsentwicklers bringt das JPMS allerdings mehr Einschränkungen als neue Möglichkeiten, vor allem im Vergleich zu OSGi. Zusätzlich wird die Notwendigkeit eines plattformgebundenen Modulsystems durch aktuelle Trends außerhalb der Java-Plattform weiter entkräftet. Dazu zählen der wachsende Einsatz von Microservices und Container-Technologien, die ebenfalls das Ziel verfolgen, Softwarekomponenten zu isolieren. Auf Seite der JDK-Entwickler existieren aktuell keine Pläne, die Probleme des JPMS zu bearbeiten. Eine steigende Beliebtheit des Modulsystems ist aus unserer Sicht daher unwahrscheinlich.

Diese wissenschaftliche Arbeit ist im InformatikJournal 2022 der Hochschule Furtwangen erschienen.

An dieser Arbeit war außerdem beteiligt:

  • Marius Hirt

Mehr Informationen