Gab es zu dieser Zeit gleichzeitig Technologien? Was waren die Vorteile von OSGi im Vergleich zu anderen Technologien und zu nativer (vor 3.0) Technologie?Geschichte: warum Eclipse-Stiftung OSGi gewählt hatte?
Antwort
Der Hauptvorteil von OSGi ist vielleicht die Möglichkeit, getrennte Bündel zu haben. Dadurch kann ein Bundle seine Abhängigkeiten vom globalen Classloader verbergen.
Oft wird beim Erstellen eines großen Systems eine Komponente eine bestimmte Bibliothek benötigen, während eine andere eine andere, aber inkompatible Version derselben Bibliothek verwendet. In diesem Fall unterbricht die Auswahl einer Version der Bibliothek die andere.
Die separaten Classloader für JARs und WARs waren ein früher Versuch und ermöglichten eine Modularisierung und Verwaltung von Abhängigkeiten für separate und isolierte Komponenten. Wenn Sie ältere Versionen von WebLogic usw. betrachten, werden Sie feststellen, dass sie häufig verwendete Bibliotheken (z. B. Xerces) unter der Weblogic. * Neu verpacken, damit sie nicht mit einem Xerces kollidieren, den Ihre App möglicherweise aufnehmen möchte.
Mit OSGI ist es möglich, dass jedes Bündel nur ein einzelnes Paket freigibt, das die Schnittstelle zum Kern enthält. Jedes Bündel kann dann seine eigenen Bibliotheken verwenden, ohne sich um das Klassenpfadproblem zu kümmern, das oben beschrieben wurde.
Bitte besuchen Sie die folgende Website:
beiden Antworten gut, aber mP war zuerst. Danke auch an Bhadra – Imaskar