< Zurück | Weiter >

Lerneinheit 1.1: OSGi-Beispielbundles kennenlernen

Arbeiten Sie diese Lerneinheit durch, und untersuchen Sie die Bundles, die im OSGi-Beispiel bereitgestellt werden.

OSGi-Beispielbundles

Neben den Bundles, die in der Datei config.ini konfiguriert sind und deren Konfiguration im Artikel zum Einrichten der Eclipse-Equinox-Umgebung beschrieben wird, werden die folgenden zusätzlichen Bundles im OSGi-Beispiel verwendet:
objectgrid.jar
Das Laufzeitbundle für den Server von WebSphere eXtreme Scale. Dieses Bundle befindet sich im Verzeichnis wxs_home/lib.
com.google.protobuf_2.4.0a.jar
Das Bundle für Google-Protokollpuffer der Version 2.4.0a. Dieses Bundle befindet sich im Verzeichnis OSGi-Stammverzeichnis_für_WXS-Beispiele/lib.
ProtoBufSamplePlugins-1.0.0.jar
Version 1.0.0 des Benutzer-Plug-in-Bundles mit den Beispiel-Plug-in-Implementierungen ObjectGridEventListener und MapSerializerPlugin. Dieses Bundle befindet sich im Verzeichnis OSGi-Stammverzeichnis_für_WXS-Beispiele/lib. Die Services werden mit dem Service-Ranking 1 konfiguriert.

Diese Version verwendet die Blueprint-Standard-XML für die Konfiguration der Plug-in-Services von eXtreme Scale. Die Serviceklasse ist eine vom Benutzer implementierte Klasse für die Schnittstelle com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactory von WebSphere eXtreme Scale. Die vom Benutzer implementierte Klasse erstellt eine Bean für jede Anforderung und arbeitet ähnlich wie eine Prototyp-Bean.

ProtoBufSamplePlugins-2.0.0.jar
Version 2.0.0 des Benutzer-Plug-in-Bundles mit den Beispiel-Plug-in-Implementierungen ObjectGridEventListener und MapSerializerPlugin. Dieses Bundle befindet sich im Verzeichnis OSGi-Stammverzeichnis_für_WXS-Beispiele/lib. Die Services werden mit dem Service-Ranking 2 konfiguriert.

Diese Version verwendet die Blueprint-Standard-XML für die Konfiguration der Plug-in-Services von eXtreme Scale. Die Serviceklasse verwendet die integrierte Klasse com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactoryImpl von WebSphere eXtreme Scale, die den Service BlueprintContainer verwendet. Mithilfe der Blueprint-XML-Standardkonfiguration können die Beans als Prototyp- oder Singleton-Bean konfiguriert werden. Die Bean wird nicht als Shard-Bean konfiguriert.

ProtoBufSamplePlugins-Gemini-3.0.0.jar
Version 3.0.0 des Benutzer-Plug-in-Bundles mit den Beispiel-Plug-in-Implementierungen ObjectGridEventListener und MapSerializerPlugin. Dieses Bundle befindet sich im Verzeichnis OSGi-Stammverzeichnis_für_WXS-Beispiele/lib. Die Services werden mit dem Service-Ranking 3 konfiguriert.

Diese Version verwendet die Eclipse-Gemini-spezifische Blueprint-XML für die Konfiguration der Plug-in-Services von eXtreme Scale. Die Serviceklasse verwendet die integrierte Klasse com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactoryImpl von WebSphere eXtreme Scale, die den Service BlueprintContainer verwendet. Für die Konfiguration einer Shard-Bean wird ein Gemini-spezifischer Ansatz verwendet. Diese Version konfiguriert die Bean myShardListener als ShardBean, indem {http://www.ibm.com/schema/objectgrid}shard als Wert für den Geltungsbereich angegeben und ein Pseudoattribut konfiguriert wird, damit der angepasste Geltungsbereich von Gemini erkannt wird. Dies ist auf das folgende Eclipse-Problem zurückzuführen: https://bugs.eclipse.org/bugs/show_bug.cgi?id=348776

ProtoBufSamplePlugins-Aries-4.0.0.jar
Version 4.0.0 des Benutzer-Plug-in-Bundles mit den Beispiel-Plug-in-Implementierungen ObjectGridEventListener und MapSerializerPlugin. Dieses Bundle befindet sich im Verzeichnis OSGi-Stammverzeichnis_für_WXS-Beispiele/lib. Die Services werden mit dem Service-Ranking 4 konfiguriert.

Diese Version verwendet Blueprint-Standard-XML für die Konfiguration der Plug-in-Services von eXtreme Scale. Die Serviceklasse verwendet die integrierte Klasse com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactoryImpl von WebSphere eXtreme Scale, die den Service BlueprintContainer verwendet. Mithilfe der Blueprint-XML-Standardkonfiguration können die Beans mit einem angepassten Geltungsbereich konfiguriert werden. Diese Version konfiguriert myShardListenerbean als Shard-Bean, indem {http://www.ibm.com/schema/objectgrid}shard als Wert für den Geltungsbereich angegeben wird.

ProtoBufSamplePlugins-Activator-5.0.0.jar
Version 5.0.0 des Benutzer-Plug-in-Bundles mit den Beispiel-Plug-in-Implementierungen ObjectGridEventListener und MapSerializerPlugin. Dieses Bundle befindet sich im Verzeichnis OSGi-Stammverzeichnis_für_WXS-Beispiele/lib. Die Services werden mit dem Service-Ranking 5 konfiguriert.

Diese Version verwendet gar keine Blueprint-Container. In dieser Version werden die Services mithilfe der OSGi-Serviceregistrierung registriert. Die Serviceklasse ist eine vom Benutzer implementierte Klasse für die Schnittstelle "com.ibm.websphere.objectgrid.plugins.osgi.PluginServiceFactory" von WebSphere eXtreme Scale. Die vom Benutzer implementierte Klasse erstellt eine Bean für jede Anforderung. Sie funktioniert ähnlich wie eine Prototyp-Bean.

Prüfpunkt der Lerneinheit

Indem Sie die Bundles, die mit dem OSGi-Beispiel bereitgestellt werden, untersucht werden, verstehen Sie besser, wie eigene Implementierungen entwickelt werden, die im OSGi-Container ausgeführt werden.

Sie haben Folgendes gelernt:
  • Bundles, die mit dem OSGi-Beispiel bereitgestellt werden
  • Position dieser Bundles
  • Service-Ranking, mit dem jedes Bundle konfiguriert wurde
< Zurück | Weiter >