Sun GlassFish Enterprise Server v3 ofrece un servidor para el desarrollo e implementación de aplicaciones de la plataforma Java, Enterprise Edition (plataforma Java EE) y tecnologías web basadas en la tecnología Java.
Se describen aquí las siguientes novedades de Enterprise Server:
Java EE 6 introduce el concepto de perfiles. Un perfil es un conjunto de tecnologías y API de Java EE que atienden a comunidades de desarrolladores y tipos de aplicación específicos.
Los siguientes perfiles se implementan mediante las distribuciones de Sun GlassFish Enterprise Server v3:
Perfil de plataforma completa. Este perfil se ha diseñado para desarrolladores que requieren el conjunto completo de API de Java EE para el desarrollo de aplicaciones empresariales. El Perfil de plataforma completa se instala al instalar Sun GlassFish Enterprise Server v3. Este perfil también se instala como parte de la instalación del SDK de Java EE 6.
Perfil web. Este perfil contiene tecnologías web que forman parte de la plataforma completa y está diseñado para desarrolladores que no precisen todo el conjunto de API de Java EE. El perfil web se instala al instalar Perfil web de Sun GlassFish Enterprise Server v3. Este perfil también se instala con SDK del perfil web de Java EE 6.
Las versiones de SDK de Java EE 6 están disponibles en la página de descargas de Java EE 6 SDK.
Para obtener la lista de las API de cada perfil, consulte Estándares de Java EE 6.
En Sun GlassFish Enterprise Server v3, el código GlassFish está dividido en módulos que proporcionan flexibilidad y un mejor rendimiento del tiempo de ejecución. La arquitectura modular se implementa sobre estándares de OSGi Alliance y permite volver a utilizar módulos de Enterprise Server v3, así como otros módulos.
Este cambio de diseño permite usar sólo los módulos necesarios para las aplicaciones implementadas. El tiempo de ejecución se utiliza únicamente para aplicaciones que lo utilizan, y pueden implementarse actualizaciones sin necesidad de realizar una reinstalación completa del sistema. De esa forma se reducen los tiempos de arranque, el consumo de memoria y los requisitos de espacio en disco.
El diseño modular ofrece la posibilidad de llevar a cabo las acciones siguientes:
Implementar conjuntos de OSGi
Implementar archivos históricos de bibliotecas de Java (JAR)
Reemplazar la funcionalidad existente con otra implementación
Una nueva interfaz de proveedor de sistema (SPI) de contenedor de Sun GlassFish Enterprise Server v3 define las interfaces que el desarrollador de contenedores debe implementar, de forma que Enterprise Server pueda llamarlas en los momentos adecuados. Este cambio permite a los usuarios de Enterprise Server crear servidores de aplicaciones personalizados mediante la adición de comandos administrativos y componentes gráficos complementarios.
Enterprise Server también ofrece compatibilidad agilizada para nuevos tipos de módulos, como por ejemplo Ruby on Rails.
Ahora la Herramienta de actualización está incrustada en Sun GlassFish Enterprise Server v3 Consola de administración. Esta herramienta facilita la administración de componentes complementarios y aplicaciones relacionadas que se encuentran disponibles para ampliar las funciones de Enterprise Server v3.
La Consola de administración, proporciona acceso a la página de la Herramienta de actualización a través del árbol de navegación. La página de la Herramienta de actualización incluye fichas que muestran los siguientes datos:
Componentes instalados
Actualizaciones disponibles para los componentes instalados
Componentes complementarios disponibles y que pueden instalarse
La integración de la Herramienta de actualización en la Consola de administración permite a los administradores ampliar fácilmente Enterprise Server y ver actualizaciones disponibles. También existe una versión independiente de la Herramienta de actualización a través del comando updatetool. Para obtener más información sobre la Herramienta de actualización, consulte Update Tool de Sun GlassFish Enterprise Server v3 Administration Guide.
No se pueden actualizar los componentes existentes a través de la interfaz de la Herramienta de actualización en la Consola de administración. Para actualizar o eliminar componentes instalados, debe utilizar la versión independiente de la línea de comandos o el comando pkg.
La Herramienta de actualización se ha desarrollado a través del proyecto Update Center. La Consola de administración utiliza Update Center 2.3 API para mostrar una lista de componentes, versiones y fechas disponibles. Para obtener información sobre Update Center 2.3, consulte las Notas de la versión para Update Center 2.3 .
La Herramienta de actualización es distinta de la Herramienta de mejora, que se utiliza para migrar la configuración y las aplicaciones implementadas desde una versión anterior de Enterprise Server a la versión actual. Para obtener más información sobre la Herramienta de mejora, consulte la Sun GlassFish Enterprise Server v3 Upgrade Guide .
Para facilitar un rápido desarrollo e implementación de aplicaciones, Sun GlassFish Enterprise Server v3 es compatible con diversos lenguajes de secuencia de comandos. El uso de lenguajes de línea de comandos permite aplicar Enterprise Server más allá de los desarrollos centrados en tecnología Java. Entre los lenguajes de secuencia de comandos compatibles se encuentran:
JRuby y Rails: un lenguaje de secuencia de comandos y una estructura para desarrollar aplicaciones web
Grails: Una estructura de aplicaciones web que saca el máximo partido del lenguaje de programación Groovy y complementa el desarrollo web Java
Jython y Django: una implementación de Java del lenguaje Python y una estructura web para Python y las implementaciones de Python (como, por ejemplo, Jython)
jMaki: Una estructura para crear aplicaciones web Ajax
La compatibilidad con estos lenguajes de secuencia de comandos es posible gracias a componentes que se encuentran disponibles a través de la Herramienta de actualización.
Sun trabaja estrechamente con Microsoft para garantizar la interoperabilidad de las tecnologías de empresa de los servicios web, como la optimización de mensajes, la mensajería fiable y la seguridad. WSIT es el resultado de este trabajo conjunto. WSIT forma parte de Metro 2.0, una pila de servicios web extensibles y de alto rendimiento que ofrece interoperabilidad con Microsoft .NET 3.5. Metro 2.0 se incluye en la distribución completa de Enterprise Server v3.
WSIT es una implementación de varias especificaciones de servicios web abiertas que son compatibles con funciones empresariales. Además de la optimización de mensajes, la mensajería fiable y la seguridad, WSIT incluye tecnología de secuencia de arranque y de configuración. Comenzando por la compatibilidad con XML integrada en la plataforma Java, WSIT utiliza o amplía funciones existentes y añade compatibilidad adicional para servicios web que funcionan conjuntamente, incluidos:
Secuencia de arranque y configuración
Tecnología de optimización de mensajes
Tecnología de mensajería fiable
Tecnología de seguridad
En esta versión, la utilidad appclient está mejorada de la siguiente forma:
La utilidad appclient acepta una sintaxis de línea de comandos alternativa similar a la sintaxis del ejecutador de aplicaciones Java (java).
Se agrega la opción -targetserver para habilitar el servidor y el número de puerto del destino que vaya a especificarse.
Se admiten pantallas de presentación en clientes de aplicación.
Para obtener más información, consulte la página de comando man appclient(1M).
Sun GlassFish Enterprise Server v3 utiliza EclipseLink como proveedor de API de persistencia de Java (JPA) 2.0. EclipseLink también es la implementación de referencia para JSR 317. Para ver la información más reciente sobre la funcionalidad de EclipseLink, consulte las notas de la versión de EclipseLink 2.0.
En Sun GlassFish Enterprise Server v3, la mayor parte de la configuración del Servicio HTTP se ha trasladado a la nueva configuración de Servicio de red. Para obtener más información, consulte la Sun GlassFish Enterprise Server v3 Upgrade Guide.
De manera predeterminada, en Sun GlassFish Enterprise Server v3, no se le solicitan credenciales de administrador. Éste es un cambio respecto a las versiones anteriores.
Si instala Enterprise Server mediante el archivo ZIP, se le pedirán credenciales de administrador cuando inicie la Consola de administración o use la utilidad asadmin y los subcomandos remotos para realizar tareas administrativas.
Si instala Enterprise Server v3 mediante el archivo de extracción automática y el programa de instalación gráfico, no se le pedirán las credenciales de administrador a menos que haya especificado un nombre de usuario y una contraseña en la página de configuración de administración durante la instalación. Si acepta la valores predeterminados de esta página, el usuario administrativo predeterminado es admin y el campo de la contraseña se deja en blanco.
Si hay un único usuario de administración sin ninguna contraseña, no se permitirán inicios de sesión no autenticados. Para obtener más información sobre la autenticación del administrador, consulte To Log In to a Domain de Sun GlassFish Enterprise Server v3 Administration Guide.
Los requisitos de autenticación de administrador se pueden cambiar una vez instalado Enterprise Server. Para obtener información acerca de cómo utilizar la Consola de administración para realizar esta tarea y otras relacionadas, consulte la ayuda en línea de la Consola de administración. Para obtener más información sobre el uso de la interfaz de la línea de comandos, consulte Administering Passwords de Sun GlassFish Enterprise Server v3 Administration Guide.
El comportamiento de la utilidad asadmin se ha modificado para resaltar la distinción entre las opciones de la propia utilidad asadmin y las opciones para sus subcomandos. Ahora las opciones para la propia utilidad asadmin se permiten antes que el subcomando. Sin embargo, para la compatibilidad con otras versiones, las opciones para la propia utilidad asadmin siguen permitiéndose después del subcomando, aunque dicha sintaxis no se aprueba.
Para obtener más información, consulte Using the asadmin Utility de Sun GlassFish Enterprise Server v3 Administration Guide.
Sun GlassFish Enterprise Server v3 incluye los siguientes cambios de diseño de archivo respecto a las versiones anteriores:
El directorio de instalación predeterminado es el siguiente:
Sistemas Solaris, Linux y Mac OS X: directorio-de inicio-del usuario /glassfishv3
Sistemas Windows: Unidaddelsistema :\glassfishv3
Se ha agregado un subdirectorio glassfish con otros subdirectorios debajo.
Las bibliotecas de productos se han trasladado de Glassfish/lib a glassfish/modules.
Se ha agregado un directorio osgi.
Se ha agregado un directorio diseñado para archivos legales. Ahora los archivos de licencia y copyright se encuentran en glassfish/legal.
Sun GlassFish Message Queue se instala en un directorio de nivel superior en lugar de hacerlo en un subdirectorio.
Java DB se instala en un directorio de nivel superior en lugar de hacerlo en un subdirectorio.
Sun GlassFish Enterprise Server v3 proporciona tareas Ant específicas del servidor para el que deberá estar instalado Ant. La utilidad asant no se incluye en la versión.
Enterprise Server es compatible con Apache Ant versiones 1.6.5 o superior. Si Ant no está instalado, puede hacerlo con la Herramienta de actualización.
Para obtener más información sobre la Herramienta de actualización, consulte Update Tool de Sun GlassFish Enterprise Server v3 Administration Guide. Para obtener más información sobre las tareas Ant, consulte el Capítulo 3, Using Ant with Enterprise Server de Sun GlassFish Enterprise Server v3 Application Development Guide.
Dado que Sun GlassFish Enterprise Server v3 es modular y extensible, el archivo domain.xml no se puede validar frente a un archivo DTD estático. En su lugar, el archivo domain.xml se valida con anotaciones @configuradas en el código fuente. Para obtener más información acerca de la estructura del archivo domain.xml, consulte la Sun GlassFish Enterprise Server v3 Domain File Format Reference.
Existen diferencias en lo que se refiere a las aplicaciones entre Enterprise Server v3 y Enterprise Server v2. En esta sección se describen algunas de dichas diferencias.
El valor predeterminado de la opción force para una implementación es falso en Enterprise Server v3. Este valor predeterminado era verdadero en Enterprise Server v2. En Enterprise Server v3 debe establecer explícitamente la opción en verdadero para la reimplementación. Esta opción no se establece automáticamente durante el proceso de actualización. La finalidad de este cambio es evitar sobrescribir accidentalmente el contenido de una aplicación existente. Esto se aplica tanto a la Consola de administración como a la utilidad de línea de comandos.
El comando reimplementación de asadmin también es nuevo en Enterprise Server v3 y le ofrece un equivalente a --force=verdadero. La opción force sólo se aplica al comando implementar (interfaz de línea de comandos) y a la pantalla implementar (consola), no al comando reimplementar ni a la pantalla reimplementar.
Enterprise Server v2 incluía dos subdirectorios para el depósito de aplicaciones: applications/j2ee-apps y applications/j2ee-modules. Estos subdirectorios no existen en Enterprise Server v3 (no hay ningún nivel j2ee-apps ni j2ee-modules). La implementación de un módulo independiente como, por ejemplo, foo.war, que se encontraba en applications/j2ee-modules/foo en Enterprise Server v2, se encuentra ahora en applications/foo en Enterprise Server v3. Las aplicaciones de empresa y los módulos independientes comparten básicamente el mismo espacio de nombre, por lo que no se necesita la capa de directorio intermedio.
Los elementos anteriores como, por ejemplo, web-module, ejb-module, etc., no han sido aprobados en Enterprise Server v3 y se han sustituido por el nuevo elemento de aplicación. Para obtener más información sobre el elemento de aplicación, consulte application de Sun GlassFish Enterprise Server v3 Domain File Format Reference.
Durante una actualización, las aplicaciones de Enterprise Server v2 se vuelven a implementar en la nueva ubicación applications/ con el nuevo elemento aplicación en domain.xml. Cualquier nueva aplicación implementada en Enterprise Server v3 se implementará con la nueva estructura de directorios y elemento.
Java EE 6 impone reglas de visibilidad de JAR más estrictas que Java EE 5. Como resultado, puede que fallen algunas aplicaciones anteriores.
La especificación de Java EE 6 impone reglas estrictas sobre qué archivos JAR se visualizan desde un archivo Enterprise Archive (EAR) (archivo de empresa). Consulte en particular la sección EE.8.3.3. En concreto, los módulos de cliente de aplicación no deben tener acceso a ningún archivo JAR EJB a menos que el manifiesto de archivos JAR del cliente de la aplicación Class-Path haga referencia explícitamente a los archivos JAR EJB.
Este es un cambio con respecto a Enterprise Server v2, en el que los clientes de aplicaciones tenían acceso automáticamente a todos los archivos EJB JAR del archivo EAR y a todos los archivos JAR del nivel superior del archivo EAR. Para ser acorde con el idioma de especificación más estricto, Enterprise Server v3 no puede proporcionar automáticamente clientes de aplicaciones con acceso a estos archivos JAR.
Este nuevo comportamiento más estricto que impone Java EE 6 se puede gestionar del siguiente modo:
Si la aplicación está implementada en un dominio de Enterprise Server v2, la Herramienta de actualización conservará el comportamiento de Enterprise Server v2 para dicha aplicación de ese dominio. Para obtener más información sobre la actualización, consulte la Sun GlassFish Enterprise Server v3 Upgrade Guide .
Cambie el manifiesto Class-Path del cliente para que haga referencia explícitamente a los archivos JAR de los que depende. Class-Path no debe enumerar los archivos JAR del directorio de la biblioteca de archivos EAR. Tal como se requiere en la especificación, todos los archivos JAR de ese directorio están disponibles para todos los módulos del archivo EAR. De forma predeterminada, este directorio es /lib, o se puede establecer en algún otro directorio mediante library-directory en el descriptor de application.xml.
Implemente el archivo EAR utilizando el valor opcional --compatibilidad de propiedad=v2. Esto preserva el comportamiento de Enterprise Server v2 para dicha aplicación cuando se implemente en Enterprise Server v3.
Este cambio de comportamiento se analiza también en el Capítulo 1, Application Server Compatibility Issues de Sun GlassFish Enterprise Server v3 Upgrade Guide.
En Sun GlassFish Enterprise Server v3, al ejecutar los comandos deploy --retrieve y get-client-stub, ya no se descarga un sólo archivo JAR en el directorio local como en Enterprise Server v2. A pesar de que se sigue creando localdir/myAppClient.jar en Enterprise Server v3 y se puede utilizar como destino en el comando appclient, también se crea otro directorio, localdir/myAppClient , que puede contener otros archivos.
Si normalmente copia el único archivo JAR descargado de Enterprise Server v2 para trasladar los componentes de clientes de aplicaciones de un lugar a otro, esto no funcionará en Enterprise Server v3. El método admitido es usar el comando asadmin get-client-stubs para dicho fin. Para obtener más información sobre el comando, consulte get-client-stubs(1).
No obstante, si aún decide realizar la copia, debe copiar no sólo el archivo localdir/myAppClient.jar (como en Enterprise Server v2), sino también todo el contenido del directorio localdir/myAppClient.