GlassFish es un servidor de aplicaciones desarrollado por Sun Microsystems.
GlassFish implementa las tecnologías definidas en la plataforma Java EE y permite ejecutar aplicaciones que siguen esta especificación.
La versión comercial es denominada Sun GlassFish Enterprise Server. La versión usada es gratuita y de código libre, se distribuye bajo un licenciamiento dual a través de la licencia CDDL y la GNU GPL. GlassFish está basado en el código fuente donado por Sun y Oracle Corporation; éste último proporcionó el módulo de persistencia TopLink. GlassFish tiene como base al servidor Sun Java System Application Server de Sun Microsystems, un derivado de Apache Tomcat y que usa un componente adicional llamado Grizzly que usa Java NIO para escalabilidad y velocidad.
Para lograr mejoras de funcionamiento y de seguridad, se va a desplegar Apex dentro del Servidor de Aplicaciones GlassFish.
Preparando el listener de Oracle Application Express
Como usuario root se ejecuta de la terminal del sistema:
# cd /u01/app/listener # unzip /u01/app/apexlinux/apex_listener.2.0.2.133.14.47.zip
Se le asignan permisos a la carpeta "Listener".
# chown oracle:oinstall /u01/app/listener -R
Instalación de Glassfish
Desde la terminal del sistema y como usuario "root" se ejecuta:
# cd /u01/app # unzip /u01/app/apexlinux/ogs-3.1.2.2.zip #cp/u01/app/oracle/product/11.2.0/xe/apex/images /u01/app/glassfish3/glassfish/domains/domain1/docroot/i -a # rm /u01/app/glassfish3/glassfish/domains/domain1/docroot/index.html
Lo que se hace con la ejecución de estos comandos es descomprimir GlassFish en la ruta "/u01/app" y copiar la carpeta de imágenes de Apex en GlassFish. Por último, se borra el index.html por defecto de GlassFish.
Se crea un nuevo archivo index.html para GlassFish, para ello se ejecuta:
# nano /u01/app/glassfish3/glassfish/domains/domain1/docroot/index.html
Y se añade:
<html>
<head>
<meta HTTP-EQUIV="REFRESH" content ="0; /apex/f?p=4550">
</head>
<body>
</body>
</html>
Por último se guarda el archivo.
A continuación, se crea el script para el servicio GlassFish.
# nano /etc/init.d/glassfishd
El contenido de dicho script es el mostrado a continuación:
#!/bin/bash # # glassfish Start up the Glassfish server daemon # # chkconfig: 2345 55 25 # description: Glassfish is an application server. # This service starts up the Glassfish3 server daemon. # # processname: glassfish source /etc/profile GLASSFISH_HOME=/u01/app/glassfish3 RUN_AS_USER=oracle case $1 in start) su - $RUN_AS_USER -c "sh $GLASSFISH_HOME/bin/asadmin start-domain domain1" ;; stop) su - $RUN_AS_USER -c "sh $GLASSFISH_HOME/bin/asadmin stop-domain domain1" ;; restart) su - $RUN_AS_USER -c "sh $GLASSFISH_HOME/bin/asadmin stop-domain domain1" su - $RUN_AS_USER -c "sh $GLASSFISH_HOME/bin/asadmin start-domain domain1" ;; esac exit 0
Se guarde el script y a continuación se añaden permisos de ejecución y se configura el servicio para que se inicie de forma automática.
# chmod +x /etc/init.d/glassfishd # chkconfig --add glassfishd # chkconfig glassfishd on
Por último, se asignan permisos al directorio de GlassFish y se arranca el servicio.
# chown oracle:oinstall /u01/app/glassfish3/ -R # service glassfishd start
Al arrancar el servicio Glassfish por primera vez, se solicita configurar usuario y contraseña para Glassfish.
Finaliza la configuración de GlassFish, se accede a la interfaz web de administración desde el navegador http://localhost:4848
Despliegue de APEX en Glassfish
En este apartado se va a explicar el acceso a GlassFish mediante el usuario configurado en la instalación.
Una vez dentro de la interfaz de GlassFish, se realizan los siguientes pasos:
Configurations > default-config > Security
Activar "Asignación de Principal por Defecto a Rol" (Default Principal to Role Mapping)
Guardar
Configurations > default-config > Security > Realms > file > Manager Users
Se Crean dos usuarios:
nombre: adminListener grupo: Admin pass: admin1 nombre: managerListener grupo: Manager pass: manager1 Guardar Aplications > Deploy > Examinar > Seleccionar /u01/appa/listenerer/apex.war Tipo: Aplicación Web Nombre: apex Context Root: pls Descripción: apex listener Aceptar
Configuración del Listener de Oracle Application Express
Desde la terminal lanzar como usuario root
# java -jar /u01/app/listener/apex.war
Hecho esto, aparecerá el menú de configuración y se establece la siguiente configuración:
Servidor de la Base de Datos: localhost Puerto de recepción de la base de datos: 1521 Especificar el SID de la base de datos: 2 SID de la Base de datos: xe Nombre de usuario de la base de datos: APEX_PUBLIC_USER Contraseña de la base de datos de usuario APEX_PUBLIC_USER Confirma contraseña Para introducir las contraseñas para estos usuarios (la misma contraseña que la del usuario APEX_PUBLIC_USER): 2 Salir: 2
Ejecutar de nuevo.
# java -jar /u01/app/listener/apex.war
Y a continuación:
Enter sin introducir nada. Enter de nuevo para aceptar el puerto 8080.
Desde la interfaz de GlassFish, en Aplicaciones, se recarga la configuración.
Aplications > reload
El último paso es comprobar el funcionamiento, para ello se ejecuta desde el navegador:
http://localhost:8080/pls/f?p=4550
Para obtener más información sobre Oracle Application Express, consultar el siguiente enlace:
www.adminso.es/index.php/PFM_Aprende_a_Programar_con_APEX
Próxima entrega: Automatizar Backup de Aplicaciones y Base de Datos en Oracle Application Express