Utilisation du tableau blanc HTTP OSGi dans Liberty

Vous pouvez utiliser la fonction httpWhiteboard-1.0 pour permettre le développement et le déploiement d'applications Web modulaires écrites à l'aide des technologies servlet.

Avant de commencer

Pour utiliser la fonction httpWhiteboard-1.0, vous devez avoir installé Liberty et la fonction httpWhiteboard-1.0.
  • Installez la dernière version de Liberty avec les fonctions du modèle de programmation pour applications OSGi. Vous pouvez installer Liberty à l'aide d'un package d'installation zip (fichier ZIP) ou en extrayant le package d'archive Java (fichier JAR). Pour plus d'informations sur l'installation de Liberty, consultez Installation de Liberty.
  • Installez la fonction httpWhiteboard-1.0. Si la fonction n'est pas disponible dans les fichiers d'archive ZIP téléchargés, installez la fonction à partir du référentiel Liberty à l'aide de la commande suivante :
    bin\installUtility install httpWhiteboard-1.0
Vous verrez les messages suivants s'afficher durant l'installation :
Step 1 of 3: Downloading httpWhiteboard-1.0...
Step 2 of 3: Installing httpWhiteboard-1.0...
Step 3 of 3: Cleaning up temporary files...

Une fois que la fonction est correctement installée, vous pouvez l'utiliser.

Procédure

Que faire ensuite

Ecriture d'un service Servlet

L'implémentation du tableau blanc HTTP recherche un type particulier de service OSGi enregistré, par exemple javax.servlet.Servlet. Ainsi, pour utiliser la fonction de tableau blanc HTTP, vous pouvez utiliser n'importe quel modèle de composant OSGi pris en charge (comme par exemple Blueprint) pour enregistrer le service, et le service est automatiquement reconnu.

L'exemple Blueprint suivant montre l'enregistrement d'une implémentation de servlet simple, com.my.MyWhiteboardServlet dans le registre de service OSGi sous l'interface javax.servlet.Servlet. Elle est également enregistrée sous une propriété de service de tableau blanc HTTP standard, org.http.whiteboard.servlet.pattern, qui fournit un emplacement d'URL relatif pour le servlet.
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
	<bean id="MyWhiteboardServletBean"
		class="com.my.MyWhiteboardServlet" />
	<service id="MyWhiteboardServletBeanService"
		ref="MyWhiteboardServletBean"
		interface="javax.servlet.Servlet" />
		<service-properties>
			<entry key="osgi.http.whiteboard.servlet.pattern"
				value="/mywhiteboardservlet" />
		</service-properties>
	</service>
</blueprint>
Accès au servlet
Lorsque vous démarrez le serveur ou ajoutez la fonction à un serveur en cours d'exécution, des messages peuvent s'afficher comme dans l'exemple suivant :
[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications. 
[AUDIT   ] CWWKN2000A: HTTP Whiteboard context root added: /osgi/http
[AUDIT   ] CWWKN2000A: HTTP Whiteboard context root added: /osgi/http/shared
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://localhost:9080/osgi/http/
[AUDIT   ] CWWKN2000A: HTTP Whiteboard context root added: /osgi/http/MyHttpWhiteboardApp
[AUDIT   ] CWWKZ0001I: Application MyHttpWhiteboardApp started in 0.424 seconds.
Cet exemple contient trois messages "HTTP Whiteboard context root added". Le dernier message montre où la racine de contexte de l'application, MyHttpWhiteboardApp, est ajoutée. L'application contient également le servlet défini dans l'exemple blueprint précédent. Vous pouvez accéder à un servlet en combinant l'URL de l'application Web qui se termine par /osgi/http/ et l'URL relative de la racine de contexte du tableau blanc (fusion de la coupure /osgi/http/), et en ajoutant ensuite l'emplacement du servlet spécifié dans osgi.http.whiteboard.servlet.pattern. Par exemple, la fusion de l'URL de l'application Web (http://localhost:9080/osgi/http/) et de la racine de contexte du tableau blanc (/osgi/http/MyHttpWhiteboardApp) donne :
http://localhost:9080/osgi/http/MyHttpWhiteboardApp
Si vous ajoutez la valeur osgi.http.whiteboard.servlet.pattern, vous obtiendrez l'URL suivante :
http://localhost:9080/osgi/http/MyHttpWhiteboardApp/mywhiteboardservlet
Combinaison avec d'autres fonctions

La spécification de tableau blanc HTTP est basée autour des services OSGi. Cela signifie que la fonction s'intègre avec d'autres modèles de composants et services OSGi natifs. Par exemple, Blueprint peut être utilisé pour injecter dynamiquement d'autres services. Les gestionnaires d'espace de noms Blueprint et l'administrateur de configuration peuvent être utilisés pour injecter dynamiquement des valeurs de configuration dans le servlet, ce qui permet de modifier la configuration d'application si nécessaire.


Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_osgi_httpwhiteboard.html