En Autentia trabajamos constantemente en el desarrollo de aplicaciones web para nuestros clientes. En esta línea, resulta fundamental el manejo y dominio de los distintos servidores para aplicaciones web disponibles que ofrecen mayor fiabilidad. En este nuevo tutorial os queremos mostrar cómo desplegar una aplicación web en el WebSphere Server.
1. Desplegando una aplicación
Las aplicaciones Web las empaquetamos en archivos .war (web archive).
También tenemos la opción de usar archivos .ear (enterprise aprchive). Este tipo de archivos pueden englobar más de una aplicación Web, varios jar, EJBs, …
A continuación vamos a ver las pantallas en la consola de administración para hacer el despliegue de uno de estos archivos .war en el servidor de aplicaciones.
En el menú desplegable de la derecha seleccionamos “Install New Application”. Esta opción nos permite tanto instalar aplicaciones empresariales (.ear), como aplicaciones web (.war).
Lo primero que nos pide es indicar donde esta el fichero war o ear. El fichero puede estar tanto en local como en el propio servidor.
Si estamos desplegando un war es necesario indicar el contexto por el cual luego se accederá a la aplicación Web.
Esta pantalla nos permite establecer los nombres por los que se accederá a los recursos (Virtual Host, EJBs, DataSources, …).
Le damos a siguiente.
Nos muestra advertencias de seguridad.
En esta pantalla encontramos algunas opciones interesantes:
-
Pre-compile JSP:
Si activas esta casilla conseguimos que todas las JSP se compilen durante el despliegue. Esto tiene dos grandes ventajas:
-
El tiempo de respuesta para el primer usuario es el mismo que para el segundo. Si
no activamos esta casilla el primer usuario sufriría una demora ya que es necesario traducir y compilar cada JSP que va visitando. -
La segunda, y más importante, ventaja es que detectamos errores de sintaxis dentro de
la JSP en tiempo de despliegue, en vez de en tiempo de servicio. Da muy mala imagen que cuando un usuario intenta acceder a una página esta falla dando, normalmente, un error ininteligible para el usuario.
-
Directory to Install Application: Esta opción nos permite especificar un directorio de instalación diferente al directorio por defecto que se encuentra dentro de la instalación del WebSphere.
-
Enable Class Reloading: Si activamos esta casilla podremos hacer cambios “en caliente” sobre la aplicación, si necesidad de parar y arrancar. Esto puede resultar una ventaja en el entorno de desarrollo o pruebas, pero está desaconsejado en producción, ya que implica que el servidor esta constantemente revisando las fechas de los ficheros para ver si han cambiado. En producción no nos interesa gastar CPU en este proceso y, además, se supone que las subidas a producción son puntuales, así que no hay problema por parar y arrancar la aplicación.
-
Reload Interval in Seconds: Tiene sentido si está activa la opción anterior. Determina cada cuanto tiempo el servidor se da una vuelta por los ficheros para ver si han cambiado.
Esta pantalla nos permite elegir el virutal host donde se ejecutará la aplicación Web (o aplicaciones Web en caso de estar haciendo el despliegue de un ear).
Esta pantalla nos indica en que celda/nodo/servidor se va instalar la aplicación.
Esto sólo tiene sentido cuando tenemos un cluster con un WebSphere ND (para el WebSphere Express esta pantalla no tiene aplicación).
Se nos muestra un resumen de las opciones.
En este punto la aplicación está desplegada en los directorios temporales del servidor. Tenemos que dar a “Save to Master Configuration” para terminar.
Damos a “Save” y la aplicación estará lista para arrancar. Ahora la aplicación la podemos encontrar en los directorios del WebSphere en:
${USER_INSTALL_ROOT}installedAppsDefaultNode
Donde ${USER_INSTALL_ROOT} es el directorio donde tenemos instalado el WebSphere. Por ejemplo en mi caso ${USER_INSTALL_ROOT} = C:javaIBMWebSphereExpress51AppServer
Que mas Alejandro, estoy trabajando con WebPhere y Maven, pero los ear que genero de proyectos creados con maven no funcionan en WAS, entonces no se si es por algún arquetypo o algo, investigando encontré que hace falta alguna configuración en el web.xml del proyectoWEB para que el .ear se pueda instalar en webpshere
entonces no se si ud sabe como podría ayudar a solucionar el problema o quien sabrá sobre tema
Hola. De antemano gracias por la información.
Quisiera preguntar si existe algun manual para desplegar un EAR desde Linux directamente por comando.
Muchas gracias
Pues no te puedo asegurar porque hace mucho que no trabajo con WebSphere (este tutorial tiene casi diez años ? pero apostaría a que sí.
Te recomiendo que revises la documentación del producto a ver si encuentras algo.
Saludos y muchas gracias.