Este ejemplo se muestra cómo declarar los servicios en el archivo blueprint de un paquete, que hace que esté accesible para otros paquetes de la aplicación. La aplicación OSGi consta de un paquete web OSGi que contiene un servlet que accede a un servicio que se proporciona en otro proyecto de paquete. La aplicación se ejecuta en WebSphere Application Server. En este ejemplo se proporciona una introducción sobre cómo se utilizan las herramientas de desarrollo de aplicaciones OSGi.
Consejo: Puede ejecutar este ejemplo en las versiones 7.0, 8.0 y 8.5 de WebSphere Application
Server.
Obtener más información sobre cómo instalar WebSphere Application Server , versión 7.0: Para ejecutar este ejemplo en la versión 7.0 de WebSphere Application Server, debe instalar el paquete de características para Feature Pack for OSGi Applications y Java™ Persistence API 2.0.
Para instalar el paquete de características:
- Abra IBM® Installation Manager.
- Pulse Instalar. Se abre la página Instalar paquetes.
- En la lista de paquetes, seleccione Entorno de prueba de IBM
WebSphere Application Server Versión 7.0 y luego pulse
Siguiente.
- Lea los acuerdos de licencia. Acepte los acuerdos de licencia y pulse Siguiente.
- Siga las instrucciones de Installation Manager para instalar
WebSphere Application Server
Versión 7.0.
- En la lista de características, asegúrese de que selecciona Aplicaciones OSGi
bajo IBM WebSphere Application Server Versión 7.0 Feature Pack para OSGi Applications y
Java Persistence API 2.0.
Obtener más información sobre cómo instalar WebSphere Application Server, versión 8.0: Para ejecutar este ejemplo en WebSphere Application Server, versión 8.0, debe instalar el servidor:
- Abra IBM Installation Manager.
- Pulse Instalar. Se abre la página Instalar paquetes.
- En la lista de paquetes, seleccione IBM WebSphere Application
Server Versión 8.0 y, a continuación, pulse Siguiente.
- Lea los acuerdos de licencia. Acepte los acuerdos de licencia y pulse Siguiente.
- Siga las instrucciones de Installation Manager para instalar
WebSphere Application Server
Versión 8.0.
Más información sobre cómo instalar la versión 8.5 de WebSphere Application Server: Para ejecutar este ejemplo en WebSphere Application Server, versión 8.5, debe instalar el servidor:
- Abra IBM Installation Manager.
- Pulse Instalar. Se abre la página Instalar paquetes.
- En la lista de paquetes, seleccione IBM WebSphere Application
Server Versión 8.5 y, a continuación, pulse Siguiente.
- Lea los acuerdos de licencia. Acepte los acuerdos de licencia y pulse Siguiente.
- Siga las instrucciones de Installation Manager para instalar
WebSphere Application Server
Versión 8.5.
Para desplegar su aplicación Contador OSGi en un servidor:
- En el Explorador empresarial, expanda .
- Pulse el botón derecho del ratón en CounterServlet y seleccione . Se abre el diálogo Ejecutar en servidor.
- Pulse WebSphere Application Server en la lista de servidores y pulse Finalizar.
La serie greet.getText()=0 Hello World! se mostrará en el navegador. Cada vez que se vuelve a cargar la página, incrementa el valor.
Conmute a la vista Consola () para ver la salida del servidor. Un resultado satisfactorio muestra la salida de
CounterImpl.init(),
GreetImpl.init() y
WorldImpl.init(), en base a las entradas del método de inicialización para los beans
CounterImpl,
GreetImpl y
WorldImpl en el archivo blueprint:
[7/21/10 11:42:18:109 EDT] 0000002f StepStartBLA A CWWMH0300I: Iniciando la aplicación de nivel empresarial "WebSphere:blaname=CounterApp". [7/21/10 11:42:19:421 EDT] 0000002f webapp I com.ibm.ws.webcontainer.webapp.WebGroupImpl WebGroup SRVE0169I: Cargando módulo web: CounterWebBundle.
[7/21/10 11:42:19:515 EDT] 0000002f WASSessionCor I SessionContextRegistry getSessionContext SESN0176I: Se creará un contexto de sesión nueva para la clave de aplicaciones default_host/CounterWebBundle
[7/21/10 11:42:19:531 EDT] 0000002f webcontainer I com.ibm.ws.wswebcontainer.VirtualHost addWebApplication SRVE0250I: El módulo web CounterWebBundle se ha enlazado a default_host[*:9080,*:80,*:9443,*:5060,*:5061,*:443].
[7/21/10 11:42:19:593 EDT] 0000002f StepStartBLA A CWWMH0196I: La aplicación de nivel empresarial "WebSphere:blaname=CounterApp" se ha iniciado correctamente.
[7/21/10 11:42:19:640 EDT] 0000001d SystemOut O Se ha invocado WorldImpl.init().
[7/21/10 11:42:19:640 EDT] 00000032 SystemOut O Se ha invocado CounterImpl.init().
[7/21/10 11:42:19:687 EDT] 00000032 SystemOut O Se ha invocado GreetImpl.init().
Nota: Si no se visualiza la salida de CounterImpl.init(), GreetImpl.init() y WorldImpl.init() en la salida de la consola, compruebe los mensajes de error durante el despliegue o el arranque de la aplicación y, a continuación, compruebe los archivos blueprint por si hubiera errores en las definiciones del bean y del servicio.