Instalación y configuración de Glassfish 4
Instalación
Instalación Windows (Windows 8)
Para completar la instalación del servidor de aplicaciones Glassfish4 en un equipo con sistema operativo Windows tendremos que realizar los siguientes pasos:
Descomprimir el archivo latest-glassfish.zip en C.
Para arrancar el servidor navegamos hasta el directorio bin desde la consola de comandos y ejecutamos el siguiente comando:
C:\glassfish4\glassfish\bin asadmin start-domain
La primera vez que arrancamos el servidor, se crea el directorio …/domains/domain1
NOTA: Hay que tener en cuenta tener un JDK compatible con la versión de GlassFish que se va a instalar.
Instalación RedHat
Será necesario tener instalado Java y alguna herramienta de descompresión de archivos.
Por ejemplo:
-
yum install java-1.8.0
-
yum install unzip
-
Descomprimir el archivo latest-glassfish.zip unzip latest-glassfish.zip
-
Para arrancar el servidor navegamos hasta el directorio bin desde la consola de comandos y ejecutamos el siguiente comando:
-
cd glassfish4\glassfish\bin
-
./asadmin start-domain
-
La primera vez que arrancamos el servidor, se crea el directorio …/domains/domain1
Para poder acceder de forma remota será necesario crear un usuario con contraseña. A continuación vamos a crear una contraseña válida para el usuario “admin”:
./asadmin change-admin-password –user admin
Para que se pueda acceder a la consola de forma remota (si fuera necesario):
./asadmin –host localhost –port 4848 enable-secure-admin
Configuración
Descomprimimos el contenido de adf-essentials.zip en:
- glassfish4/glassfish/domains/domain1/lib mediante unzip -j
IMPORTANTE: hay que usar la función -j para descomprimir todos los jars sin estructura de directorios. Todos los jars tienen que estar en …\domain1\lib
- De todos los jars de adf-essentials movemos el jar ojdbc7dms.jar al directorio lib general del servidor glassfish4\glassfish\lib.
- Accedemos a la consola de weblogic:http://localhost:4848/common/index.jsf
Configuración JVM:
Configurations > server-config > JVM Settings > JVM Options
Añadimos las siguientes propiedades:
- -Doracle.jdbc.autoCommitSpecCompliant=false
- -Doracle.mds.cache=simple
- -XX:MaxPermSize=512m (debe tener el máximo posible)
JDBC Connection Pools
Resources > JDBC > JDBC Connection Pools
Añadimos una nueva conexión con las siguientes propiedades: (datos de ejemplo, sustituir por los reales los que están en rojo)
- PoolName: DemoGlassfish
- Resource Type: javax.sql.DataSource
-
Datasource Classname: oracle.jdbc.xa.client.OracleXADataSource
- Url: jdbc:oracle:thin:@demo:1521:Desarrollo01
- User: demo
- Password: *******
JDBC Resources
Resources > JDBC > JDBC Resources
- JNDI Name: jdbc/DemoGlassfishDS (Este nombre lo usaremos más adelante para configurar nuestra aplicación ADF)
- ConnectionPool: DemoGlassfish (Nombre de la conexión que hemos creado en el paso anterior).
Configuración y Deployment de aplicación ADF
Configuración
A continuación vamos a configurar una aplicación ADF en JDeveloper para que pueda ser desplegada en un servidor GlassFish 4 (configurado previamente).
Model
Una vez configurado el servidor Glassfish y creadas las conexiones de base de datos (JDBC Connections Pools y JDBC Resources) tenemos que adaptar nuestra aplicación para que use el jdbc de Glassfish.
En nuestro proyecto Model seleccionamos el AppModule y en la pestaña Configurations, seleccionamos y editamos las propiedades de la configuración AppModuleLocal.
En la configuración Connection Type seleccionaremos JDBC DataSource y en Datasource Name introducimos el nombre del JDBC Resource que hemos configurado previamente en el servidor Glassfish.
ViewController
Será necesario incluir algunas propiedades en el proyecto ViewController de nuestra aplicación para que funcione en Glassfish.
Añadiremos las siguientes propiedades al fichero de configuración web.xml que se encuentra en ViewController > Web Content > WEB-INF > web.xml.
<context-param>
<param-name>javax.faces.FACELETS_VIEW_MAPPINGS</param-name>
<param-value>*.jsf;*.xhtml,*.jspx,*.jsp</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jsf</param-value>
</context-param>
OPCIONAL pero recomendable. Añadir una página de inicio en nuestra aplicación:
- faces: quiere decir que la página se encuentra en un taskFlow y por tanto la navegación modelada mediante flujos está activa.
- listadoAreas: identificador de la página. Cómo se llama la página jsf o jspx sin extensión en el taskFlow. Por norma general vamos a mantener siempre el mismo nombre en el archivo fuente y en nodo de los taskFlow.
<welcome-file-list>
<welcome-file>faces/listadoAreas</welcome-file>
</welcome-file-list>
Configuración del WAR
Sobre el proyecto ViewController de nuestra aplicación pulsamos botón derecho y seleccionamos la opción New > From Gallery. En la ventana que se muestra buscaremos la opción General > Deployment Profiles > WAR File.
Se mostrará la siguiente ventana, en la que tendremos que indicar el nombre del perfil de despliegue:
A continuación configuraremos el perfil para que el WAR generado sea compatible con GlassFish.
- Seleccionamos la opción File Groups > WEB-INF/lib > Contributors. En el listado de librerías que se muestran en la parte derecha de la ventana, además de las que ya hay seleccionadas, tendremos que seleccionar las siguientes:
- ADF Faces Runtime 11
- JSTL 1.2
Seleccionamos la opción File Groups > Web Files > Filters > WEB-INF y desmarcamos la opción weblogic.xml.
Por último, en la opción Platform, seleccionamos Glassfish 3.1 como plataforma de despliegue por defecto.
El nuevo perfil de despliegue se mostrará en las propiedades del proyecto ViewController, en la opción Deployment.
Configuración del EAR
Una vez configurado el despliegue del proyecto ViewController de nuestra aplicación, vamos a proceder a configurar el despliegue de la aplicación para que sea compatible con Glassfish 4.
Sobre el menú Application seleccionamos la opción New. En la ventana New Gallery que se muestra buscaremos la opción General > Deployment Profiles > EAR File
En la ventana que se muestra a continuación introduciremos un nombre para el perfil de despliegue.
A continuación configuraremos el perfil para que el EAR generado sea compatible con GlassFish.
- En la opción File Groups > Application Descriptors > Filters desmarcar la opción weblogic-application.xml.
- En la opción Application Assembly seleccionamos el perfil de despliegue WAR del proyecto ViewController que hemos generado en la fase anterior.
Por último, en la opción Platform, seleccionamos Glassfish 3.1 como plataforma de despliegue por defecto.
El nuevo perfil de despliegue se mostrará en las propiedades de la aplicación, en la opción Deployment.
Deployment
Para desplegar la aplicación y generar el EAR que más adelante pondremos en el servidor Glassfish, seleccionamos la opción Application > Deploy y de todas las opciones disponibles, seleccionamos el perfil de despliegue que acabamos de crear. Se mostrará una ventana para seleccionar el tipo de despliegue. Seleccionaremos Deploy to EAR.
En la consola de despliegue de JDeveloper (Deployment – Log) se mostrará el proceso de despliegue y si hay errores o se realiza correctamente. También nos indica dónde se ha generador el EAR.
[09:48:55 AM] —- Deployment started. —-
[09:48:55 AM] Target platform is (Glassfish 3.1).
[09:48:55 AM] Running dependency analysis…
[09:48:55 AM] Building…
[09:49:11 AM] Deploying 2 profiles…
[09:49:11 AM] ADF shared library is not available, implicitly deploying library ADF Controller Schema
[09:49:11 AM] ADF shared library is not available, implicitly deploying library ADF Controller Runtime
[09:49:11 AM] ADF shared library is not available, implicitly deploying library ADF Page Flow Runtime
[09:49:11 AM] Wrote Web Application Module to C:\JDeveloper\mywork\DemoGlassfish\ViewController\deploy\DemoGlassfish2.war
[09:49:12 AM] Wrote Enterprise Application Module to C:\JDeveloper\mywork\DemoGlassfish\deploy\Glassfish2.ear
[09:49:12 AM] Elapsed time for deployment: 18 seconds
[09:49:12 AM] —- Deployment finished. —-
Por último, para desplegar el EAR en el servidor GlassFish, accedemos a la consola del servidor:
http://localhost:4848/common/index.jsf
En la pestaña Applications, seleccionamos la opción Deploy y seleccionamos el EAR que acabamos de generar desde JDeveloper.