Hallo,
ich würde gerne eines meiner Programme modularisieren, bin auf dem Gebiet aber kompletter Neuling.
Ich stelle mir das Ganze so vor, dass ich anstatt einer einzigen jar Datei, in der die komplette Funktionalität des Programmes enthalten ist, mehrere jar Dateien (Module) mit jeweils bestimmten Teilfunktionalitäten habe. Eine weitere jar könnte zudem eine Art Basisapplikation darstellen, welche eine GUI umsetzt und sich um die "Verwaltung" meiner Module kümmert.
Ein möglichst einfaches Beispiel wäre etwa ein Modul A.jar, welches Daten einliest und diese den anderen Modulen mittels einer Schnittstelle A1 (provided Interface) bereitstellt. Ein zweites Modul B.jar würde diese Daten mittels einer Schnittstelle B1 (required Interface) regelmäßig von A1 auslesen und daraufhin auf der Konsole ausgeben.
Die konkrete Aufgabe der Basisapplikation wäre es dabei, vor der tatsächlichen Ausführung der Module sicherzustellen, dass für jedes in den Modulen vorkommende required Interface immer jeweils (genau) ein zugehöriges provided Interface in einem anderen Modul existiert. Dadurch will ich sicherstellen, dass bei einem zukünftigen Austausch von Modulen nicht plötzlich einige required Interfaces "in der Luft hängen" und Exceptions werfen.
Wenn man sich ein bisschen im Internet zum Thema Java-Modularisierung umsieht, stößt man ja recht schnell auf OSGi. Mit kommts allerdings ein wenig so vor, als würde ich damit, bezogen auf mein Problem, gewissermaßen "mit Kanonen auf Spatzen schießen". Gibts denn eine etwas weniger einschüchternde Alternative, die für meine Belange ebenfalls ausreichend wäre, oder komme ich um OSGi nicht herum?
Danke und Gruß,
thousands
ich würde gerne eines meiner Programme modularisieren, bin auf dem Gebiet aber kompletter Neuling.
Ich stelle mir das Ganze so vor, dass ich anstatt einer einzigen jar Datei, in der die komplette Funktionalität des Programmes enthalten ist, mehrere jar Dateien (Module) mit jeweils bestimmten Teilfunktionalitäten habe. Eine weitere jar könnte zudem eine Art Basisapplikation darstellen, welche eine GUI umsetzt und sich um die "Verwaltung" meiner Module kümmert.
Ein möglichst einfaches Beispiel wäre etwa ein Modul A.jar, welches Daten einliest und diese den anderen Modulen mittels einer Schnittstelle A1 (provided Interface) bereitstellt. Ein zweites Modul B.jar würde diese Daten mittels einer Schnittstelle B1 (required Interface) regelmäßig von A1 auslesen und daraufhin auf der Konsole ausgeben.
Die konkrete Aufgabe der Basisapplikation wäre es dabei, vor der tatsächlichen Ausführung der Module sicherzustellen, dass für jedes in den Modulen vorkommende required Interface immer jeweils (genau) ein zugehöriges provided Interface in einem anderen Modul existiert. Dadurch will ich sicherstellen, dass bei einem zukünftigen Austausch von Modulen nicht plötzlich einige required Interfaces "in der Luft hängen" und Exceptions werfen.
Wenn man sich ein bisschen im Internet zum Thema Java-Modularisierung umsieht, stößt man ja recht schnell auf OSGi. Mit kommts allerdings ein wenig so vor, als würde ich damit, bezogen auf mein Problem, gewissermaßen "mit Kanonen auf Spatzen schießen". Gibts denn eine etwas weniger einschüchternde Alternative, die für meine Belange ebenfalls ausreichend wäre, oder komme ich um OSGi nicht herum?
Danke und Gruß,
thousands
Zuletzt bearbeitet: