You are on page 1of 73

Oracle

GlassFish Server v3.1










Fernando Prez
16 de Mayo 2011
Versin 0.1

1

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

ndice de Contenido
Introduccin a Glassfish Server v3 ....................................................................... 4
Lo nuevo de Oracle GlassFish Server v3 ..................................................................... 4
Soporte de perfiles Java EE. ............................................................................................... 4
Diseo Modular. ...................................................................................................................... 4
Soporte para extensin de GlassFish Server. ............................................................. 5
Integracin de la Herramienta de Actualizacin. ..................................................... 5
Soporte para Lenguajes de Scripting. ............................................................................ 5
Soporte para Web Services Interoperability Technologies (WSIT). ................ 6
Mejoras en la utilidad appclient. ...................................................................................... 6
Integracin de EclipseLink. ................................................................................................ 6
Movido HTTP Service Settings a Network Service. ................................................. 6
Cambios relacionados a la autenticacin del administrador. ............................. 7
Cambios relacionados con la utilidad asadmin. ........................................................ 7
Cambios relacionados al Esquema de Archivos. ....................................................... 7
Cambios relacionados a las taresas de Ant y la utilidad asant. .......................... 8
Cambios relacionados a la validacin de domain.xml. ............................................ 8
Cambios relacionados a las aplicaciones ..................................................................... 8
Estndares Java EE 6 implementados en GF Server v3 ........................................ 10
Estndares Java EE ............................................................................................................. 10
Distribuciones JDK .............................................................................................................. 11
Instalacin y Desinstalacin de Oracle GlassFish Server v3 ..................... 12
Requerimientos de Instalacin .................................................................................... 12
Hardware y Software ........................................................................................................ 12
Tipos de Archivos de Instalacin ................................................................................ 15
Archivos ZIP ........................................................................................................................... 15
Paquetes Auto-Extrables ................................................................................................ 15
Instalacin del servidor Oracle GlassFish Server v3 ............................................ 16
Usando un archivo de instalacin ZIP ........................................................................ 16
Usando una Instalacin GUI ............................................................................................ 16
Usando Modo Silent ........................................................................................................... 18
Opciones de Instalacin en Modo Linea de Comandos ....................................... 21
Actualizacin de Oracle GlassFish Server v3 ........................................................... 21
Desinstalacin de Oracle GlassFish Server v3 ........................................................ 21
Workshop de Instalacin Oracle GlassFish Server v3Error!
definido.

Marcador

no

Administracin de Glassfish Server v3 ............................................................. 24

2

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1


Valores por Defecto, Archivos y Ubicaciones .......................................................... 24
El archivo domain.xml .................................................................................................... 25
Herramientas de Administracin ............................................................................... 27
Consola de Administracin ............................................................................................. 27
La Herramienta asadmin .................................................................................................. 28
Tareas de Configuracin .................................................................................................. 29
Herramienta de Actualizacin ....................................................................................... 29
Herramienta keytool .......................................................................................................... 30
Java monitoring and Management Console (JConsole) ...................................... 30
Administracin de Dominios ........................................................................................ 30
Creacin de Dominios ....................................................................................................... 30
Inicio y Parado de Dominios, BD y Admin Console .............................................. 33
Implementacin y Borrado Bsico de Aplicaciones ............................................. 35
Desplegar una Aplicacin o Mdulo ............................................................................ 35
Eliminar una Aplicacin o Mdulo ............................................................................... 38
Administracin en Tiempo de Ejecucin .................................................................. 39
Administracin General ................................................................................................... 39
Administracin de Conjuntos de Hilos (Thread Pools) ...................................... 42
Administracin del Servicio de Registros ................................................................. 43
Servicio de Monitoreo ....................................................................................................... 45
Administracin de la Seguridad .................................................................................. 46
Administrando la Seguridad de Usuario ................................................................... 48
Administracin de Recursos y Servicios ................................................................... 50
Administrar Conectividad a Base de Datos .............................................................. 50
Administrar Conectividad a Internet .......................................................................... 52
Implementacin de Applicaciones en GlassFish v3 .............................................. 57
Que saber antes de implementar .................................................................................. 57
Herramientas para Desplegado .................................................................................... 57
Descriptores de Implementacin y Anotaciones ................................................... 59
Mdulos y Aplicaciones .................................................................................................... 60
Implementando Aplicaciones y Mdulos .................................................................. 61
Configuracin detallada de Aplicaciones .................................................................. 61
Creacin y Configuracin de Clsters en GlassFish Server 3 ............................. 65
Conceptos de Clster de GF Server .............................................................................. 65
Creacin, Listado y Eliminacin de un Clsters en GF ........................................ 69
Administracin de un Clster GF ................................................................................. 70

Referencias Bibliogrficas .................................................................................... 73



3

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Introduccin a Glassfish Server v3


Oracle GlassFish Server v3 proporciona un servidor ligero y modular para el
desarrollo en la plataforma Java Enterprise Edition (Java EE) 6 y servicios web en
java. Ofrece una escalabilidad, fiabilidad y rendimiento empresarial.
Oracle GlassFish Server v3 cuenta con una versin Open Source que es
mantenida por la comunidad de GlassFish Server que contribuye al desarrollo.

Lo nuevo de Oracle GlassFish Server v3



Oracle Glassfish Server v3 cuenta con las siguientes nuevas caractersticas
que traen mejoras a la plataforma de desarrollo de aplicaciones y servicios web.
Soporte de perfiles Java EE.

Java EE introduce el concepto de perfiles. Un perfil es una coleccin de
tecnologas Java EE y APIs que encaminan comunidades especificas de desarrollo y
tipos de aplicaciones.
Los siguientes perfiles son implementados en la distribucin de Oracle
GlassFish Server v3:

Full Plataform. La plataforma completa de Java EE esta diseada para
desarrolladores que necesitan el conjunto completo de las APIs Java
EE para el desarrollo de una aplicacin Enterprise, es instalado
cuando instalas OGFS 3 y como parte de la instalacin de Java EE 6
JDK.
Web Profile. El perfil web contiene tecnologas web que son un
subconjunto de la plataforma completa este perfil tambin es
instalado con Java EE 6 JDK.
Diseo Modular.

En OGFS 3 el cdigo ha sido dividido en mdulos para proporcionar
flexibilidad y mejorar el rendimiento en tiempo de ejecucin. La arquitectura
modular ha sido desarrollada con los mas altos estndares de OSGi Alliance y
posibilita el re uso de los mdulos de OGFS 3 as como de otros mdulos.
Este cambio en el diseo permite al usuario solo utilizar los mdulos
requeridos por las aplicaciones desplegadas. Esto cambios reducen el Tiempo de
Inicio, Consumo de Memoria y Espacio en Disco requerido.

4

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

El diseo modular provee:
El desplegado de paquetes OSGi
Despliegue de libreras Java Archive (JAR)
Reemplazar una funcionalidad existente por otra implementacin.
Soporte para extensin de GlassFish Server.


Un nuevo contenedor OGFS 3 System Provide Interface (SPI) define las
interfaces que un desarrollador del contenedor debe implementar para que
GlassFish Server pueda llamarlo apropiadamente. Esto permite a los usuarios de
GlassFish Server agregar comandos de administracin y componentes add-on a la
interface grfica.
Integracin de la Herramienta de Actualizacin.

Esta herramienta esta embebida en la consola de administracin de GlassFish
Server v3. Esta herramienta facilita el manejo de los add-on y las aplicaciones
relacionadas para extender las funciones de GlassFish Server.
La pgina de la herramienta de actualizacin provee lo siguiente:
Componentes Instalados.
Actualizaciones para los componentes instalados.
Componentes add-on que estn disponibles y pueden instalarse.
Una versin standalone de la herramienta de actualizacin esta tambin
disponible con el comando updatetool. Para actualizar, instalar o quitar debes usar
la versin standalone o el comando pkg.
Soporte para Lenguajes de Scripting.

Para facilitar el rpido desarrollo y despliegue de aplicaciones GlassFish
Server soporta una variedad de lenguajes de scripting lo que le permite ir mas ala de
solo desarrollo en Java. Los lenguajes soportados son:

JRuby y Rails. Un lenguaje de scripting y un framework para
desarrollar aplicaciones web.
Grails. Un framework de aplicacin web que aprovecha el lenguaje de
programacin Groovy y los componentes de desarrollo web Java.
Jython y Django. Una implementacin Java del lenguaje Python y un
framework web para Python y una implementacin de Python
(Jython).
jMaki. Un framework para la creacin de aplicaciones Ajax.

5

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Los componentes para integrar los lenguajes de scripting estn disponibles
mediante la herramienta de actualizacin. Los lenguajes de scripting no estn
contemplados bajo la licencia y soporte de Oracle GlassFish Server v3.
Soporte para Web Services Interoperability Technologies (WSIT).


Oracle esta trabajando en conjunto con Microsoft para asegurar la
interoperabilidad de los servicios web en tecnologas empresariales como
optimizacin de mensaje, mensajera de confianza y seguridad. WSIT es un producto
de este esfuerzo conjunto y es parte de Metro 2.0, una pila de servicio web de alto
desempeo y extensible que ofrece interoperabilidad con Microsoft .NET 3.5 Metro
2.0 es incluida en la distribucin completa de Oracle GlassFish Server v3.
WSIT usa y extiende las caractersticas existentes y agrega nuevo soporte a la
interoperabilidad de los servicios web, incluyendo:

Secuencia de Arranque (Bootstrapping) y Configuracin.
Tecnologa de Optimizacin de Mensajes.
Tecnologa de Mensajera de Confianza.
Tecnologa de Seguridad.
Mejoras en la utilidad appclient.

Las mejoras implementadas son:

La utilidad appclient acepta una sintaxis alternativa similar a la
sintaxis del lanzador de aplicaciones Java (java).
La opcin -targetserver para que el servidor y numero de puerto del
destino puedan ser especificados.
Splash Screens son soportados en la aplicacin cliente.
Integracin de EclipseLink.

GlassFish Server usa EclipseLink como su proveedor de Java Persistence API
(JPA) 2.0.
Movido HTTP Service Settings a Network Service.

La muchas de las configuraciones de los servicios HTTP han sido movidas a la
configuracin de Network Service.

6

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1


Cambios relacionados a la autenticacin del administrador.


Los cambios en la autenticacin cambiaron, esta es la lista de cambios:
Al administrador ya no se le piden las credenciales de administracin por
defecto.
Si instalas GlassFish Server v3 usando la distribucin en archivo ZIP, no sers
preguntado por las credenciales cuando ejecutas la consola de
administracin o la utilidad asadmin y subcomandos remotos para realizar
tareas de administracin.
Si solo hay un usuario administrador sin contrasea los inicios de sesin sin
autenticacin son permitidos.
Los requerimientos de autenticacin pueden ser cambiados despus de que
GlassFish Server es instalado.
Cambios relacionados con la utilidad asadmin.


El comportamiento de la utilidad asadmin ha sido modificada para distinguir
entre las opciones para la utilidad asadmin y las opciones para sus subcomandos.
Las opciones para asadmin son permitidas antes del subcomando, sin embargo para
la compatibilidad con versiones anteriores se sigue permitiendo ingresar las
opciones despus del subcomando, pero como una sintaxis deprecada.
Cambios relacionados al Esquema de Archivos.


GlassFish Server v3 ha hecho los siguientes cambios en el esquema de
archivos:

Los directorios de instalacin por defecto son:
o Solaris,
Linux,
Mac
OS
X:
directorio_HOME_del_usuario/glassfishv3
o Windows. Unidad_del_Sistema:\glassfishv3
Un subdirectorio glassfish ha sido agregado con otros subdirectorios
debajo.
Las libreras que el producto tiene han sido movidas de glassfish/lib a
glassfish/modules.
Un directorio osgi a sido agregado.
Un directorio para archivos legales ha sido agregado. El directorio
glassfish/legal ahora contiene archivos de licencia y derechos
reservados.

7

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Oracle Glassfish Message Queue esta instalado en el directorio


principal en vez de un subdirectorio.
Java DB esta instalado en el directorio principal en vez de un
subdirectorio.

Cambios relacionados a las tareas de Ant y la utilidad asant.


Oracle GlassFish Server v3 provee tareas Ant especificas, por lo cual Ant debe
ser instalado. La utilidad asant no es incluida en el relase.
Oracle GlassFish Server v3 es compatible con versiones Apache Ant 1.6.5 o
mayores . Si Ant no esta instalado lo puedes instalar mediante la herramienta de
actualizacin.
Cambios relacionados a la validacin de domain.xml.

Debido a que GlassFish Server v3 es modular y extensible el archivo
domain.xml no puede ser validado contra un archivo DTD esttico. En vez de esto el
archivo es validado contra anotaciones @Configured en el cdigo fuente.
Cambios relacionados a las aplicaciones


Los cambios son:

La opcin force. El valor por defecto es false a diferencia de GlassFish Server
v2. force esta solo disponible para la opcin deploy y no para redeploy.
Aplicaciones y Esquema de Directorios Generados. Glassfish Server v2
contiene los directorios applications/j2ee-apps y applications/j2ee-modules,
en GlassFish Server v3 no existen, ahora solo existe el directorio
applications/name_app para un mdulo standalone name_app.war y los
mdulos y aplicaciones Enterprise comparten el mismo directorio debido a
que no se requiere un capa de directorios intermedia.
Elemento application en domain.xml. Los elementos previos como web-
module, ejb-module y algunos otros estn deprecados en GlassFish Server v3
y son reemplazados todos con el nuevo elemento application. En las
actualizaciones de GlassFish Server v2 las nuevas aplicaciones desplegadas
se alojaran en el directorio applications y el nuevo elemento application en
domain.xml.
Reglas mas estrictas para la visibilidad JAR. Java EE 6 impone reglas mas
estrictas que Java EE 5 por lo que algunas otras aplicaciones podran fallar.

8

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1



Comandos de Aplicacin Cliente deploy --retrieve y get-client-stubs. En
GlassFish Server v3 ejecutando estos comandos no solo descarga un archivo
JAR como en GlassFish Server v2. Mientras el archivo
localdir/myAppClient.jar
es
creado
tambin
el
directorio
localdir/myAppClient que puede contener otros archivos.

9

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Estndares Java EE 6 implementados en GF Server v3


Estndares Java EE
La siguiente tabla muestra los estndares con los que fue implementada en la
distribucin de Oracle GlassFish Server v3:

Estndar Java EE

Java Specification
Request (JSR)

Java Platform, EE 6
Java Servlet Technology 3.0
JavaServer Pages 2.2
Expression Language 2.2
Debugging Support for Other Languages 1.0
Standard Tag Library for JavaServer Pages 1.2
JavaServer Faces 2.0
Common Annotations for the Java Platform 1.1
Java Transaction API 1.1
Java Persistence API 2.0
Enterprise JavaBeans 3.1 Lite
Managed Beans 1.0
Interceptors 1.1
Dependency Injection for Java 1.0
Enterprise JavaBeans 3.1 Full API
Java API for RESTful Web Service (JAX-RS) 1.1
Bean Validation 1.0
Java EE Connector Architecture 1.6
Java API for XML-Based Web Services (JAX-
WS) 2.2
Java Architecture for XML Binding (JAXB) 2.2
Implementing Enterprise Web Services 1.3
Web Services Metadata for the Java Platform
2.1
Java Message Service API 1.1
JavaMail 1.4
Java Authorization Contract for Containers 1.4
Java Authentication Service Provider Interface
for Containers 1.1
Java EE Application Deployment 1.2
J2EE Management 1.1
Java API for XML-Based Remote Procedure
Calls (JAX-RPC) 1.1
Java API for XML-Based Registries (JAXR) 1.0


Nota:

JSR 316
JSR 315
JSR 245
JSR 245
JSR 45
JSR 52
JSR 314
JSR 250
JSR 907
JSR 317
JSR 318
JSR 316
JSR 318
JSR 330
JSR 318
JSR 311
JSR 303
JSR 322
JSR 224

GlassFish Server v3
Full Platform
Profile






GlassFish Server v3
Web Profile






JSR 222
JSR 109
JSR 181

JSR 914
JSR 919
JSR 115
JSR 196

JSR 88
JSR 77
JSR 101

JSR 93

= implementado

= No implementado
10

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1


Distribuciones JDK


Debido a que fue desarrollado con esto estndares GlassFish Server
proporciona una cantidad de extensiones incluidas las siguientes:

Ajax (Asynchronous JavaScript and XML). Recupera y despliega
informacin para una porcin de la pgina sin afectar al resto.
Metro. Una pila de servicios web que implementa Java Architecture
for XML Binding (JAXB) y Java APIs for XML Web Services 2.1 (JAX-WS
2.1)
Grizzly. Un framework para construir servidores robustos y
escalables usando New I/O (NIO) APIs, que hacen la escala posible de
miles de usuarios. La habilidad para componentes embebidos
provedos que soportan HTTP, Bayeux Protocol, Java Servlet API y
Comet.

Oracle GlassFish Server v3 esta disponible en la versiones Java EE 6 JDK
siguientes:
Java EE 6 SDK. Glassfish Server v3 es parte de la Plataforma
Completa.
Java EE 6 Web Profile SDK. Esta versin contiene Glassfish Server v3
Web Profile.

11

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Instalacin y Desinstalacin de Oracle GlassFish Server v3


Oracle GlassFish Server puede ser instalado en las plataformas Solaris, Linux,
Mac OS X y Windows, a continuacin se detalla el proceso.

Requerimientos de Instalacin

Antes de comenzar la instalacin debemos asegurarnos que el sistema en el
que vamos a instalar cumple con los siguientes requerimientos:
Hardware y Software


Plataforma:

Linux
o Oracle Enterprise Linux 4.7+ (x86/x64)
o Oracle Enterprise Linux 5.3+ (x86/x64)
o Red Hat EL 4.7+ (x86/x64)
o Red Hat EL 5.3+ (x86/x64)
o SUSE Linux ES 10 SP1+ (x86/x64)
o SUSE Linux ES 1 Todos los SP (x86/x64)
o Ubuntu 8.04 (x86)
Windows
o Windows XP Profesional SP2+ (x86)
o Windows Vista SP1+ (x86)
o Windows Server 2008 SP1+ (x86)
o Windows 2008 R2 (x64)
o Windows 7 (x64)
Unix
o HP-UX 11i 11.23/11.31 (x64)
Solaris
o Solaris 2.9 Update 9+ (x86)
o Solaris 10 Update 4+ (x64)
Mac OS X
o Mac OS 10.5.10 (x64)
o Mac OS 10.6.1 (x64)

12

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Puertos libres:

Uso
Puerto
Consola de Administracin
4848
HTTP
8080
HTTPS
8081
Clientes JMX Puro
8686
IIOP
3700
IIOP/SSL
3820
IIOP/SSL
con
Mutual
3920
Authentication

Requerimiento de Parches Solaris 10:


Si se usar Solaris 10 se deben aplicar los parches apropiados listados
en la tabla:

Plataforma
Numero de Parche
SPARC
119963-08
x86
119964-08

Versin de JDK:

La instalacin de Oracle GlassFish Server requiere JDK 6, la versin mnima
certificada depende del sistema operativo utilizado.

Para todos los sistemas operativos soportados usando Java JDK la
versin mnima es la 1.6.0_20.
Para todos los sistemas operativos soportados usando JRockit JDK la
versin mnima es la 1.6.0_17.

Nota: Las herramientas keytool y java deben venir del directorio de JDK y no
del directorio de JRE, los cuales son usados por GlassFish Server y asegura que el
directorio bin de JDK precede al directorio bin de JRE, nos debemos asegurar de que
sea as en la variable PATH.

13

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Drivers JDBC y Bases de Datos:

Depende de la combinacin de Base de Datos y Driver usado, para
determinar la compatibilidad verificamos la Matriz de Certificacin.
Versin de mod_jk Soportada:

Oracle GlassFish Server v3 soporta mod_jk 1.2.x, con una versin mnima de
1.2.26.

Para obtener informacin detallada para navegadores, bases de datos y jdk se
puede verificar la matriz de certificacin para Oracle GlassFish Server v3.0.1 en la
web de documentacin (Oracle GlassFish Server Certification Matrix).

Espacio en Disco:

El directorio temporal debe tener espacio suficiente para los
siguientes componentes
o Oracle GlassFish Server: 35 mb mnimo
o Java SDK: 250 mb mnimo
Instalacin de Producto
o Paquetes de Instalacin: 250 mb aprox.
o Software ya instalado: 5 gb aprox. Para tener espacio
suficiente.

Memoria RAM:

Para el producto ya instalado se requiere poca memoria, sin embargo 2 gb es
una cantidad razonable con la que se puede trabajar adecuadamente y configurar
aplicaciones de ejemplo y algunos recursos bsicos, para entornos de produccin
debe analizarse la cantidad de memoria requerida en funcin de los recursos a
instalar en el servidor y el desempeo que se requiera.

14

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Tipos de Archivos de Instalacin


Archivos ZIP

Los archivos ZIP multi-plataforma son compatibles con Linux, Solaris, Mac
OS, Unix y Windows, aqu se muestran los tipos descargables:

Archivo ZIP
Descripcin
ogs-3.0.1.zip
ogs-3.0.1-web.zip
glassfish-3.0.1.zip
glassfish-3.0.1-web.zip

Distribucin de Plataforma Completa


Distribucin de Perfil Web
Distribucin de Plataforma Completa de la Edicin Open Source
Distribucin de Perfil Web de la Edicin Open Source


Paquetes Auto-Extrables


Los paquete auto-extrables son especficos para cada plataforma y estn
disponibles para los sistemas operativos Solaris, Linux, Mac OS, Unix y Windows.

Paquete
Descripcin
ogs-glassfish-3.0.1-unix.sh
ogs-glassfish-3.0.1-windows.exe
ogs-3.0.1-web-unix.sh
ogs-3.0.1-web-windows.exe
glassfish-3.0.1-unix.sh
glassfish-3.0.1-windows.exe
glassfish-3.0.1-web-unix.sh
glassfish-3.0.1-web-windows.exe

Distribucin de Plataforma Completa de


Oracle GlassFish Server para Solaris, Linux
y Mac OS (*-unix.sh) y Windows (*-
windows.exe)
Distribucin de Perfil Web de Oracle
GlassFish Server para Solaris, Linux y Mac
OS (*-unix.sh) y Windows (*-windows.exe)
Distribucin de Plataforma Completa de
GlassFish Server Open Source para Solaris,
Linux y Mac OS (*-unix.sh) y Windows (*-
windows.exe)
Distribucin de Perfil Web de GlassFish
Server Open Source para Solaris, Linux y
Mac OS (*-unix.sh) y Windows (*-
windows.exe)

15

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Instalacin del servidor Oracle GlassFish Server v3



Existen diferentes mtodos de instalacin para la distribucin de Oracle
GlassFish Server, los 3 mtodos son:
Usando un archivo de instalacin ZIP


Antes de iniciar la instalacin se debe cumplir con los requerimientos
establecidos en la seccin Requerimientos de Instalacin de este documento.

1. Descargar el archivo ZIP acorde a la plataforma seleccionada.
2. Cambiarse al directorio donde se ha descargado el archivo ZIP.
3. Extraer el archivo ZIP
a. En sistemas Solaris, Linux y Mac OS

unzip nombre_de_archivo.zip

Ejemplo:


unzip ogs-3.0.1-unix.zip


b. En sistemas Windows
Extraer con la herramienta de su preferencia


GlassFish Server v3 quedar instalado en el directorio glassfishv3 bajo el
directorio donde estas ubicado ahora.
Usando una Instalacin GUI

Oracle GlassFish Server v3 se puede instalar utilizando el Asistente de
Instalacin en modo grfico mediante los paquetes auto-extrables.
Debemos asegurarnos que se cumple con los requerimientos establecidos en
la seccin Requerimientos de Instalacin de este documento.

1. Descargar el paquete de instalacin adecuado a nuestra plataforma.
2. Cambiarse al directorio donde se descargo el paquete.
3. Iniciar el instalador
a. Sistemas Solaris, Linux y Mac OS
Si es necesario asignar permisos de ejecucin

chmod +x paquete_autoextraible.sh

16

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Ejecutar el instalador

./paquete_autoextraible.sh

Por ejemplo:

./ogs-3.0.1-unix.sh


b. Sistemas Windows


Abrimos el instalador con doble click sobre el archivo .exe de instalacin o
ingresando el nombre del paquete en el prompt del sistema ubicados donde esta el
archivo, por ejemplo:

ogs-3.0.1-windows.exe

4. Responde el contrato de licencia si es necesario


5. Especifica una ruta de instalacin
a. Sistemas Solaris, Linux y Mac OS

Directorio_de_HOME__de_Usuario/glassfishv3

b. Sistemas Windows

Disco_de_Instalacin:\glassfishv3


6. Especificar parmetros de administracin
a. Especificar puerto de la Consola de Administracin.
b. Para permitir acceso a la Consola de Administracin sin
password especificamos el usuario admin y dejamos en blanco
el campo password.
c. Si se requiere acceso mediante password suministrar un
usuario y un password en los campos, estos campos son
sensibles al caso (Maysculas/Minsculas).
7. Especificar donde instalar la herramienta de actualizacin.
a. Si no se quiere instalar la herramienta desmarcar el checkbox.
b. Si se quiere instalar la herramienta y se esta tras un proxy
especificar los datos del proxy.
c. Si se quiere instalar la herramienta y no se quiere recibir
notificaciones de actualizacin desmarcar el checkbox para
evitar los avisos.
17

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1


8. Especificar la ruta de instalacin de JDK que ser usada para la
instalacin. Se puede usar la versin detectada por el instalador o
especificar una diferente.
9. Revisar la seccin Ready to Install y si todo esta bien damos click en el
botn Install para comenzar la instalacin.
10. Es recomendable omitir la seccin de registro de GlassFish Server
durante la instalacin seleccionando Skip Registration y utilizar la
Consola de Administracin en el futuro para registrarlo.
11. Revisar la seccin Summary y cerrar el instalador dando click en Exit.
Usando Modo Silent


El modo de instalacin silenciosa (Silent Mode) es un modo de instalacin no
interactivo basado en los parmetros definidos por el usuario capturado en un
archivo de respuestas. El archivo de respuestas puede ser usado despus para
instalar Oracle GlassFish Server en un o mas sistemas.
Durante el proceso de instalacin en modo interactivo tu puedes elegir los
valores por defecto o puedes cambiarlos, los valores ingresados sern recolectados
y usados en el modo de instalacin silenciosa.
Para realizar el proceso de instalacin mediante este modo se tiene tres
pasos generales que seguir:

Crear el archivo de respuestas

1. Descargar el paquete de instalacin adecuado a la plataforma.
2. Asignar permisos de Ejecucin se es necesario.

chmod +x ogs-3.0.1-unix.sh


3. Ejecutar el instalador en modo de prueba

./ ogs-3.0.1-unix.sh -n answer_file
./ ogs-3.0.1-unix.sh -n 3.0.1-answer


La opcin -n nos permite iniciar en modo de prueba el instalador y
answer_file ser nuestro archivo de respuestas donde se guardaran las preferencias
seleccionadas.

4. Realizar la instalacin basados en la seccin Usando una Instalacin
GUI descrita en este documento.

18

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

5. Al proporcionar la informacin de instalacin y dar click en Install el


instalador crear el archivo de respuestas en lugar de realizar la
instalacin real, si no se ha especificado una ruta al archivo de
respuestas ser creado bajo el directorio donde se encuentra el
instalador.

Revisar el archivo de respuestas

El archivo de respuestas provee un numero de parmetros especficos
seleccionados en la instalacin en modo de prueba, los cuales pueden ser cambiados
editando el archivo de respuestas.
Un ejemplo del archivo de respuestas es el siguiente:

#openInstaller Dry Run Answer File. This File can be used as input to the openInstaller
engine
using
the
-a
option.
#Tue
Nov
10
19:25:05
PST
2009
RegistrationOptions.regoptions.CREATE_NEWACCT=CREATE_NEWACCT
glassfish.Administration.HTTP_PORT=8080
updatetool.Configuration.PROXY_PORT=
glassfish.Administration.ADMIN_PASSWORD=
JDKSelection.directory.JDK_FROM_LIST_CHOICE=true
RegistrationOptions.regoptions.SKIP_REGISTRATION=SKIP_REGISTRATION
updatetool.Configuration.PROXY_HOST=
SOAccountCreation.accountinfo.COUNTRY=
InstallHome.directory.INSTALL_HOME=C\:\\glassfishv3
RegistrationOptions.regoptions.USE_EXISTINGACCT=USE_EXISTINGACCT
SOAccountCreation.accountinfo.FIRSTNAME=
updatetool.Configuration.ALLOW_UPDATE_CHECK=true
glassfish.Administration.ADMIN_USER=admin
JDKSelection.directory.JDK_LIST=JDK-location
SOAccountCreation.accountinfo.PASSWORD=
SOAccountCreation.accountinfo.COMPANYNAME=
JDKSelection.directory.HIDDEN_JDK=JDK-location
SOAccountCreation.accountinfo.COUNTRY_DROP_DOWN=
SOAccountCreation.accountinfo.REENTERPASSWORD=
License.license.ACCEPT_LICENSE=0
RegistrationOptions.regoptions.USERNAME=
updatetool.Configuration.BOOTSTRAP_UPDATETOOL=true
SOAccountCreation.accountinfo.LASTNAME=
glassfish.Administration.ADMIN_PORT=4848
RegistrationOptions.regoptions.USERPASSWORD=
JDKSelection.directory.JDK_TYPED_IN_CHOICE=false
SOAccountCreation.accountinfo.EMAIL=
JDKSelection.directory.JDK_TYPE_IN= RegistrationOptions.regoptions.DUMMY_PROP=

19

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Para editar el archivo de respuestas solo se pueden cambiar los siguientes
parmetros, los dems parmetros no pueden ser cambiados debido a que son
especficos del sistema en cual se realiza la instalacin.

Parmetro
Descripcin
Provee otro nombre de directorio para
instalar Glassfish Server
Provee un password para la Consola de
Administracin
Asigna otro puerto a la Consola de
Administracin
Provee otro nombre de usuario
administrador
Asigna otro puerto a las conexiones
HTTP
Puede establecerse otra ubicacin para
JDK 6
Puede establecerse true o false, siempre
establece este valor a true si estas
usando modo silencioso en la instalacin
No usado en esta versin, ignorarlo

InstallHome.directory.INSTALL_HOME=asinstall-parent
glassfish.Administration.ADMIN_PASSWOR
D=
glassfish.Administration.ADMIN_PORT=48
48
glassfish.Administration.ADMIN_USER=ad
min
glassfish.Administration.HTTP_Port=808
0
glassfish.Administration.JDK_TYPE_IN=j
dk-location
glassfish.Administration.JDK_TYPED_IN_
CHOICE=true
glassfish.Administration.HIDDEN_JDK=jd
k-location
updatetool.Configuration.ALLOW_UPDATE_
CHECK=true
updatetool.Configuration.BOOTSTRAP_UPD
ATE=true
updatetool.Configuration.PROXY_HOST=
updatetool.Configuration.PROXY_PORT=

Cambia a false si no quieres avisos de


actualizaciones
Cambia a false si no quieres instalar la
herramienta de actualizacin
Asigna un nombre de host del proxy
Asigna un puerto del host del proxy

Realizar instalacin en Modo Silencioso



Antes de iniciar con la instalacin asegrate de haber creado el archivo de
respuestas necesario para este tipo de instalacin y verificar que los parmetros a
usar son correctos.

1. Navegar al directorio donde se encuentra el paquete autoextrable a
usar para realizar la instalacin silenciosa.
2. Ejecutar el instalador desde la lnea de comandos de la siguiente
manera:

ogs-3.0.1-unix .sh -a 3.0.2-answer -s

20

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Cuando el puntero sea retornado entonces la instalacin en modo silencioso
habr concluido y nuestro producto estar listo.
Opciones de Instalacin en Modo Lnea de Comandos

Al ejecutar en lnea de comandos el instalador en .sh o .exe tenemos las
siguientes opciones disponibles, deben ingresarse despus del nombre del paquete
autoextrable:

Opcin
Descripcin
-a answer-file
Ejecuta el instalador en Modo Silencioso con el archivo de
respuestas especificado. Usar con la opcin -s
-l log-directory Escribe informacin de registro en el directorio especificado
-q
Establece el nivel de registro a WARNING
-v
Establece el nivel de registro a FINEST
-s
Corre el programa de instalacin en modo silencioso
-j javahome
Usar este directorio para el software de instalacin JDK
-n answer-file
Ejecuta el programa de instalacin en Modo de Prueba para
crear el archivo de respuestas para usarlo en Modo Silencioso
-h / -help
Despliega la ayuda mostrando las opciones de esta tabla

Actualizacin de Oracle GlassFish Server v3



Oracle GlassFish Server v3 cuenta con la Herramienta de Actualizacin la cual
nos permite mediante la Consola de Administracin Visualizar los componentes
incluidos en GlassFish Server y mediante la Utilidad updatetool agregar, actualizar y
eliminar estos componentes. Las Herramientas de Actualizacin traen nuevas
caractersticas a GlassFish Server para aumentar la potencia agregando add-ons con
nuevas funciones y estos add-ons comprenden tambin los Lenguajes de Scripting
disponibles en GlassFish Server.

Desinstalacin de Oracle GlassFish Server v3



Durante el proceso de instalacin de GlassFish Server el instalador crea un
script dentro de la carpeta de instalacin el cual es utilizado para desinstalar el
producto, si es utilizado algn otro mtodo se puede tener problemas cuando se
trate de reinstalar el producto o al instalar una nueva versin.

21

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Para desinstalar una versin basada en archivos ZIP solo debe eliminarse el
directorio de instalacin de GlassFish Server asegurndonos de guardar los archivos
que queramos conservar o nos sean tiles tras desinstalar.

Que hacer antes de desinstalar

Antes de Desinstalar GlassFish Server debemos detener todos los dominios y
los procesos que utilizan Java EE, las notificaciones de la herramienta de
actualizacin, las carpetas de instalacin y los archivos de instalacin.
Para detener los dominios usamos el comando asadmin stop-domain.
Para detener los procesos de notificacin de la herramienta de actualizacin
utilizamos el comando updatetool --notifier --shutdown ejecutado desde as-install-
parent/bin, si la herramienta de actualizacin esta instalada el notificador esta en
ejecucin por defecto.
Para parar los procesos hurfanos lo hacemos de la siguiente manera:

Sistemas Solaris, Linux, Mac OS
Usar el comando ps -ef para determinar que procesos matar con kill -9 #

Sistemas Windows
Usar el administrador de tareas para terminar los procesos

Que hacer para desinstalar

1. Navegar al directorio donde esta instalado GlassFish Server v3.
2. Iniciar el programa de desinstalacin

Solaris, Linux, Mac OS
o Asignar permisos de ejecucin si es necesario

chmod +x uninstall.sh

o Ejecutar el programa

./uninstall.sh

Windows
Dar doble click sobre el programa uninstall.exe o ejecutar desde el prompt
22

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Nota: Para desinstalar en modo silencioso agregar la opcin -s seguido del
nombre del script .sh o programa .exe.

3. Revisar la Pgina Summary y cerrar el instalador.
4. Revisar el directorio de instalacin y eliminar los archivos que no se
quieran conservar o todo el directorio si se prefiere, esto porque no
todos los directorios son removidos por el des instalador.

23

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Administracin de Glassfish Server v3


Oracle GlassFish Server v3 proporciona un entorno para desarrollo y
desplegado de aplicaciones y servicios Web.
Como Administrador de GlassFish, se tiene la responsabilidad de establecer
la seguridad del ambiente y supervisar los servicios, recursos y usuarios que
integran el ambiente. Se pueden configurar recursos y servicios, administrar
GlassFish Enterprise Server v3 en tiempo de ejecucin y reparar problemas
relacionados con el servidor, instalar software, add-ons y desplegar aplicaciones,
estos temas sern tratados en esta seccin.

Valores por Defecto, Archivos y Ubicaciones



Inmediatamente despus de instalar Oracle GlassFish v3 se pueden necesitar
realizar adecuaciones a nuestro ambiente, para ello cuando se realiza una
instalacin por defecto se deben hacer cambios, este tipo de instalacin activa y
desactiva ciertas caractersticas del servidor, a continuacin se muestran los
parmetros y caractersticas por defecto.

Nota: Para los paquetes extrables ZIP, el nombre de administrador por
defecto es admin, y no tiene password, lo cual significa que no es requerido un
password para iniciar sesin en la Consola de Administracin.

Valores de Administracin por Defecto

Elemento
Valor por Defecto
Domain Name
domain1
Master Password
changeit
Administration Password
admin
Administration Server Port
4848
HTTP Port
8080
HTTPS Port
8181
Pure JMX Clients Port
8686
Message Queue Port
7676
IIOP Port
3700
IIOP/SSL Port
3820
IIOP/SSL Port With Mutual Authentication
3920


24

Condor Consulting Services

S. A. de C. V.

Ubicacin
as-install

Oracle GlassFish Server v3.1



Rutas y Nombres de Archivos por Defecto

Descripcin
Valor por Defecto
Representa el directorio base de instalacin En sistemas Solaris,Unix, Linux y Mac
users-home/glassfishv3/glassfish
de GlassFish Server.

En los archivos de configuracin
En Windows
representado por:

SystemDrive:\ glassfishv3\glassfish

${com.sun.aas.installRoot}

as-install-parent

Representa el padre del directorio base de En sistemas Solaris,Unix, Linux y Mac


users-home/glassfishv3
instalacin de GlassFish Server
En Windows
SystemDrive:\ glassfishv3

domain-root-dir

Representa el directorio donde se crean por as-install/domains


defecto los dominios
Representa el directorio en donde se domain-root-dir/domain-name
almacena la configuracin del dominio
En los archivos de configuracin es
representado como:

domain-dir

${com.sun.aas.instanceRoot}



Ubicaciones por Defecto

Elemento
Herramienta de lnea de comandos (asadmin)
Archivos de Configuracin
Archivos de Registro
Herramienta de Upgrade (asupgrade)
Herramienta de Actualizacin (pkg)

Valor por Defecto


as-install/bin
domain-dir/config
domain-dir/logs
as-install/bin
as-install-parent/bin

El archivo domain.xml

El archivo domain.xml contiene la mayora de la configuracin de los
dominios de GlassFish v3 y en esta versin a sufrido cambios importantes y se
encuentra regularmente en domain-dir/config.
Nota: Algunas caractersticas no estn disponibles si se ha instalado el Perfil
Web. Los elementos relacionados a estas caractersticas son ignorados.
No existe un archivo DTD o esquema que determine la estructura del archivo
domain.xml. La configuracin es dictada por interfaces Java con anotaciones
apropiadas y el archivo domain.xml sirve como una semilla para la configuracin.

25

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Nota: Las configuraciones en los descriptores de despliegue en GlassFish
Server sobre escriben las correspondientes configuraciones en domain.xml a menos
que se indique lo contrario.

Verificacin

Para verificar que la estructura del archivo domain.xml es correcta se usa el
comando asadmin verify-domain-xml que verifica el dominio por defecto en la
ubicacin por defecto.

Extensibilidad

Si creas un nuevo elemento add-on para GlassFish Server lo puedes incluir en
el archivo domain.xml

Respaldo

Un respaldo del archivo domain.xml es creado cada vez que se realiza un
cambio mediante la Consola de Administracin o la herramienta asadmin. El
respaldo se guarda en domain-dir/config con el nombre domain.xml.bak, el cual
puede ser utilizado si se ha hecho una configuracin errnea.

Variables

Las variables y referencias a variables son necesarias para:
Muchas partes de la configuracin compartida que son similares pero
difieren en alguna parte.
Partes que vienen de la configuracin del entorno del sistema y son
capturadas por el archivo de configuracin.
Las referencias a variables en el archivo domain.xml aparecen encerradas
entre los smbolos ${ }. Por ejemplo: ${com.sun.enterprise.myVar }
Las variable son definidas dentro y fuera del archivo domain.xml. Las
variables pre definidas fuera estn definidas por Java System Properties. Las
variables definidas dentro se definen mediante el elemento system-property del
elemento jvm-options.

26

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Referencia a Elementos

Cuando un elemento hace referencia a otro elemento contiene el mismo valor
que el elemento referenciado. Por ejemplo application-ref que hace referencia a un
aplicacin desplegada como parte del elemento server.

Poe ejemplo:

<application-ref ref=MyServlet/>


La aplicacin referenciada podra ser:

<application name=MyServlet location=myservletdir/>


Jerarqua en domain.xml

El archivo tiene una jerarqua de elementos, lo que nos permite tener un
orden en los atributos, es extensa y puede ser consultada en la documentacin.

Herramientas de Administracin

GlassFish Server cuenta con un conjunto de herramientas que nos podrn
ayudar a administrar el servidor, aplicaciones y recursos. GlassFish cuenta con las
siguientes Herramientas de Administracin:

Consola de Administracin
Utilidad asadmin
Interfaces REST
Herramienta de Actualizacin (pkg)
OSGi Module Management Subsystem
Utilidad keytool
Java Monitoring and Management Console (jconsole)
Application Server Management Extension (AMX)
Consola de Administracin
La Consola de Administracin es una herramienta basada en Web con una
interface grfica fcil de navegar y contiene una gran cantidad de informacin de
ayuda para realizar las tareas de administracin.
Para usar la Consola de Administracin, el Domain Administration Server
(DAS) debe estar en ejecucin. Cada dominio tiene su propio DAS, el cual tiene un

27

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

puerto nico. Cuando instalamos GlassFish Server podemos seleccionar uno o dejar
el puerto por defecto que es 4848, y tambin puedes elegir un usuario y un
password que por defecto son admin el usuario y no tiene password.
La mayora de las tareas de administracin se pueden realizar mediante la
Consola de Administracin y con el comando asadmin, sin embargo hay algunas
excepciones.
Para poder ingresar a la Consola de Administracin se deba teclear el nombre
de host/ip seguido el puerto de administracin, ejemplo:

http://glassfishv3:4848 o http://localhost:4848

La Herramienta asadmin

asadmin es una herramienta en lnea de comandos que ejecuta subcomandos
para identificar la operacin o tarea que tu quieres realizar. Esta herramienta se
puede ejecutar directamente desde la lnea de comandos o desde un script de
Sistema Operativo, que es til para realizar tareas de administracin repetitivas.
Para ejecutar un subcomando con asadmin en un Shell por defecto (modo
simple), debemos ir a as-install/bin y ejecutar el comando asadmin seguido de un
subcomando:

$ ./asadmin list-jdbc-resources


Nota: Si se quiere ejecutar este comando desde cualquier ubicacin y sin
utilizar (./) al inicio del comando debe agregarse a nuestro archivo de variables de
ambiente como (.bash_profile o .bashrc) en la variable PATH de la siguiente forma:

PATH=install_root_dir/bin:PATH
export PATH


Donde install_root_dir es el directorio donde esta instalado nuestro GlassFish
Server.

Podemos tambin ejecutar mltiples subcomandos en (mltimodo) solo
tecleando asadmin en nuestro prompt para lo cual el prompt cambiara por asadmin>
y de esta manera asadmin estar a la espera de recibir subcomandos, ejemplo:

asadmin> list-jdbc-resources

28

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Podemos tambin desplegar ayuda de un subcomando en especifico en
cualquiera de los dos modos de ejecucin, ejemplo:

asadmin> help restart-domain
asadmin help restart-domain

Tareas de Configuracin

GlassFish Server proporciona Interfaces Representational State Transfer
(REST) para permitir el acceso a la informacin de monitoreo y configuracin,
incluyendo tambin informacin proveda por los nuevos add-on instalados.

Podemos accesar a las interfaces REST mediante:
Navegadores Web
cURL
GNU Wget
O por interfaces programadas en lenguajes como:
JavaScript
Ruby
Perl
Java
JavaFX

Herramienta de Actualizacin

GlassFish Server provee un conjunto de herramientas Image Packaging
System (IPS) para actualizar software en un Servidor GlassFish desplegado. Las
actualizaciones comunes comprenden una versin nueva de GlassFish Server, Una
revisin o versin nueva de un add-on o mdulo de GlassFish.
La Herramienta de Actualizacin puede correr en la Consola de
Administracin o en Lnea de Comandos usando el comando updatetool. Sin
embargo, para actualizar y eliminar componentes debes utilizar la versin stand-
alone en modo lnea de comandos. El comando pkg es la versin stand-alone de la
Herramienta de Actualizacin. Las dos distribuciones de GlassFish son soportadas
Full Profile y Web Profile.
Nota: Si seleccionas el Perfile Web, mediante la herramienta de actualizacin
se puede actualizar al Perfil de Plataforma Completa. Todos los mdulos
dependientes son agregados automticamente.

29

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1


Herramienta keytool


La utilidad keytool es usada para configurar y trabajar con certificados
digitales Java Security Socket Extension (JSSE), la cual viene incluida dentro de la
distribucin de JDK 1.6.
Java Monitoring and Management Console (JConsole)

Java SE provee herramientas para conectarse al servidor MBean y poder ver
los Mbeans registrados en el servidor JConsole es el conector cliente mas popular y
esta disponible con la Versin Estndar de Java.

Administracin de Dominios
Creacin de Dominios

Un dominio es la unidad de administracin de Oracle GlassFish Server v3,
que contiene un grupo de Instancias de Servidor, mediante la herramienta asadmin
podemos realizar la creacin y administracin de los dominios.
Cada dominio tiene un Domain Administrator Server (DAS) que hospeda las
aplicaciones administrativas.

Instancias GlassFish Server

Una instancia GlassFish Server es una sola maquina virtual de plataforma
Java (Java Virtual Machine o JVM machine) o un solo nodo (host) en done esta
ejecutndose GlassFish Server. Un nodo es definido como el host donde reside una
instancia de GlassFish Server. La JVM machine debe ser compatible con la
Plataforma Java Enterprise Edition (Java EE).
Una instancia GlassFish Server es la forma bsica de una aplicacin
desplegada.
Siempre que se crea un dominio, GlassFish crea una instancia por defecto
llamada server. Si una instancia cumple los requerimientos, puedes usar esta
instancia para desplegar las aplicaciones sin administrar explcitamente las
instancias.
Para una instancia tambin pueden crearse Servidores Virtuales. Un servidor
virtual no extiende la instancia. Para muchos propsitos, puedes usar servidores
virtuales en lugar de mltiples instancias para despliegues operacionales. Un
servidor virtual te permite dentro de un sola instancia, separadamente manejar

30

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

nombres de dominio, direcciones IP, y algunas capacidades de administracin para
organizaciones o individuos.

Dominios GlassFish Server

Un dominio en GlassFish Server es una unidad administrativa que contiene
un grupo de Instancias de Servidor que son administradas juntas. Cada instancia
puede pertenecer solo a un dominio. Un dominio provee en tiempo de ejecucin un
entorno pre configurado para las aplicaciones del usuario. Cada dominio tiene su
propia informacin de configuracin, archivos de registro, y reas de desplegado de
aplicaciones, que son independientes a las de los dems dominios, si la
configuracin de un dominio cambia, la configuracin de otros dominios no es
afectada.
Los dominios permiten a diferentes organizaciones y administradores
compartir de forma segura una sola instalacin de Oracle GlassFish Server. Cada
organizacin o administrador puede administrar las instancias de un dominio sin
afectar a los dems dominios.
Cuando creamos un dominio seremos preguntados por un usuario y un
password, si aceptamos los valores por defecto son admin y no tiene password.

Domain Administration Server (DAS)

El Domain Administrator Server (DAS) es especialmente asignado a una
Instancia de GlassFish que aloja aplicaciones administrativas. El DAS es similar a
cualquier instancia GlassFish excepto que el DAS tiene capacidades administrativas
adicionales. El DAS permite inicio de sesin al administrador, acepta peticiones de
las herramientas de administracin y se conecta con otras instancias del dominio
para llevar a cabo tareas de administracin por peticin de las herramientas de
administracin.
Cada dominio tiene su propio DAS con un numero de puerto nico. El puerto
por defecto es 4848, sin embargo, puede especificarse un puerto distinto en el
momento en que se crea el dominio.
El DAS tiene una copia maestra de la informacin de configuracin de todas
las instancias del dominio. Si una instancia es destruida, por ejemplo por un fallo del
host, la instancia puede ser recreada en base a la informacin guardad en el DAS.
El DAS es la instancia por defecto en un dominio y se llama server. Si una sola
instancia cumple con los requerimientos para desplegar se puede utilizar el DAS
para hacer los despliegues de aplicaciones y para administrar el dominio.
La consola de Administracin Grfica con un DAS especifico para administrar
el dominio asociado con el DAS. Cada consola de administracin se asocia y puede
31

Condor Consulting Services

S. A. de C. V.






Oracle GlassFish Server v3.1

solo administrar un dominio, se debe iniciar una nueva consola de administracin
para cada dominio.

Crear un Dominio

Despus de instalar GlassFish se crea un dominio por defecto (domain1),
podemos crear despus dominios adicionales usando el sub comando local create-
domain. Este sub comando crea la configuracin de un dominio. Cualquier usuario
que tenga acceso a la herramienta asadmin puede crear un dominio y almacenar los
archivos en una ubicacin seleccionada, por defecto la configuracin es almacenada
en el directorio de dominios de GlassFish, pero esto se puede sobrescribir.

Al crear un nuevo dominio seremos requeridos para ingresar un nuevo
usuario y contrasea o aceptar el valor por defecto de admin/sin password.

Antes de comenzar

Determinar que perfil ser aplicado al dominio
Seleccionar el nombre de dominio a crear
Crear dominio usando el sub comando create-domain
Ingresar un nombre de usuario admin y un password.

Ejemplo:

asadmin> create-domain --adminport 4848 domain1
Enter admin user name[Enter to accept default]>
Using port 4848 for Admin.
Default port 8080 for HTTP Instance is in use. Using 1161
Using default port 7676 for JMS.
Using default port 3700 for IIOP.
Using default port 8081 for HTTP_SSL.
Using default port 3820 for IIOP_SSL.
Using default port 3920 for IIOP_MUTUALAUTH.
Default port 8686 for JMX_ADMIN is in use. Using 1162
Distinguished Name of the self-signed X.509 Server Certificate is:
[CN=moonbeam.gateway.2wire.net,OU=GlassFish,O=Oracle Corp.,L=Redwood Shores,ST
California,C=US]
Domain domain1 created.
Command create-domain executed successfully.

32

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Para iniciar la Consola de Administracin en el Navegador Web


ingresamos la siguiente URL:

http://hostname:4848


Este es uno de los usos mas bsicos de este comando, para ver la utilidad
completa se puede examinar dentro de la documentacin.
Inicio y Parado de Dominios, BD y Admin Console

Iniciar Dominios
Cuando iniciamos un dominio, se inicia automticamente el servidor DAS, el
cual contendr la consola de administracin y estar disponible mientras el dominio
este ejecutndose.
Si al iniciar no es especificado explcitamente el directorio de dominio, se
usara el directorio por defecto de GlassFish que esta en as-install/domains. Si existen
dos o mas dominios dentro de este directorio entonces el parmetro domain_name
debe ser especificado. Cada dominio debe ser iniciado separadamente.

Iniciar un dominio usando start-domain

Este subcomando esta soportado en modo local nicamente, en el siguiente
ejemplo se inicia el dominio domain2:

asadmin> start-domain domain2


Si existe solo un dominio se puede omitir el nombre el dominio, si no
incluimos el password seremos preguntados por el en el momento de iniciar el
dominio.

Detener Dominios

Detener un dominio detiene tambin su Servidor de Administracin (DAS), el
DAS rechaza nuevas peticiones y espera a que las conexiones activas sean
terminadas. Este proceso toma pocos segundos. Mientras el dominio este detenido
no se pueden usar la Consola de Administracin y la mayora de los subcomandos de
la utilidad asadmin. Puedes usar el subcomando restart-domain en el modo detenido
o iniciado.

33

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Nota: Cuando nosotros detenemos un dominio que esta en modo suspendido,
no estar disponible el modo suspendido cuando se reinicie nuevamente el dominio,
este cambiara al modo de ejecucin (running).

El siguiente comando nos ayudara a detener el dominio:

asadmin> stop domain
Waiting for the domain to stop ...........
Command stop-domain executed successfully.


Este ejemplo detiene domain1 en el directorio por defecto de dominios,
donde solo se encuentra domain1.

Reiniciar Dominios

Podemos usar el subcomando restart-domain en modo remoto para reiniciar
el DAS de un host especifico. Cuando se realiza un reinicio el DAS detiene las
conexiones entrantes y espera a que se concluyan las existentes. Este proceso lleva
pocos segundos y durante este proceso la Consola de Administracin y la mayora
de los subcomandos de la utilidad asadmin no estn disponibles.
Este subcomando es particularmente til cuando el servidor (maquina fsica)
esta asegurado, pudiendo reiniciar los servicios desde una ubicacin remota o desde
el mismo servidor.
Nota: si el servidor no reinicia se deben utilizar los comandos stop-domain y
start-domain para realizar esta tarea.
Para poder ejecutar este subcomando debemos asegurarnos de que el
servidor GlassFish esta en modo ejecucin, debido a que este subcomando requiere
que el servidor este activo.
Nota: Si se reinicia un servidor que esta en modo suspendido, este modo no
estar disponible al reiniciar pues cambiara al modo de ejecucin (running).

Ejemplo de reinicio del dominio domain4:

asadmin> restart-domain mydomain4


Waiting for the domain to restart ...........
Command restart-domain executed successfully.

34

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Reiniciar un dominio en el Navegador Web

Este ejemplo invoca el subcomando restart-domain en el navegador web

http://gfhost:4848/__asadmin/restart-domain

Implementacin y Borrado Bsico de Aplicaciones



GlassFish nos proporciona un conjunto de caractersticas basadas en el
estndar Java Plataform Enterprise Edition (Java EE) para el desarrollo y despliegue
de aplicaciones y servicios web (Web Services).
Desplegar una Aplicacin o Mdulo

Usar el subcomando deploy en modo remoto para desplegar una aplicacin o
mdulo ensamblado en el servidor GlassFish. Si un error ocurre en el proceso de
desplegado porque algn mdulo de la aplicacin contiene un error provoca la
cancelacin del desplegado completamente para evitar que el servidor entre en un
modo inconsistente.
Por defecto, el objetivo de desplegado es la instancia de servidor (server).
Para manejar este server no es necesario especificar una instancia objetivo. Si
desplegamos una aplicacin o mdulo solo en un dominio objetivo esta existe en el
repositorio de dominio principal pero las instancias de servidor o clsters no
pueden ser especificados a menos que agregues la referencia.
Si el componente ya esta desplegado o ya existe, se puede forzar el re
desplegado estableciendo la opcin --force del subcomando deploy a true
(verdadero).

Pasos Para Realizar Desplegado de Aplicaciones

1. Asegurarnos que el servidor esta en ejecucin.
2. (Opcional) Listar las aplicaciones desplegadas con el subcomando list-
applications

asadmin> list-applications

3. Desplegar la aplicacin con el subcomando asadmin


asadmin> deploy Shop.ear
Application deployed successfully with name Shop.
Command deploy executed successfully

35

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Desplegar una Aplicacin Automticamente

Para desplegar una aplicacin automticamente debemos copiar nuestro
fichero en el directorio domain-dir/autodeploy y para hacer una des instalacin solo
habr que eliminarlo de la ruta.
Adicionalmente podemos establecer los parmetros de compilacin de JSPs y
el intervalo de auto desplegado con las siguientes instrucciones:

asadmin>
set server.admin-service.das-config.autodeploy-jsp-precompilation-enabled=true
Command set executed successfully.

asadmin> set server.admin-service.das-config.autodeploy-polling-interval-in-seconds=3


Command set executed successfully.


Cambiar los objetivos de una aplicacin desplegada

Ya desplegada la aplicacin podemos hacer referencia a instancias de
servidor o clsters utilizando los subcomandos create-application-ref y delete-
application-ref .

Por ejemplo:

asadmin> create-application-ref --user admin --passwordfile .password --
target server2 MyWebApp
Command create-application-ref executed successfully.


O para eliminar la referencia:

asadmin> delete-application-ref --user admin --passwordfile .password --
target server2 MyWebApp
Command delete-application-ref executed successfully.


Listar Aplicaciones Desplegadas

Debemos asegurarnos que el servidor este en ejecucin.

Listar Aplicaciones. Lista todas las aplicaciones o mdulos
desplegados en el servidor

asadmin> list-applications --type web
helloWorld <web>
Command list-applications executed successfully

36

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Listar Subcomponentes. Lista todos EJBs o servlets que componen el


mdulo desplegado o de un mdulo de la aplicacin desplegada.


asadmin> list-sub-components --appname myEJBApp myEJBApp.jar
myEJBAppBean <StatelessSessionBean>
Command list-sub-components executed successfully

Mostrar estado de un Componente Desplegado

asadmin show-component-status myEJBApp


Status of myEJBApp is enabled
Command show-component-status executed successfully


Re Desplegar una Aplicacin

Podemos usar el subcomando redeploy en modo remoto para sobrescribir un
mdulo o aplicacin anteriormente desplegada. Tambin puede ser usado con la
opcin --force, sin embargo, las sesiones SFSB y HTTP en transito, timers EJB sern
invlidos a menos que se use la opcin --keepstate=true del subcomando redeploy.

Asegurarnos de que el servidor esta en ejecucin y realizamos el re
desplegado de la aplicacin, por ejemplo

Manteniendo el Estado de la Sesin HTTP mientras se hace el re desplegado

asadmin> redeploy --name helloWorld --keepstate=true helloWorld.war
Application deployed successfully with name helloWorld.
Command redeploy executed successfully.


Re desplegar Aplicacin Web que ha sido desplegada desde directorio

asadmin>redeploy --name helloDir
Application deployed successfully with name helloDir.
Command redeploy executed successfully.


Re desplegar Aplicacin usando la opcin --force

asadmin> deploy --force=true myApp.ear


Application deployed successfully with name myApp.
Command deploy executed successfully.

37

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Desactivar Aplicacin o Mdulo

Para desactivar una aplicacin debemos de asegurarnos de que el servidor
esta en ejecucin y obtener el nombre exacto de la aplicacin, esto se puede
investigar mediante el subcomando list-applications, ejemplo:

asadmin> list-applications --type web
helloDir <web>
Command list-applications executed successfully.


Este ejemplo deshabilita la aplicacin myApp

asadmin> disable helloDir
Command disable executed successfully.


Activar Aplicacin o Mdulo

asadmin> enable helloDir


Command enable executed successfully.

Eliminar una Aplicacin o Mdulo


Para desinstalar una aplicacin podemos usar el subcomando undeploy en
modo remoto, que lo eliminara del repositorio, para desplegar el componente
nuevamente debemos usar el subcomando deploy.

Para liminar una aplicacin podemos listar las aplicaciones disponibles

asadmin> list-applications --type web
helloWorld <web>
Command list-applications executed successfully.


Y en seguida podemos hacer el undeploy de la aplicacin
asadmin> undeploy helloWorld
helloWorld <web>
Command undeploy executed successfully.

38

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Administracin en Tiempo de Ejecucin



El servidor GlassFish v3 cuenta con un conjunto de herramientas que nos
permiten la administracin del servidor, recursos y aplicaciones en tiempo d
ejecucin para ello tenemos ciertos alcances y limitaciones.
Administracin General
Para la administracin en tiempo de ejecucin podemos utilizar la
herramienta en lnea de comandos asadmin as como la consola de administracin,
nos enfocaremos en la primera.

Usando asadmin para administracin

La herramienta asadmin se encuentra instalada en el directorio as-install/bin,
para evitar ejecutar la herramienta con la ruta absoluta, podemos incluir este
directorio en la variable PATH.

Sintaxis de asadmin

asadmin [asadmin-util-options] [subcommand [subcommand-options] [operands]]


Donde:
Subcomando. Identifica la operacin o tarea a realizar. Hay de dos
tipos.
o Local. Puede ser ejecutado sin un Servidor de Administracin.
Pero el usuario debe tener una sesin en la maquina que
hospeda el dominio.
o Remoto. Es ejecutado conectndose al DAS y ejecutando el
comando ah, necesita que el DAS este en ejecucin.
Opciones asadmin. Controlan el comportamiento de la herramienta y
no de sus subcomandos, se especifican antes del subcomando, las
opciones de asadmin despus del subcomando estn deprecadas.
Opciones subcomandos. Controlan solo el comportamiento del
subcomando y van despus de este.
Operandos. Especifican los elementos sobre los cuales el
subcomando acta. Son divididos por espacio, tabulador o doble guion
(--) asadmin determina que lo que sigue al subcomando es un
operando.

39

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Un subcomando puede tener una opcin con el mismo nombre que una
opcin de subcomando, sin embargo, el comportamiento es distinto.

Las opciones tienen una forma Larga y una Corta
La forma corta inicia con un guion (-) y en seguida la opcin
o -t
La forma larga inicia con doble guion (--) y en seguida la opcin
o --terse
Ejecutar comandos asadmin en Modo Simple

Al ejecutar en este modo debemos especificar por separado cada
subcomando y al terminar la ejecucin nos devolver el puntero del Shell de Sistema
Operativo, algunos ejemplos de administracin con asadmin:

o Listar aplicaciones en modo simple sin opciones

asadmin list-applications
hello <web>
Command list-applications executed successfully.

o Especificar opciones de asadmin con un subcomando

asadmin --host gf.company.com list-applications


myApp <web>
salesApp <web>
ejb-vent <ejb, web>
aut-ejb <ejb>
Command list-applications executed successfully.

o Listar aplicaciones utilizando una opcin en el subcomando

asadmin --host gf.company.com list-applications --type web


myApp <web>
salesApp <web>
ejb-vent <ejb, web>
Command list-applications executed successfully.



Este ejemplo se muestra que el nombre de host esta especificado como un
servidor que puede ser remoto, el cual utilizara el DAS para ejecutar el subcomando

40

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Desplegar informacin de ayuda en asadmin

Para desplegar informacin de ayuda lo podemos hacer de forma general, o
especifica para un subcomando, el formato de presentacin es similar a las pginas
MAN de los comandos de sistema operativo UNIX.

Ejemplos:

asadmin help
asadmin help create-jdbc-resource


O si queremos ver una lista de comandos remotos y locales podemos ejecutar
la siguiente lnea:

asadmin list-commands


Iniciar una Sesin Multimodo

La herramienta asadmin puede ser usada en modo de mltiples comandos o
multimodo, mientras esta la sesin activa asadmin seguir recibiendo subcomandos
a menos de que terminemos la sesin. Cualquier opcin de asadmin que establezcas
en multimodo ser utilizada en los subcomandos consecutivos en la sesin.
Nota: Iniciar una sesin multimodo no requiere de que un DAS este en
ejecucin.

Podemos iniciar el multimodo de dos formas:

Con opciones

asadmin --user admin --passwordfile .password multimode

Sin opciones

asadmin
asadmin multimode

41

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

En el siguiente ejemplo vemos la ejecucin del subcomando list-domains en
una sesin multimodo:

asadmin
Use "exit" to exit and "help" for online help.
asadmin> list-domains
domain1 running
Command list-domains executed successfully.
asadmin>


Propiedades del Sistema

Las instancias de servidor compartido, a menudo necesitan sobrescribir
atributos definidos en su configuracin referenciada. Cualquier atributo puede ser
sobrescrito mediante una propiedad de sistema.

Crear una propiedad de sistema

Se usa el subcomando crate-system-properties en modo remoto para crear o
actualizar una propiedad de sistema.

asadmin> create-system-properties http-listener-port=1088
Command create-system-properties executed successfully.

Listar propiedades del sistema

asadmin> list-system-properties
The target server contains following 1 system properties
http-listener-port=1088
Command list-system-properties executed successfully.

Borrar una propiedad de sistema

asadmin> delete-system-property http-listener-port


System Property named http-listener-port deleted from given target
server. Make sure you check its references.
Command delete-system-property executed successfully.

Administracin de Conjuntos de Hilos (Thread Pools)



La Mquina Virtual de Java (JVM) puede soportar muchos hilos de ejecucin.
Para mejorar el rendimiento GlassFish puede mantener varios hilos asignados a un
mdulo de conector, listeners de red u Object Request Broker (ORB). Los hilos de
42

Condor Consulting Services

S. A. de C. V.






Oracle GlassFish Server v3.1

peticin manejan las peticiones para los componentes de una aplicacin, donde GF
recibe la peticin y la asigna a un hilo libre del pool.

Por ejemplo para crear un thread pool lo hacemos de la siguiente manera:

asadmin> create-threadpool --maxthreadpoolsize 100 --minthreadpoolsize
20 --idletimeout 2 --workqueues 100 threadpool-1
Command create-threadpool executed successfully


Y para listar los thread pools de la instancia server lo haremos as:

asadmin
Use "exit" to exit and "help" for online help.
asadmin> list-threadpools server
admin-thread-pool
http-thread-pool
thread-pool-1
Command list-threadpools executed successfully.


Para actualizar un Thread Pool podemos hacer lo siguiente:

asadmin>
set
server.thread-pools.thread-pool.http-thread-pool.max-
thread-pool-size=8
Command set executed successfully


Para borrar el conjunto de hilos anteriormente creado ejecutamos:

asadmin> delete-threadpool threadpool-1
Command delete-threadpool executed successfully

Administracin del Servicio de Registros



El servicio de registro es un proceso en el cual GlassFish registra informacin
acerca de los eventos que ocurren, como errores en la configuracin, o mal
funcionamiento del servidor. Esta informacin es guardad en archivos de registro,
los cuales son la primera fuente de informacin cuando un error ocurre. Examinar y
analizar los archivos de registro nos ayudar a determinar la salud de nuestro
servidor.
Aunque las aplicaciones pueden utilizar la librera de registros de Apache, es
recomendado usar la API del estndar JSR 047.

43

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Archivos de Registro

GlassFish graba los registros en uno de los siguientes tipos de archivos de
registro generales:

Archivos de Registro de Servidor. Los cuales capturan informacin
acerca de la instancia de servidor en ejecucin dentro del dominio.
Cada instancia, instancia de servidor manejado (que es, cada miembro
del clster) y el DAS , tienen un archivo de registro individual.
Archivos de Registro de Clster. Los cuales capturan informacin
acerca de la actividad de una instancia de clster, si hay una o mas en
el dominio. Cada servidor manejado que pertenece al clster registra
aqu adems de su registro individual. Esta informacin puede ser
distinta y depende de la participacin del servidor en el clster, como
el estado de balanceo de carga y estado de failover.

Nombres de Archivos y Ubicaciones

En un dominio de GlassFish los archivos de registro tienen los siguientes
nombres y ubicaciones.

Instancia
Nombre y Ubicacin por defecto
DAS
domain-dir/logs/server.log
Cada Instancia de Servidor instance-dir/logs/server.log
Instancia de Clster
instance-dir/logs/cluster.log

Estructura de Registros

GlassFish registra los eventos de manera uniforma con la siguiente
estructura:

[#|yyyy-mm-ddThh:mm:ss.SSS-Z|Log Level|ProductName-Version|LoggerName|Key Value Pairs|Message|#]

[# y #] marcan el inicio y fin del registro


La barra vertical (|) separa los campos del registro
yyyy-mm-ddThh:mm:ss.SSS-Z representa la fecha y hora del registro
Log Level representa el nivel de registro que puede tener el valor
SEVERE, WARNING, INFO, CONFIG, FINE, FINER y FINEST. Por defecto
es INFO.
ProductName-Version representa la versin actual de GF.
44

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

LoggerName representa el espacio de nombres jerrquico que


identifica la fuente del mdulo de registro.
Key Value Pairs contiene el par Nombre-Valor, tpicamente un Thread
ID.
Message contiene el texto del mensaje del registro. Para todos los
mensajes SEVERE, WARNING y la mayora de INFO esta cadena inicia
con un cdigo alfa numrico por ejemplo, CORE5004.


Un ejemplo de este registro es:

[#|2011-05-03T11:43:31.018-0500|INFO|oracle-
glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admi
n|_ThreadID=79;_ThreadName=Thread-1;|hello was successfully deployed in 239
milliseconds.|#]


Rotacin de Registros

Por defecto cuando un archivo de registro llega a 2MB GlassFish lo renombra
(rota) agregando la fecha y crea un nuevo archivo de registro, el archivo se
renombra con la sintaxis log-type.log_fecha.
Servicio de Monitoreo
El monitoreo es el proceso de revisin de estadsticas del sistema para
mejorar el rendimiento o resolver problemas. El servicio de monitoreo puede
mostrar informacin estadstica de la operacin del servidor.

Como trabaja la estructura de rbol de monitoreo

El rbol es dinmico, por tal razn cambia conforme en GlassFish se agreguen
o quiten componentes.
En el rbol un objeto monitoreable puede tener objetos hijo (nodes), que
representan exactamente que puede ser monitoreable de tal o cual objeto. Todos los
objetos hijo pueden ser direccionados usando el punto (.) como separador. Estos
nombres compuesto son referidos como (dotted names).
Un ejemplo para listar los objetos hijo monitoreables de la instancia server es
el siguiente:

asadmin> list --monitor "server.*"
server.applications
server.connector-service
server.http-service

45

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

server.jms-service
server.jvm
server.network
server.orb
server.resources
server.security
server.thread-pool
server.transaction-service
server.web


Cada objeto esta representado por un nombre punteado, en el cual se puede
por ejemplo monitorear un atributo especifico del objeto jvm con un atributo
llamado memory y una estadstica llamada maxheapsize.

server.jvm.memory.maxheapsize


El rbol de monitoreo contiene objetos monitoreables para los siguientes
recursos de servidor:

Aplicaciones
Servicio de Conector
Servicio HTTP
Servicio JMS/Contenedor
JVM
Red
ORB
Recursos
Seguridad
Thread Pool
Servicio de Transacciones
Web

Administracin de la Seguridad

La seguridad trata acerca de la proteccin de informacin, que es como
prevenir accesos no autorizados o dao al informacin almacenada o en transito.
GlassFish esta construido sobre un modelo de seguridad Java, el cual usa un arenero
en el cual las aplicaciones Java pueden ejecutarse de forma segura, sin riesgo
potencial para sistemas y usuarios. La seguridad del sistema afecta a todas las
aplicaciones del entorno de GlassFish.

46

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Las caractersticas de seguridad del sistema incluyen:

Autenticacin

Es cuando una entidad (aplicacin, usuario o componente) determina que
otra entidad es quien dice ser.

Tipos de Autenticacin

Dentro de sus descriptores, una aplicacin especifica el tipo de autenticacin
que utilizara, GlassFish soporta los siguientes:
Basic. Usa el cuadro de dialogo construido dentro del servidor.
Form. La aplicacin proporciona su propio inicio de sesin
personalizado y sus paginas de error.
Client-Cert. El servidor autentica al cliente usando un certificado de
clave publica.
Digest. El servidor autentica un usuario basado en un nombre de
usuario y contrasea. A diferencia de la autenticacin bsica, el
nombre de usuario y contrasea nunca se enva a travs de la red.
JSR 196 Server Authentication Modules. GlassFish implementa este
estndar; define un servicice-provider interface (SPI) para integrar
implementaciones de mecanismos de autenticacin en procesamiento
de mensajes en tiempo de ejecucin.

Autorizacin

Tambin conocida como control de acceso, es el medio por el cual a los
usuarios se les conceden permisos para acceder los datos o realizar operaciones.
Despus de que un usuario es autenticado, el nivel de autorizacin del usuario,
determina que operaciones puede realizar, la autorizacin de un usuario esta
basado en los roles de usuario.
Un role define que aplicaciones y que parte de esas aplicaciones puede
accesar y que pueden estos usuarios y grupos hacer en las aplicaciones. Un role es
diferente a un grupo, un role define la funcin en una aplicacin y un grupo es un
conjunto de usuarios que se pueden relacionar de la misma forma.

Auditora

Es el medio para capturar eventos relacionados con la seguridad con el fin de
evaluar la eficacia de las medidas de seguridad.
47

Condor Consulting Services

S. A. de C. V.






Oracle GlassFish Server v3.1

Cortafuegos (Firewalls)

Controla el flujo de informacin entre dos o mas redes, y administra los
enlaces entre ellas. Puede consistir de elementos de software as como de hardware.
Existen dos tipos de certificados:

Certificado Cliente. Son usados por los individuos.
Certificado Servidor. Son usados para establecer sesiones seguras
entre el servidor y el cliente mediante la tecnologa SSL.

Certificados y SSL

Tambin llamados certificados digitales, son archivos electrnicos que solo
identifican a personas y recursos sobre internet.

Herramientas para administrar la seguridad del sistema. Para la
administracin de seguridad GlassFish cuenta con las siguientes
herramientas:
o Consola de Administracin
o Herramienta asadmin
o Herramienta keytool
o Herramienta policytool
Administrando la Seguridad de Usuario


Administrando Reinos de Autenticacin

Un reino de autenticacin, tambin llamado como dominio de poltica de
seguridad o dominio de seguridad, es un mbito en el cual GlassFish server define y
asegura una poltica de seguridad comn. GlassFish Server esta pre configurado con
los reinos de archivo, certificado y administracin. Tambin se pueden establecer
los reinos JDBC, LDAP, digest, Oracle Solaris y personalizados. Una aplicacin puede
decidir que reino utilizar en su descriptor de despliegue. Si una aplicacin no lo
especifica se usa el por defecto (file).

File. GlassFish almacena las credenciales de usuario localmente en un
archivo llamado keyfile. Es el reino inicial por defecto.
Administration. Es tambin un archivo en donde se almacenan las
credenciales llamado admin-keyfile.

48

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Certificate. GlassFish almacena las credenciales de usuario en una


base de datos de certificados, con el protocolo HTTPS para clientes
web.
LDAP. GlassFish puede recuperar las credenciales de un servidor
LDAP.
JDBC. GlassFish puede recuperar las credenciales de un usuario desde
una Base de Datos.
Digest. Es un modo de autenticacin basado en un usuario y
password, sin embargo, la informacin es transmitida en forma
encriptada.
Oracle Solaris. GlassFish obtiene las credenciales desde un sistema
operativo Solaris.
PAM. Un reino Pluggable Authentication Module (PAM) permite a GF
autenticar usuarios basado en una lista de usuarios nativa de un
sistema Unix (Solaris, Mac, Linux).
Custom. Se pueden crear tambin repositorios de credenciales de
terceros o bases de datos relacionales.


Ejemplos de manejo Reinos de Seguridad:
Crear un reino

asadmin>
create-auth-realm
--classname
com.sun.enterprise.security.auth.realm.file.FileRealm
--property
file=/u01/glassfishv3/glassfish3/glassfish/domains/domain1/config/adm-
file:jaas-context=fileRealm myfile
Command create-auth-realm executed successfully.

Listar reinos de seguridad

asadmin list-auth-realms
admin-realm
file
certificate
myfile
Command list-auth-realms executed successfully.

49

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Eliminar un reino

asadmin> delete-auth-realm myfile


Command delete-auth-realm executed successfully.

Administracin de Recursos y Servicios



Dentro de GlassFish tenemos un conjunto de servicios y recursos
administrables, de los cuales examinaremos algunos.
Administrar Conectividad a Base de Datos

Un Database Management System (DBMS) provee facilidades para
almacenar, organizar y recuperar informacin. La informacin en la BD es a menudo
persistente, porque se preserva despus de que la aplicacin termina su ejecucin.
La mayora de las aplicaciones almacenan la informacin en BD Relacionales. Una
aplicacin puede acceder a esta informacin mediante la API Java Database
Conectivity (JDBC).

Existen algunos elementos clave en este tema:

Database. Es el repositorio donde los datos son almacenados para un
aplicacin Java EE y que son accesados mediante la API JDBC.
JDBC Connection Pool. Es un grupo de conexiones reusables para
una Base de Datos en Partculas.
JDBC Resource. Un recurso JDBC (fuente de datos) proporciona a las
aplicaciones una forma de conectarse a una Base de Datos. Para crear
un recurso JDBC se debe especificar el Pool de Conexiones asociado a
l. Mltiples recursos JDBC pueden ser asociados a un solo Pool de
Conexiones. Un recurso JDBC es diferenciado de otro usando un
nombre JNDI.
JDBC Driver. Un controlador de JDBC es un componente de software
que posibilita a las aplicaciones Java a interactuar con la API JDBC.
Cada Base de Datos requiere de su propio Driver.

Crear Pool de Conexiones JDBC

El subcomando crate-jdbc-pool en modo remoto nos es til para crear un
Pool de Conexiones JDBC con un nombre especifico, que debe ser nico, puede

50

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

tambin especificarse un usuario, password, URL u otra informacin necesaria.
Tambin podemos crear un recurso de este tipo a partir de un descriptor XML.

create-jdbc-connection-pool
--driverclassname
oracle.jdbc.driver.OracleDriver
--restype
java.sql.Driver
--property
PortNumber=1521:Password=password:User=user:ServerName=dbserver:DatabaseName=o
rcl:url="jdbc\:oracle\:thin\:@dbserver\:1521\:orcl" oraclePool


Para listar nuestros JDBC Connection Pools podemos ejecutar:

asadmin> list-jdbc-connection-pools
__TimerPool
DerbyPool
emblemas
Command list-jdbc-connection-pools executed successfully.


Para contactar nuestra Base de Datos y verificar nuestro origen de datos
podemos usar el subcomando ping-connection-pool de la siguiente forma:

asadmin> ping-connection-pool emblemas
Command ping-connection-pool executed successfully


Para eliminar un conjunto de conexiones podemos usar:

asadmin> delete-jdbc-connection-pool jdbc/emblemas
Command delete-jdbc-connection-pool executed successfully.


Administrar un Recurso JDBC

Un recurso JDBC, tambin conocido como Data Source (o Fuente de Datos)
posibilita que una aplicacin se conecte a una base de datos. Regularmente, se crea
un JDBC Resource por cada Base de Datos desplegada en el dominio, y este a su vez
es usado por una o mas aplicaciones dentro del dominio.

Se pueden realizar las siguientes operaciones con un JDBC Resource:

51

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Crear un JDBC Resource


Podemos crear un Recurso JDBC con el subcomando crate-jdbc-resource en
modo remoto. La creacin de un recurso de este tipo es dinmico por lo que no es
necesario reiniciar el servidor.

asadmin>
create-jdbc-resource
--connectionpoolid
jdbc/oracleDS
Command create-jdbc-resource executed successfully.

oraclePool

Listar los JDBC Resources

asadmin> list-jdbc-resources
jdbc/__TimerPool
jdbc/__default
jdbc/emblemas
Command list-jdbc-resources executed successfully.

Actualizar un JDBC Resource

asadmin> set server.resources.jdbc-resource.jdbc/oracleDS.enabled=false


server.resources.jdbc-resource.jdbc/oracleDS.enabled=false
Command set executed successfully.

Eliminar un JDBC Resource

asadmin> delete-jdbc-resource jdbc/oracleDS


Command delete-jdbc-resource executed successfully.


Administrar Conectividad a Internet


El servicio HTTP provee la funcionalidad para desplegar aplicaciones web y
para hacer que estas sean accesibles desde clientes de Internet, los servicios HTTP
son provedos por dos objetos relacionados:

HTTP Listeners. Un HTTP Listener conocido como Listener de Red
tambin, es un socket de escucha que contiene una direccin IP, un
puerto, un nombre de servidor, y un servidor virtual por defecto. Cada
servidor virtual proporciona conexin entre el cliente y el servidor
mediante uno o mas Listeners.

52

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Virtual Servers. Algunas veces tambin es llamado Virtual Host, es


un objeto que permite a la misma mquina fsica hospedar mltiples
nombres de dominio de internet. Todos los servidores virtuales en el
mismo servidor fsico comparten las direcciones IPs del servidor.


Por defecto GlassFish crea los listeners siguientes asociados al servidor
virtual server:

http-listener-1 sin la seguridad activada (HTTP) puerto 8080
http-listener-2 con la seguridad habilitada (HTTPS) puerto 8181

Y el listener:
admin-listener asociado con el servidor virtual __asadmin puerto 4848

Crear una Conexin de Internet

Para crear una conexin a internet debemos seguir varios pasos, esta es una
descripcin general de este procedimiento:

Crear un protocolo HTTP/S usando el subcomando create-protocol
con la opcin --securityenabled
Crear una configuracin HTTP usando el subcomando create-http
Crear un transport (transporte) usando create-transport
Crear un thread pool usando create-threadpool
Crear un Listener HTTP usando create-network-listener
Para aplicar cambios debemos reiniciar GlassFish Server

53

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Administrando Protocolos HTTP

Para crear un protocolo lo podemos hacer de la siguiente forma:

asadmin> create-protocol --securityenabled=true http-1
Command create-protocol executed successfully.


Listar Protocolos:

asadmin> list-protocols
admin-listener
http-1
http-listener-1
http-listener-2
Command list-protocols executed successfully.


Borrar un Protocolo

asadmin> delete-protocol http-1


Command delete-protocol executed successfully.


Administrando Configuraciones HTTP

Cada Listener HTTP tiene una configuracin HTTP que puede ser creada con
el subcomando create-http.

asadmin> create-http --timeout-seconds 60 --default-virtual-server
server http-1
Command create-http executed successfully.


Borrar una Configuracin HTTP

asadmin> delete-http http-1
Command delete-http executed successfully.


Administrando Transportes HTTP

Para crear un transporte HTTP:

asadmin> create-transport --acceptorthreads 100 http1-trans


Command create-transport executed successfully.

54

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Para Listar Transportes HTTP

asadmin> list-transports
http1-trans
tcp
Command list-transports executed successfully.

Para Eliminar Transportes HTTP

asadmin> delete-transport http1-trans


Command delete-transport executed successfully.


Administrando HTTP Listeners

Para crear un Listener HTTP podemos realizar lo siguiente:

Crear Listener HTTP con numero de hilos deshabilitado

asadmin> create-http-listener --listeneraddress 0.0.0.0 --listenerport
7272 --defaultvs server --servername host1.sun.com --acceptorthreads 100 --
securityenabled=false --enabled=false sampleListener
Command create-http-listener executed successfully.

Crear Listener HTTP sin numero de hilos, deshabilitado

asadmin> create-network-listener --listenerport 7272 protocol http-1 --


enabled=false sampleListener
Command create-network-listener executed successfully.

Listar Listeners HTTP

asadmin> list-http-listeners
admin-listener
http-listener-2
http-listener-1
Command list-http-listeners executed successfully.

Actualizar un Listener HTTP

asadmin> set server.network-config.protocols.protocol.http-listener-


2.security-enabled=false
Command set executed successfully.

55

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Eliminar un Listener HTTP


asadmin> delete-http-listener sampleListener
Command delete-http-listener executed successfully.


Administrando Servidores Virtuales

Un servidor virtual es un servidor web virtual que atiende peticiones
dirigidas a una ULR especifica. Mltiples servidores virtuales pueden servir
contenido usando un mismo o diferentes nombres de host.
Podemos definir propiedades a los servidores virtuales con el subcomando
set.

asadmin>
set
server-config.http-service.virtual-
server.server.property.sso-enabled="true"


Podemos realizar las siguientes operaciones para los servidores virtuales:

Crear Virtual Server

asadmin> create-virtual-server myVS
Command create-virtual-server executed successfully.

Listar Virtual Servers

asadmin> list-virtual-servers
server
__asadmin
myVS
Command list-virtual-servers executed successfully.

Actualizar Virtual Servers

asadmin>
set
server-config.http-service.virtual-
server.server.property.sso-enabled="false"

Eliminar un Virtual Server

asadmin> delete-virtual-server myVS


Command delete-virtual-server executed successfully.

56

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Implementacin de Aplicaciones en GlassFish v3


Que saber antes de implementar

Oracle GlassFish proporciona un entorno de desarrollo y desplegado de
aplicacin Java y Web Services, GF incluye caractersticas del estndar Java EE, as
como caractersticas propias de GF.
Deployment es el proceso de instalar una aplicacin o modulo en GlassFish
Server.
Herramientas para Desplegado

GlassFish proporciona un conjunto de herramientas para realizar el
ensamblado y desplegado de aplicaciones.

Consola de Administracin.
La Utilidad asadmin.
IDE NetBeans.
IDE Eclipse.
Cliente JSR 88.

Algunos Conceptos

Ensamblado (Assembly): Tambin conocido como empaquetado, es
la combinacin de elementos discretos de una aplicacin o mdulo en
una sola unidad que puede ser instalada sobre un servidor de
aplicacin. El proceso de ensamble en GF Server se ajusta a los
estndares Java EE, la nica diferencia es que podemos incluir
descriptores propios de GF.
Desplegado (Deploy): Es el proceso de instalar una aplicacin sobre
GlassFish Server, opcionalmente especificando la localizacin
especifica de la informacin, as como una lista de usuarios locales que
pueden ingresar a la aplicacin. GlassFish expande la aplicacin en un
directorio abierto que esta listo para los usuarios.

Este es un conjunto de actividades generales que ayudan al equipo a
desplegar aplicaciones para pasar de un entorno de desarrollo a un entorno de
produccin.

57

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1


1. Descriptor de Desplegado y Creacin de Anotaciones. El
desarrollador crea los descriptores o las anotaciones equivalentes
usando estndares y herramientas Java
2. Ensamblado. El desarrollador ensambla los ficheros utilizando
estndares y herramientas Java, como el comando jar, la aplicacin
puede ser empaquetada como JAR, WAR, RAR o EAR tomando en
cuenta los estndares de nombrado (Naming Standars) tambin
3. Prueba de Desplegado. El desarrollador prueba el desplegado del
fichero.
4. Fichero de Presentacin. El desarrollador enva el fichero verificado
al administrador de desplegado en un entorno de produccin. El
desarrollador enva cualquier tarea adicional para el desplegado que
el administrador debe realizar.
5. Configuracin. El administrador aplica desplegados adicionales.
Algunas veces el desarrollador indica que son necesarios desplegados
adicionales, como especificar una base de datos de produccin, en este
caso el administrador edita el fichero y lo re ensambla.
6. Desplegado en Produccin. El administrador despliega el fichero en
produccin.
7. Solucin de Problemas. Si el desplegado falla, el administrador
retorna el fichero al desarrollador, el desarrollador repara el
problema y lo re enva al administrador o este mismo lo repara
dependiendo de cual sea el problema.


Dentro de GlassFish server pueden desplegarse diferentes tipos de mdulos
Java EE, como mdulos de conector, EJB, Web y aplicacin cliente, este despliegue se
puede realizar de las siguientes formas:

Implementacin de Ficheros. Despliega una aplicacin en base a un
fichero de aplicacin.
Recargado Dinmico. Re despliega una aplicacin creando o
modificando un archivo especial llamado .reload en el repositorio de
aplicaciones.
Implementacin Automtica. Despliega un fichero de aplicacin que
es puesto en el directorio de auto desplegado.
Implementacin de Directorios. Despliega una aplicacin en
formato de directorio.
Implementacin JSR 88. Un mecanismo de desplegado basado en el
estndar JSR 88 de jcp.org

58

Condor Consulting Services

S. A. de C. V.






Oracle GlassFish Server v3.1

Un plan de desplegado, el cual despliega un fichero portable con un plan de
desplegado contiene descriptores GlassFish Server puede aplicar a cualquiera de las
tcnicas de despliegue anteriores.
Hay dos situaciones de trabajo que requieren 2 precauciones y procesos:

Un entorno de desarrollo. Provee un pequeo conjunto de
herramientas y espacios de trabajo para un numero relativamente
pequeo de desarrolladores quienes crean y prueban aplicaciones y
mdulos.
Un entorno de produccin. Provee un ambiente estable y protegido
donde las aplicaciones son afinadas para su mxima eficiencia para los
negocios en vez de desarrollar.
Descriptores de Implementacin y Anotaciones


Un descriptor de aplicacin es un archivo XML que describe como una
aplicacin Java EE o mdulo debe ser desplegado. Cada archivo de desplegado XML
tiene un archivo Document Type Definition (DTD) o un archivo de esquema (XSD), el
cual define los elementos, informacin y atributos que el archivo puede contener. El
descriptor de despliegue dirige a la herramienta de despliegue para implementar
una aplicacin con opciones especificas y tambin describe los requerimientos
especficos que se deben resolver.
La informacin en los descriptores es declarativa, puede cambiarse sin
requerir modificaciones al cdigo fuente.
Los siguientes Descriptores estn relacionados con GlassFish Server:

Descriptores Java EE Estndar. Son parte de la especificacin Java
EE.
Descriptores GlassFish Server. GlassFish provee descriptores
opcionales para configurar caractersticas especificas del servidor. Por
ejemplo en un ensamblado de EJB deben crearse dos descriptores ejb-
java.xml y glassfish-ejb-java.xml.

Anotaciones

Una anotacin, tambin llamada metadata, habilita un estilo declarativo de
programacin, se puede especificar informacin dentro de un archivo de clase
usando anotaciones, cuando la aplicacin es desplegada, la informacin puede ser
usada o sobrescrita por el descriptor de la aplicacin.

59

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1


Mdulos y Aplicaciones


Una aplicacin es un conjunto lgico de uno o mas mdulos unidos por
anotaciones de aplicacin o descriptores de desplegado. Podemos ensamblar
componentes en archivos JAR, WAR o RAR, entonces combinar estos archivos y
opcionalmente descriptores dentro de un fichero Enterprise (EAR) el cual ser
desplegado.
Un mdulo es una coleccin de uno o mas componentes Java EE que se
ejecutan en el mismo tipo de contenedor, como un contenedor web o EJB. El mdulo
anotaciones o descriptores de desplegado para cada tipo de contenedor y pueden
ser desplegados por separado o como parte de una aplicacin.

Tipos de Mdulos

GlassFish Server soporta los siguientes tipos de Mdulos:

Mdulo Web: Un mdulo web tambin conocido como aplicacin
web, es una coleccin de servlets, EJBs, pginas HTML, clases y otros
recursos que puedes empaquetar y desplegar en servidores de
aplicacin Java EE. Un fichero Web Application Archive (WAR) es el
formato estndar para ensamblar aplicaciones web que puede contar
de servlets, JavaServer Pages (JSP), JSP tag libraries, clases, pginas
estticas, applets del lado del cliente, beans, clases beans, clases
enterprise beans, mas anotaciones o descriptores de desplegado
(web.xml y glassfish-web.xml).
Mdulo EJB: Un EJB es una unidad de software desplegable que
consiste de uno o mas Enterprise beans mas un descriptor de
desplegado EJB. Un fichero Java (JAR) es el formato estndar para
empaquetar mdulos EJB. Un fichero JAR EJB contiene clases vean
(home, remote, local e implementation), todas las clases tiles y
anotaciones o descriptores de desplegado (ejb-jar.xml y glassfish-ejb-
jar.xml)
Mdulo Connector: un mdulo de conector, llamado tambin
mdulo de adaptador de recurso, es una unidad de software
desplegable que provee una forma portable para componentes EJB
para acceder a informacin de un Sistema de Informacin Empresarial
(EIS) fornea. Un archivo Resource Adapter Archive (RAR) es el
formato estndar para construir este tipo de mdulos. Cada adaptador
en GlassFish tiene anotaciones o descriptores (ra.xml).

60

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Mdulo Aplication Client: un mdulo de aplicacin cliente es una


unidad de software desplegable de una o mas clases y descriptores de
aplicacin cliente (appication-client.xml y glassfish-application-
client.xml). Un fichero JAR cliente aplica para el tipo de Servidor
GlassFish de cliente Java EE, que soporta los estndares cliente Java
EE.
Mdulo de Lifecycle: Un mdulo de ciclo de vida proporciona un
funcionamiento de corta o larga duracin de tareas basadas en Java
dentro de un entorno GlassFish. Estos mdulos no son parte del
estndar Java EE.

Implementando Aplicaciones y Mdulos



GlassFish nos permite realizar la implementacin de aplicaciones y mdulos
de distintos tipos, en el Tema: Implementacin y Borrado Bsico de Aplicaciones
dentro de este documento se analiza este tema de forma rpida, se puede examinar
para ver los procedimientos.
Configuracin detallada de Aplicaciones
A continuacin se detallan algunas formas para mejorar las aplicaciones y
parmetros para personalizarlas dentro de GlassFish Server.

Recargar Cambios de Aplicaciones o Mdulos Dinmicamente

El recargado dinmico de aplicaciones posibilita hacer cambios al cdigo o a
los descriptores de desplegado de una aplicacin o mdulo, sin la necesidad de
hacer una re implementacin explicita. El servidor verifica peridicamente los
cambios y hace automticamente el redespliegue de los cambios si la estampa de
fecha ha cambiado en el archivo .reload en el directorio de aplicaciones.
El recargado dinmico esta activado por defecto, y esta solo disponible en la
instancia de servidor por defecto.
Ejemplo de uso:
1. Ingresar al directorio raz de aplicaciones:

Aplicacin:
domain-dir/applications/app-nam

Mdulo:
domain-dir/applications/module-name

61

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

2. Crear o actualizar el archivo .reload

$ touch .reload


Esto creara el archivo para manejar el recargado automtico de aplicaciones.

Realizar una Implementacin usando Deployment Plan

En un deployment plan para un archivo EAR, el archivo glassfish-
application.xml esta localizado en la raz. El descriptor de desplegado para cada
mdulo es almacenado de acuerdo a la siguiente sintaxis: module-name.gf-dd-name,
donde gf-dd-name depende del tipo mdulo, si un mdulo nombrado MyModule
contiene un archivo de mapeo CMP, el archivo nombrado MyModule.sun-cmp-
mappings.xml. Un archivo .dbschema es almacenado en el nivel raz y cada diagonal
(/) es reemplazado por un signo (#).

Ejemplo de desplegado con Deployment Plan:

asadmin>deploy --deploymentplan mydeployplan.jar myrostapp.ear
Application deployed successfully with name myrostapp.
Command deploy executed successfully.


Ejemplo de estructura de Deployment Plan para un archivo EAR:

$ jar -tvf mydeployplan.jar


420 Thu Mar 13 15:37:48 PST 2003 glassfish-application.xml
370 Thu Mar 13 15:37:48 PST 2003 RosterClient.war.glassfish-web.xml
418 Thu Mar 13 15:37:48 PST 2003 roster-ac.jar.glassfish-application-client.xml
1281 Thu Mar 13 15:37:48 PST 2003 roster-ejb.jar.glassfish-ejb-jar.xml
2317 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.glassfish-ejb-jar.xml
3432 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.sun-cmp-mappings.xml
84805 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.RosterSchema.dbschema


Ejemplo de estructura de Deployment Plan para mdulo EJB:

$ jar r -tvf myotherplan.jar


3603 Thu Mar 13 15:24:20 PST 2003 glassfish-ejb-jar.xml
3432 Thu Mar 13 15:24:20 PST 2003 sun-cmp-mappings.xml
84805 Thu Mar 13 15:24:20 PST 2003 RosterSchema.dbschema

62

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Modificar la configuracin de una aplicacin Web o Mdulo

Podemos modificar los descriptores de una aplicacin y volver a
empaquetarla y desplegarla en el servidor nuevamente.
Podemos tambin modificar la estructura de la aplicacin sin editar los
descriptores, estableciendo ciertos parmetros, cuando estos parmetros son
limpiados, los valores por defecto en los descriptores son usados.

Establecer Parmetro de Contexto Web

Se usa el subcomando set-web-context-param en modo remoto para cambiar
la configuracin de una aplicacin sin modificar los descriptores y hacer el re
desplegado de la aplicacin y sobrescribir el valor original contenido en el
descriptor.
Si se usa la opcin --ignoreDescriptorItem con el valor true, entonces el
servidor ignora cualquier configuracin para el parmetro de contexto en el
descriptor, lo cual significa que no es necesario especificar un valor de sobrescritura
para el parmetro set-web-context-param. El servidor se comporta como si el
descriptor no tuviera ninguna configuracin para el contexto.
Este subcomando establece el parmetro de contexto de inicializacin de uno
de los siguientes elementos:
Una aplicacin web desplegada
Un mdulo web en una plataforma Java, Aplicacin Java EE
Ejemplo:

asadmin> set-web-context-param --name=javax.faces.STATE_SAVING_METHOD --
description="The location where the applications state is preserved" --
value=client basic-ezcomp
Command set-web-context-param executed successfully.

Quitar Parmetro de Contexto Web

asadmin> unset-web-context-param --name=javax.faces.STATE_SAVING_METHOD


basic-ezcomp
Command unset-web-context-param executed successfully.

Listar los Parmetros de Contexto Web

asadmin>
list-web-context-param
basic-ezcomp
javax.faces.STATE_SAVING_METHOD = client ignoreDescriptorItem=false //The

63

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

location where the application?s state is preserved javax.faces.PROJECT_STAGE


= null ignoreDescriptorItem=true //null
Command list-web-context-param executed successfully.

Establecer una Entrada de Entorno Web


Una aplicacin usa los valores de entradas de ambiente para personalizar su
comportamiento o su presentacin. Para ello usamos el subcomando en modo
remoto set-web-env-entry. El servidor se comporta como si no hubiera tenido una
entrada en el descriptor.
Aplica para:

Una aplicacin web desplegada
Un mdulo web en una plataforma Java, Aplicacin Java EE

Este comando establece la entrada de entorno Hello User de la aplicacin
hello a techscribe. El tipo de esta entrada es java.lang.String.

asadmin> set-web-env-entry --name="Hello User" --type=java.lang.String -
-value=techscribe --description="User authentication for Hello appplication"
hello
Command set-web-env-entry executed successfully

Quitar una Entrada de Entorno Web

asadmin> unset-web-env-entry --name="Hello User" hello


Command unset-web-env-entry executed successfully.

Listar Entradas de Entorno Web

asadmin> list-web-env-entry hello Hello User (java.lang.String) =


techscribe ignoreDescriptorItem=false //User authentication for Hello
appplication Hello Port (java.lang.Integer) = null ignoreDescriptorItem=true
//null
Command list-web-env-entry executed successfully.

64

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Creacin y Configuracin de Clsters en GlassFish Server 3


Conceptos de Clster de GF Server

Alta Disponibilidad

Sucede cuando una aplicacin o servicio web proporciona funcionalidad
continuamente independientemente de fallas de software o hardware. Para hacer
que esto sea posible GlassFish Server proporciona mecanismos para mantener
Informacin de Estado entre Instancias de Servidor GF. La informacin de sesin,
como informacin de una sesin HTTP, sesiones EJB stateful, e informacin de cache
dinmico, es replicada en tiempo real a travs de las instancias del servidor. Si
cualquiera de las instancias del servidor esta abajo, el estado de sesin esta
disponible para el siguiente servidor failover, resultando un mnimo de tiempo fuera
de servicio y una mayor seguridad de la s transacciones.
GlassFish provee las siguientes caractersticas de alta disponibilidad:

Plug-in de balanceo de cargas

Acepta peticiones HTTP/HTTPS y las reenva a las diferentes instancias del
clster. Si una instancia se viene abajo, ya sea por fallo de red o porque no responde,
el balanceador la ignora y reenva las peticiones a las otras instancias. Tambin
puede determinar cuando una instancia no esta disponible y ha sido recuperada
para distribuir la carga nuevamente tras un fallo. El plug-in es compatible con Oracle
iPlanet Web Server, Oracle HTTP Server, Apache HTTP Server y Microsoft Internet
Information Server.
Distribuyendo la carga entre una cantidad de host fsicos el balanceador
mejora el rendimiento general del sistema. Esto proporciona alta disponibilidad en
failover para peticiones HTTP. Para persistir la informacin de sesin HTTP se debe
configurar la persistencia de HTTP.
Para algo simple, para aplicaciones stateless un balanceador de carga ser
suficiente, pero para aplicaciones de misin critica es necesario un balanceador de
clsters con persistencia replicada.
Las instancias y los clsters que participan en el balanceo deben pertenecer a
un entorno homogneo. Usualmente esto significa que el servidor tiene acceso a la
misma configuracin de servidor, mismos recursos fsicos, y tiene las mismas
aplicaciones desplegadas.

65

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Alta Disponibilidad de Persistencia de Sesin


GlassFish proporciona alta disponibilidad para peticiones e informacin
HTTP para informacin de sesin HTTP y stateful session bean. Las aplicaciones
Java EE regularmente tienen una gran cantidad de informacin de sesin. Un carro
de compras es un ejemplo caro de esto. Tambin una aplicacin puede ingresar en
cache informacin necesitada con frecuencia en un objeto de sesin. La mayora de
aplicacin con interaccin significativa del usuario necesitan mantener estado de
sesin. Ambas sesiones HTTP y stateful session bean (SFSBs) tienen informacin de
sesin.
Preservar el estado de la sesin tras fallo del servidor puede ser importante
para el usuario final. Si GlassFish Server puede hospedar la informacin del usuario
cuando un servidor falla puede recuperarse el estado de la sesin, y la sesin puede
continuar sin prdida de informacin. En GlassFish v3 esto se lleva a cabo mediante
Replicacin de Sesin en Memoria sobre las instancias ejecutndose en un clster.

Alta Disponibilidad JMS

GlassFish soporta la API JMS y mensajera a travs de su construccin del
recurso conector jmsra comunicndose con GlassFish Message Queu como
proveedor JMS. Eta combinacin tambin es llamada JMS Service.
El servicio JMS hace Mensajera JMS de alta disponibilidad mediante:

Message Queu Broker Clsters

Por defecto cuando un clster GF es creado, el servicio JMS configura
automticamente Message Queu broker clster para proveer servicios de
mensajera JMS, con un brker clusterizado asignado a cada instancia del clster.
Automticamente el brker creado es configurable para tener ventaja de dos tipos
de broker clsters, conventional y enhaced, soportados por Message Queu.

Connection Failover

El uso de Message Queu Broker Clsters provee failover de conexin en caso
de que un Broker falle. Si el Host primario JMS (Message Queu broker) falla, las
conexiones sern enviadas a un nuevo host de la lista de nodos JMS, permitiendo
que el servicio JMS contine.

66

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Balanceo de Carga y Failover RMI-IIOP


Una peticin de cliente IIOP es distribuida a diferentes instancias de servidor
o servidores nombrados, lo cual distribuye la carga a travs del clster, proveyendo
escalabilidad. Balanceo de carga IIOP con Clster EJB y disponibilidad tambin
provee failover EJB.

Como provee alta disponibilidad GlassFish

GlassFish cuenta con dos caractersticas para proporcionar alta
disponibilidad:

Almacn para Informacin de Estado de Sesin

El almacenamiento de la informacin de estado de sesin, permite recuperar
la sesin tras un fallo de una instancia de servidor. Lo que permite que se contine
con la sesin sin prdida de informacin. GF soporta replicacin en memoria sobre
otros servidores en el clster para mantener la sesin HTTP y la informacin SFSB.
La replicacin de sesin en memoria es implementada en GlassFish v 3.1
como un mdulo OSGi. Internamente usa un algoritmo hash consistente para
apuntar a una replica de la instancia dentro de un clster e instancias. Esto permite
al mdulo de replicacin localizar fcilmente la replica o la informacin replicada
cuando el contenedor necesita recuperar la informacin.
El uso de replicacin en memoria requiere de que Group Management
Service (GMS) este habilitado.
Si las instancias estn localizadas en diferentes hosts, debemos asegurarnos
de que estos requisitos se cumplen:
Asegurarse de que GMS y la replicacin en memoria funcionan
adecuadamente. Los hosts deben estar dentro de la misma subred.
Asegurarse que la replicacin en memoria funciona correctamente, los
relojes de sistema de todos los hosts deben estn sincronizados lo mas
exacto posible.

Clsters de Alta Disponibilidad

Los Clsters de alta disponibilidad integran un servicio de replicacin de
estado con clsters y balanceador de carga.



67

Condor Consulting Services

S. A. de C. V.






Oracle GlassFish Server v3.1

Elementos relacionados:

Instancia de Servidor.

Una instancia de servidor no requiere ser parte de un clster
necesariamente. Sin embargo una instancia de servidor que no pertenece a un
clster no puede tener la ventaja de alta disponibilidad, transfiriendo el estado de
sesin de una instancia a otra. Las instancias de servidor de un clster pueden estar
hospedadas en uno o mltiples hosts, se pueden agrupar varias instancias a travs
de varios host en un clster.

Clster.

Un sol clster puede recibir peticiones de mltiples balanceadores de carga.
Si un clster es servido por mas de un balanceador, debemos configurar en
exactamente la misma forma cada balanceador.

Balanceador de Carga.

Un balanceador particular puede re enviar peticiones a instancias de servidor
o a mltiples clsters. Tambin se tiene la posibilidad de actualizar instancias de
servidor sin tener prdida de servicio.

Sesin.

Cada sesin esta vinculada a un clster particular, aunque podemos
desplegar una aplicacin sobre mltiples clsters la perdida de sesin ocurrir
dentro de un solo clster.
El clster acta como un limite seguro para fallo de sesiones para las
instancias de servidor dentro de un clster, podemos utilizar el balanceador de
carga y actualizar componentes sin prdida de servicio.

SSH para una Administracin de Clster Centralizada

GlassFish Server usa Secure Shell (SSH) para asegurar que los clsters que se
extienden en mltiples equipos puedan ser administrados centralizadamente. Para
realizar tareas de administracin en las instancias de servidor que estn en un
equipo diferente al DAS, debemos asegurarnos que el DAS puede comunicarse con
estas instancias. Como por ejemplo cuando se realiza la implementacin de una
aplicacin el DAS se conecta y realiza el despliegue.
68

Condor Consulting Services

S. A. de C. V.






Oracle GlassFish Server v3.1

Sin embargo, el DAS no puede conectarse a una instancia si esta apagada,
para iniciarla o reiniciarla, para estas tareas el DAS utiliza SSH para contactar a la
instancia. SSH provee seguridad para la informacin intercambiada entre el DAS las
instancias administradas.

Nota: La configuracin de SSH es opcional. Si e uso de SSH no es posible
pueden administrarse localmente cada instancia.
Creacin, Listado y Eliminacin de un Clsters en GF

Un clster es una coleccin nombrada de instancias de servidor GlassFish
que comparten las mismas aplicaciones, recursos he informacin de configuracin.
GlassFish permite la administracin de todas la instancias como una unidad y desde
un solo host, independientemente si residen en uno o mltiples hosts. Podemos
realizar las mismas operaciones sobre un clster as como con una instancia, como
despliegue de aplicaciones y crear recursos.

Un Clster proporciona alta disponibilidad mediante:

Proteccin a Fallos. Si una instancia en el clster falla, GlassFish lo
detecta y recupera la informacin del estado de sesin del usuario.
Escalabilidad. Si es requerido incrementar la capacidad, podemos
agregar instancias al clster sin disrupcin en el servicio. Cuando una
instancia es agregada o removida, los cambios son hechos
automticamente.
Balance de Cargas. Si las instancias del clster son distribuidas a
travs de diferentes mquinas, la carga de trabajo puede ser
distribuida en los host para mejorar el desempeo general del
sistema.

Para Crear un Clster

Si estamos configurando el servicio de GMS cuando creamos el clster
debemos asegurarnos de tener lo siguiente:

La direccin en la cual GMS escucha para grupos de eventos.
El numero de puerto por el cual GMS escucha grupos de eventos.
El numero mximo de iteraciones o transacciones que un mensaje
multicast para eventos GMS puede experimentar antes de que el
mensaje sea descartado.
69

Condor Consulting Services

S. A. de C. V.






Oracle GlassFish Server v3.1

El puerto mas bajo del rango de puertos del cual GMS selecciona un
puerto TCP para escuchar.
El puerto mas alto del rango de puertos del cual GMS selecciona un
puerto TCP para escuchar.


Sintaxis

asadmin> create-clster --config configuration
--multicastaddress multicast-address --multicastport multicast-port
--properties GMS_MULTICAST_TIME_TO_LIVE=max-iterations:
GMS_TCPSTARTPORT=start-port:GMS_TCPENDPORT=end-port clster-name


Ejemplo:

asadmin> create-clster
--systemproperties IIOP_SSL_LISTENER_PORT=1169
ltscluster
Command create-clster executed successfully.


En este ejemplo se crea un clster con los valores por defecto excepto el
puerto SSL de IIOP, lo cual hace una copia de la configuracin default-config para
crear el clster.

Listar Clsters del dominio

asadmin> list-clsters
pmdclust not running
ymlclust not running
Command list-clsters executed successfully.


Listar los clsters asociados a un host

asadmin> list-clsters sj01
ymlclust not running
Command list-clsters executed successfully.

Administracin de un Clster GF

Para Eliminar un Clster
Al eliminar un clster debemos asegurarnos de lo siguiente:

EL clster a eliminar debe estar detenido.

70

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

El clster no debe contener instancias.


El DAS debe estar en ejecucin.
Asegurarnos de que el clster esta detenido

asadmin> list-clsters clster-name

Asegurarnos que el clster no contiene instancias

asadmin> list-instances clster-name

Eliminar el clster

asadmin> delete-clster clster-name


Referencia Rpida

asadmin> list-clsters adccluster
adccluster not running
Command list-clsters executed successfully.
asadmin> list-instances adccluster
Nothing to list.
Command list-instances executed successfully.
asadmin> delete-clster adccluster
Command delete-clster executed successfully.


Para detener un clster

Detener un clster detiene todas las instancias que pertenecen a l.

Sintaxis:

asadmin> stop-clster clster-name


Ejemplo:

asadmin> stop-clster pmdcluster


Command stop-clster executed successfully.

71

Condor Consulting Services

S. A. de C. V.




Oracle GlassFish Server v3.1

Iniciar una Instancia Individual Centralizadamente

asadmin> start-instance pmd-i2
CLI801 Instance is already synchronized
Waiting for pmd-i2 to start ............
Successfully started the instance: pmd-i2
instance Location: /export/glassfish3/glassfish/nodes/sj02/pmd-i2
Log File: /export/glassfish3/glassfish/nodes/sj02/pmd-i2/logs/server.log
Admin Port: 24851
Command start-local-instance executed successfully.
The instance, pmd-i2, was started on host sj02.example.com
Command start-instance executed successfully.


Detener una instancia Individual Centralizadamente

asadmin> stop-instance pmd-i2
The instance, pmd-i2, is stopped.
Command stop-instance executed successfully.


Reiniciar una Instancia Individual Centralizadamente

asadmin> restart-instance pmd-i2


pmd-i2 was restarted.
Command restart-instance executed successfully.

72

Condor Consulting Services

S. A. de C. V.

Oracle GlassFish Server v3.1

Referencias Bibliogrficas


Documentacin Oracle GlassFish Server v3.0.1/v3.1

Quick Start Guide
Release Notes
Installation Guide
Administration Guide
High Availability Administration Guide
Security Guide
Application Deployment Guide
Reference Manual

73

Condor Consulting Services

S. A. de C. V.

You might also like