Este capítulo proporciona una base conceptual y técnica para comprender las funciones que desempeñan un papel clave en la integración de componentes de Java ES en un único sistema de software. Estas funciones ayudan a comprender algunas de las ventajas de utilizar Java ES frente a la integración manual de productos de infraestructura dispares.
Este capítulo contiene las siguientes secciones:
Todos los componentes de Java ES se instalan utilizando un único instalador (también llamado "programa de instalación"). El programa de instalación de Java ES transfiere el software de Java ES a un sistema host. Este programa permite seleccionar e instalar cualquier número de componentes de Java ES en un host del entorno informático. También proporciona algunas opciones de configuración en el momento de la instalación, en función de los componentes de Java ES que se estén instalando.
El programa de instalación de Java ES no realiza, por sí mismo, instalaciones distribuidas. Para implementar una solución de software de Java ES distribuida, debe utilizar el programa de instalación de Java ES para instalar los componentes adecuados en cada equipo de su entorno. Debe utilizar una secuencia razonable de sesiones de instalación y procedimiento de configuración, basándose en la arquitectura de implementación y las dependencias de componentes.
El programa de instalación se ejecuta de forma interactiva en modo gráfico y basado en texto; también ofrece un modo de instalación silencioso mediante parámetros. Además del inglés, el programa de instalación admite los siguientes idiomas: francés, alemán, japonés, coreano, español, chino simplificado y chino tradicional.
En esta sección, se describen los diferentes aspectos del programa de instalación integrado de Java ES. Para obtener información más detallada, consulte la Guía de instalación de Sun Java Enterprise System 5 para UNIX.
El programa de instalación examina el host en el que se esté realizando la instalación e identifica los componentes de Java ES que ya se hayan instalado. El programa de instalación realiza comprobaciones en varios niveles para asegurarse de que todos los componentes instalados previamente tengan un nivel de versión que permita una correcta interoperabilidad. El programa de instalación informa acerca de los componentes de software que son incompatibles y que deben actualizarse o quitarse.
Del mismo modo, el programa de instalación comprueba Java ES en busca de componentes compartidos como, por ejemplo, J2SE o NSS, que ya se hayan instalado y muestra las incompatibilidades (consulte Componentes compartidos). Si continúa con la instalación, el programa de instalación actualiza automáticamente los componentes compartidos con las nuevas versiones.
El instalador realiza una comprobación exhaustiva de los componentes para comprobar que los componentes que elija para instalarlos funcionarán bien juntos. Numerosos componentes guardan relaciones de dependencia con otros componentes. Por este motivo, al seleccionar un componente para instalarlo, el programa de instalación incluye automáticamente los componentes y subcomponentes respecto de los que el componente seleccionado presenta relaciones de dependencia. No puede anular la selección de un componente si otro componente seleccionado depende de ése localmente. No obstante, si la relación de dependencia no es local, aunque reciba una advertencia, podrá continuar, ya que este proceso asume que la relación de dependencia será satisfecha por un componente presente en otro equipo host.
Varios componentes de Java ES requieren una configuración inicial antes de que se puedan iniciar. El programa de instalación de Java ES suele realizar esta configuración inicial para algunos componentes.
Puede elegir que el programa de instalación realice esta configuración inicial (opción "Configurar ahora") u omitirla ("Configurar más tarde"), en cuyo caso tendrá que realizar la configuración de forma explícita para cada componente instalado una vez finalizada la instalación.
Si desea que el programa de instalación realice la configuración inicial, deberá suministrar la información necesaria durante la instalación. En concreto, puede especificar un conjunto de valores de parámetros comunes a todos los productos componentes, como un Id. de administrador y una contraseña.
Java ES también proporciona un programa de desinstalación para eliminar los componentes instalados en el equipo local por el programa de instalación de Java ES. El programa de desinstalación comprueba las relaciones de dependencia y emite una advertencia cuando detecta una dependencia. El programa de desinstalación no elimina los componentes compartidos de Java ES. Al igual que el programa de instalación, este programa se puede ejecutar en el modo gráfico, basado en texto o silencioso.
Java ES incluye una nueva función de supervisión del sistema que proporciona supervisión de los servicios del sistema en tiempo real. La supervisión se implementa mediante Sun Java System Monitoring Framework (componente compartido) y Sun Java System Monitoring Console (componente de producto). Monitoring Framework se configura y habilita automáticamente para recopilar los datos de cada componente de Java ES instalado, mientras que Monitoring Console es la interfaz gráfica utilizada para visualizar los datos supervisados. Monitoring Console es un componente que puede seleccionarse durante la instalación de Java ES, mientras que Monitoring Framework se instala automáticamente.
La supervisión es el proceso de recopilación y presentación de los datos de tiempo de ejecución, y de cálculo de los criterios de calidad del servicio para que los administradores del sistema puedan evaluar el rendimiento y recibir alarmas. Durante la operación de tiempo de ejecución, los administradores interactúan con Monitoring Console para ver las estadísticas de rendimiento, establecer dinámicamente los umbrales de supervisión, definir los trabajos de supervisión personalizados y confirmar las alarmas.
Una función importante de Java ES es su administración integrada de las identidades de los usuarios, así como su estructura integrada de autorización y autenticación. En esta sección se ofrece información técnica para conocer los servicios de identidad y seguridad integrados proporcionados por Java ES.
Dentro de un entorno de Java ES, cada usuario final tiene su identidad única integrada. En función de su identidad única, a un usuario se le puede conceder acceso a varios recursos como, por ejemplo, portales, páginas web o servicios como el uso de mensajes y calendarios y la mensajería instantánea.
Esta función integrada de seguridad e identidad está basada es una estrecha colaboración entre Directory Server, Access Manager y otros componentes de Java ES.
El acceso de los usuarios a un servicio o recurso de Java ES se consigue almacenando información específica del usuario en una única entrada de usuario en un depósito o directorio de usuarios. Esta información normalmente incluye datos como una contraseña y un nombre exclusivos, así como una dirección de correo electrónico, un rol en una organización, preferencias de páginas web, etc. La información de la entrada de usuario puede utilizarse para autenticarlo, autorizar el acceso a recursos específicos u ofrecerle una variedad de servicios.
En el caso de Java ES, las entradas de los usuarios se almacenan en un directorio proporcionado por Directory Server. Cuando un usuario desea solicitar un servicio que ofrece un componente de Java ES, ese servicio utiliza Access Manager para autenticar al usuario y concederle acceso a los recursos específicos. El servicio solicitado comprueba la información de configuración específica del usuario en la entrada de directorio del usuario. El servicio utiliza dicha información para realizar la tarea solicitada por el usuario.
La siguiente figura ilustra el acceso a las entradas de usuario para realizar la autenticación y autorización del usuario y para proporcionarle servicios.
Mediante este sistema, cuando un usuario web inicia sesión en cualquier servicio de Java ES, se autentica automáticamente en otros servicios del sistema. Esta función, conocida como inicio de sesión único, es una característica muy eficaz proporcionada por Java ES.
Access Manager proporciona servicios de autenticación y autorización de Java ES. Access Manager usa la información de Directory Server para actuar como intermediario en la interacción de los usuarios con los servicios web de Java ES u otros servicios basados en web de una empresa.
Access Manager utiliza un componente externo denominado agente de directivas. El agente de directivas se conecta al servidor web que alberga un servicio o recurso asegurado por Access Manager. El agente de directivas intercede en nombre de Access Manager en solicitudes que realizan los usuarios a los recursos asegurados. En algunos componentes de Java ES como, por ejemplo, Portal Server, Access Manager SDK proporciona la función de agente de directivas.
Access Manager incluye un servicio de autenticación para comprobar las identidades de los usuarios que soliciten acceso (mediante HTTP o HTTPS) a los servicios web dentro de una empresa. Por ejemplo, un empleado de una empresa que necesita buscar el número de teléfono de un compañero utiliza un explorador para ir a la libreta de teléfonos en línea de la empresa. Para iniciar una sesión en el servicio de libreta de teléfonos, el usuario debe proporcionar un Id. de usuario y una contraseña.
La secuencia de autenticación es la que se muestra en la Figura 3–2. Un agente de directivas intercede en la solicitud para acceder a la libreta de teléfonos (1) y envía la solicitud al servicio de autenticación (2). El servicio de autenticación comprueba el Id. de usuario y la contraseña con la información almacenada en Directory Server (3). Si la solicitud de inicio de sesión es válida, el usuario se autentica (4), (5) y (6), y podrá consultar la libreta de teléfonos de la empresa (7). Si la solicitud de inicio de sesión no es válida, se generará un error y el usuario no podrá autenticarse.
El servicio de autenticación también admite la autenticación basada en certificados sobre HTTPS.
El escenario de autenticación descrito en los párrafos anteriores pasa por alto un paso importante. Cuando se comprueba la solicitud de autenticación de un usuario, el servicio de sesiones de Access Manager se activa (4), tal y como se muestra en la Figura 3–2. El servicio de sesiones genera un testigo de sesión, que contiene la información sobre la identidad del usuario y un Id. de testigo (5). El testigo de la sesión se devuelve al agente de directivas (6) que lo envía (como una cookie) al navegador (7) desde el que se ha realizado la solicitud de autenticación.
Cuando el usuario autenticado intenta acceder a otro servicio asegurado, el explorador pasa el testigo de sesión al agente de políticas correspondiente. El agente de directivas comprueba con el servicio de sesión que la autenticación anterior del usuario aún es válida, permitiendo que el usuario acceda al segundo servicio sin necesidad de escribir el Id. de usuario y la contraseña de nuevo.
Por lo tanto, un usuario sólo necesita iniciar una sesión una vez para autenticarse en los distintos servicios basados en web que ofrece Java Enterprise System. La autenticación mediante el inicio de sesión único sigue en efecto hasta que el usuario cierre la sesión explícitamente o cuando ésta caduque.
Access Manager también incluye un servicio de directivas que proporciona control de acceso a los recursos basados en web en un entorno de Java ES. Una directiva es una regla que especifica quién tiene autorización para acceder a recursos específicos bajo ciertas condiciones. La secuencia de autorización se muestra en la figura que aparece a continuación.
Cuando un usuario autenticado realiza una solicitud con respecto a recursos asegurados de Access Manager (1), el agente de directivas lo notifica al servicio de directivas (2), el cual utiliza la información de Directory Server (3) para evaluar la directiva de acceso que controla el recurso para ver si el usuario tiene permiso para acceder al recurso en cuestión (4). Si el usuario cuenta con privilegios de acceso (5), se admite la solicitud del recurso (6).
Access Manager proporciona los medios para definir, modificar, conceder, revocar y eliminar directivas en una empresa. Las directivas se almacenan y se configuran en Directory Server mediante atributos relacionados en entradas de organización. También pueden definirse roles para usuarios e incorporarse a definiciones de políticas.
Los agentes de directivas de Access Manager son los que ponen en práctica las directivas. Cuando el servicio de directivas rechaza una solicitud de acceso, el agente de directivas deniega el acceso a los recursos protegidos al usuario que lo solicita.
En esta sección, se explican los términos técnicos clave empleados en este capítulo, con especial atención al uso de estos términos en el contexto de Java ES.
Un tipo especial de base de datos optimizado para leer datos en lugar de escribirlos. La mayoría de los directorios se basan en LDAP (Protocolo ligero de acceso a directorios, del inglés Lightweight Directory Access Protocol), un protocolo estándar del sector.
Regla que describe quién está autorizado a acceder a un recurso específico y en qué condiciones concretas. La regla puede basarse en grupos de usuarios o roles de una organización.
Identidad que tiene un usuario en virtud de una entrada de usuario única en un directorio de Java ES. En función de esa entrada de usuario única, un usuario puede acceder a varios recursos de Java ES, como el portal, las páginas web y los servicios como, por ejemplo, los servicios de mensajería, calendario y mensajería instantánea.
Una función que hace posible la autenticación de un usuario para acceder a un servicio de un sistema distribuido que se aplica de forma automática a otros servicios del sistema.