Utilización de OSGi HTTP Whiteboard en Liberty

Puede utilizar la característica httpWhiteboard-1.0 para habilitar el desarrollo y el despliegue de aplicaciones web modulares escritas utilizando tecnologías de servlet.

Antes de empezar

Para utilizar la característica httpWhiteboard-1.0, debe tener Liberty y la característica httpWhiteboard-1.0 instalados.
  • Instale la última versión de Liberty con las prestaciones de modelo de programación de aplicación OSGi. Puede instalar Liberty utilizando uno de los paquetes de instalación zip (archivo ZIP), o bien extrayendo el paquete de archivado Java (JAR). Si desea más información sobre cómo instalar Liberty, consulte Instalación de Liberty.
  • Instale la característica httpWhiteboard-1.0. Si la característica no está disponible como parte de los archivos de archivado ZIP descargados, instale la característica desde el repositorio Liberty utilizando el mandato siguiente:
    bin\installUtility install httpWhiteboard-1.0
Verá los mensajes siguientes a medida que progresa la instalación:
Paso
1 de 3: Descargando httpWhiteboard-1.0...
Paso 2 de 3: Instalando httpWhiteboard-1.0...
Paso 3 de 3: Borrando archivos temporales...

Una vez que se ha instalado la característica correctamente, puede utilizar la característica.

Procedimiento

Qué hacer a continuación

Grabación de un servicio de servlet

La implementación de Http Whiteboard busca un tipo concreto de servicios OSGi que están registrados, por ejemplo, javax.servlet.Servlet. Así que para utilizar la característica Http Whiteboard, puede utilizar cualquier modelo de componente OSGi soportado como, por ejemplo, Blueprint, para registrar el servicio y el servicio se recoge automáticamente.

El ejemplo siguiente de Blueprint muestra una implementación de servlet simple, com.my.MyWhiteboardServlet se está registrando en el registro de servicios OSGi bajo la interfaz javax.servlet.Servlet. También se registra en una propiedad de servicio estándar de Http Whiteboard, org.http.whiteboard.servlet.pattern, que proporciona una ubicación de URL relativa para el 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>
Acceso al servlet
Cuando se inicia el servidor o se añade la característica a un servidor en ejecución, podría ver algunos mensajes como los que se proporcionan en el ejemplo siguiente:
[AUDIT
] CWWKE0001I: Se ha lanzado el servidor defaultServer.
[AUDIT   ] CWWKZ0058I: Supervisión de dropins para aplicaciones. 
[AUDIT   ] CWWKN2000A: Raíz de contexto de HTTP Whiteboard
añadida: /osgi/http
[AUDIT   ] CWWKN2000A: Raíz de contexto de HTTP Whiteboard
añadida: /osgi/http/shared
[AUDIT   ] CWWKT0016I: Aplicación web disponible (default_host): http://localhost:9080/osgi/http/
[AUDIT   ] CWWKN2000A: Raíz de contexto de HTTP Whiteboard
añadida: /osgi/http/MyHttpWhiteboardApp
[AUDIT   ] CWWKZ0001I: Aplicacación MyHttpWhiteboardApp
iniciada en 0,424 segundos.
En este ejemplo, existen tres mensajes de raíz de contexto de HTTP Whiteboard añadida. El último mensaje muestra donde se ha añadido la raíz de contexto para la aplicación, MyHttpWhiteboardApp. La aplicación también contiene el servlet definido en el ejemplo anterior de Blueprint. Puede acceder a un servlet combinando el URL de la aplicación web que finaliza en /osgi/http/ y el URL relativo para la raíz de contexto de Whiteboard (fusionando la intersección de /osgi/http/) y, después, añadiendo la ubicación del servlet que se especifica en osgi.http.whiteboard.servlet.pattern. Por ejemplo, la fusión del URL de la aplicación web (http://localhost:9080/osgi/http/) y la raíz de contexto de Whiteboard (/osgi/http/MyHttpWhiteboardApp) para la aplicación da como resultado:
http://localhost:9080/osgi/http/MyHttpWhiteboardApp
Añadir el valor de osgi.http.whiteboard.servlet.pattern generará el URL siguiente:
http://localhost:9080/osgi/http/MyHttpWhiteboardApp/mywhiteboardservlet
Combinación con otras prestaciones

La especificación Http Whiteboard se basa en los servicios OSGi. Esto significa que la característica se integra con otros servicios OSGi nativos y modelos de componente. Por ejemplo, Blueprint se puede utilizar para inyectar dinámicamente otros servicios. Los manejadores de espacios de nombre Blueprint y la administración de configuración se pueden utilizar para inyectar dinámicamente valores de configuración en el servlet, lo que permite que la configuración de la aplicación se modifique, si es necesario.


Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_osgi_httpwhiteboard.html