Übersicht über das OSGi-Framework

OSGi definiert ein dynamisches Modulsystem für Java. Die OSGi-Serviceplattform hat eine Schichtenarchitektur und ist für die Ausführung in verschiedenen Java-Standardprofilen bestimmt. Sie können Server und Client von WebSphere eXtreme Scale in einem OSGi-Container starten.

Vorteile der Ausführung von Anwendungen im OSGi-Container

Die OSGi-Unterstützung von WebSphere eXtreme Scale ermöglicht Ihnen, das Produkt im Eclipse-Equinox-OSGi-Framework zu implementieren. Zum Aktualisieren der von eXtreme Scale verwendeten Plug-ins mussten Sie früher die Java Virtual Machine (JVM) erneut starten, um die neuen Versionen der Plug-ins anzuwenden. Mit der Funktionalität für dynamische Aktualisierungen, die das OSGi-Framework bereitstellt, können Sie die Plug-in-Klassen jetzt ohne Neustart der JVM aktualisieren. Diese Plug-ins werden über Benutzerbundles als Services exportiert. WebSphere eXtreme Scale greift über eine Suche in der OSGi-Registry auf die Services zu.

eXtreme-Scale-Container lassen Sich durch Konfiguration mit dem OSGi-Konfigurationsverwaltungssservice oder mit OSGi Blueprint einfacher und dynamischer starten. Wenn Sie ein neues Datengrid mit der zugehörigen Verteilungsstrategie implementieren möchten, können Sie eine OSGi-Konfiguration erstellen oder ein Bundle mit den eXtreme-Scale-XML-Deskriptordateien implementieren. Mit der OSGi-Unterstützung können Anwendungsbundles, die die Konfigurationsdaten von eXtreme Scale enthalten, installiert, gestartet, gestoppt, aktualisiert und deinstalliert werden, ohne das gesamte System erneut starten zu müssen. Mit dieser Funktionalität können Sie ein Upgrade der Anwendung ohne Unterbrechung des Datengrids durchführen.

Plug-in-Beans und -Services können mit angepassten Shard-Geltungsbereichen konfiguriert werden. Dies bietet Ihnen differenzierte Integrationsmöglichkeiten mit anderen Services, die im Datengrid ausgeführt werden. Jedes Plug-in kann OSGi-Blueprint-Rankings verwenden, um sicherzustellen, dass jede Instanz des Plug-ins mit der richtigen Version aktiviert wird. Mit der bereitgestellten OSGi-Managed-Bean (MBean) und dem bereitgestellten Dienstprogramm xscmd können Sie die OSGi-Services des eXtreme-Plug-ins und deren Rankings abfragen.

Auf diese Weise können Administratoren potenzielle Konfigurations- und Verwaltungsfehler schnell erkennen und die Plug-in-Service-Rankings, die von eXtreme Scale verwendet werden, aktualisieren.

OSGi-Bundles

Für die Interaktion mit und die Implementierung von Plug-ins im OSGi-Framework müssen Sie Bundles verwenden. In der OSGi-Serviceplattform ist ein Bundle eine JAR-Datei (Java-Archiv), das Java-Code, Ressourcen und ein Manifest enthält, das das Bundle und dessen Abhängigkeiten beschreibt. Das Bundle ist die Implementierungseinheit für eine Anwendung. Das Produkt eXtreme Scale unterstützt die folgenden Bundletypen:

Server-Bundle
Das Server-Bundle ist die Datei objectgrid.jar, die mit der eigenständigen eXtreme-Scale-Serverinstallation installiert wird und die für die Ausführung von eXtreme-Scale-Servern erforderlich ist. Das Server-Bundle kann auch für die Ausführung von eXtreme-Scale-Clients oder lokalen speicherinternen Caches verwendet werden. Die Bundle-ID für die Datei objectgrid.jar ist "com.ibm.websphere.xs.server_<Version>", wobei Version das folgende Format hat: <Version>.<Release>.<Modifikation>. Das Server-Bundle für eXtreme Scale Version 7.1.1 ist beispielsweise com.ibm.websphere.xs.server_7.1.1.
Client-Bundle
Das Client-Bundle ist die Datei ogclient.jar und wird mit eigenständigen und Clientinstallationen von eXtreme Scale installiert. Es wird verwendet, um eXtreme-Scale-Clients oder lokale Speichercaches auszuführen. Die Bundle-ID für die Datei ogclient.jar ist "com.ibm.websphere.xs.client_Version", wobei Version das folgende Format hat: <Version>.<Release>.<Modifikation>. Das Client-Bundle für eXtreme Scale Version 7.1.1 ist beispielsweise "com.ibm.websphere.xs.client_7.1.1".

Einschränkungen

Sie können das eXtreme-Scale-Bundle nicht erneut starten, weil Sie den Object Request Broker (ORB) nicht erneut starten können. Zum erneuten Starten des eXtreme-Scale-Servers müssen Sie das OSGi-Framework erneut starten.