Visión general técnica de Sun Java Enterprise System 2005Q4

Capítulo 1 Introducción a Java Enterprise System

Sun JavaTM Enterprise System (Java ES) es un conjunto de componentes de software que proporciona los servicios necesarios para poder utilizar potentes aplicaciones de empresa distribuidas en un entorno de red o de Internet. Estas aplicaciones se denominan en esta guía como aplicaciones de empresas distribuidas.

Java Enterprise System también es una versión de software de Sun, además de una metodología de envío y una estrategia empresarial y de asignación de precios. El planteamiento de esta guía, sin embargo, está centrado en los componentes de software de Java Enterprise System y los servicios que proporcionan.

Este capítulo presenta Java Enterprise System y las tareas que conlleva la utilización del sistema. Incluye los siguientes temas:

¿Por qué usted necesita Java Enterprise System?

En la actualidad, los requisitos empresariales demandan soluciones de software distribuidas en la red o en entornos de Internet y que tengan altos niveles de rendimiento, disponibilidad, seguridad, escalabilidad y facilidad de mantenimiento.

Java Enterprise System proporciona los servicios de infraestructura necesarios para estas aplicaciones de empresa distribuida, es decir, las aplicaciones que generalmente tienen las siguientes características:

Las aplicaciones de empresa distribuidas requieren un conjunto subyacente de servicios de infraestructura que permita a los componentes distribuidos comunicarse entre ellos, coordinar el trabajo, implementar un acceso seguro, etc. Estos servicios de infraestructura están, a su vez, admitidos por un entorno de hardware de equipos y vínculos de red. Este entorno de hardware incluye arquitecturas de hardware SPARC® y x86 (Intel y AMD).

En la siguiente figura se muestra el esquema general. En su mayor parte, Java Enterprise System proporciona la capa de servicios de infraestructura distribuida que se muestra en la Figura 1–1. Sin embargo, los servicios de Java Enterprise System también incluyen una serie de servicios de nivel de aplicaciones accesibles para los usuarios finales.

Figura 1–1 Compatibilidad necesaria para aplicaciones de empresa distribuidas

Diagrama que muestra cómo una aplicación de empresa distribuida colocada sobre servicios de infraestructura distribuida que, a su vez, están en un entorno de hardware de red.

Entre los servicios que incluye Java Enterprise System se encuentran los siguientes:

Java Enterprise System también proporciona servicios que mejoran la disponibilidad, la escalabilidad, la facilidad de mantenimiento y otras cualidades de las aplicaciones o del sistema. Entre las funciones de calidad del servicio que incluye Java Enterprise System se encuentran las siguientes:

Puede implementar uno o varios servicios de Java Enterprise System, cada uno de los cuales puede incluir un número de componentes de Java Enterprise System.

Componentes de Java Enterprise System

Java Enterprise System es una integración de distintos productos de software y componentes en un único sistema de software. Los componentes de este sistema se han probado conjuntamente para garantizar su interoperabilidad. La integración es posible mediante una serie de funciones de nivel de sistema:

Estas funciones se describen en los siguientes capítulos de esta guía. El objetivo de esta sección es presentar los distintos componentes integrados en Java Enterprise System. Estos componentes de sistema se pueden agrupar en tres categorías principales, tal y como se muestra en la siguiente ilustración:

Figura 1–2 Categorías de los componentes de Java ES

Diagrama que muestra las categorías de los componentes de Java ES y las relaciones existentes entre ellos.

Componentes de los servicios del sistema

Una serie de componentes de Java ES proporcionan los servicios principales que dan respaldo a las soluciones de software distribuidas. Estos servicios de sistemaincluyen servicios de portal, servicios de comunicación y colaboración, servicios de identidad y seguridad, servicios de contenedor web y servicios de aplicación J2EE.

Los componentes de servicio de sistema que proporcionan estos servicios distribuidos y los servicios que éstos proporcionan se describen brevemente en la siguiente tabla. Cada componente de los servicios del sistema es un proceso de servidor con varios subprocesos que admite el uso de una gran cantidad de clientes. Para obtener más información sobre cada componente, consulte Descripciones de los componentes de servicios de sistemas.

Tabla 1–1 Componentes de los servicios del sistema de Java ES

Componente 

Servicios de sistema proporcionados 

Sun Java System Web Server

Incluye servicios de administración de acceso y de administración de identidades digitales. Los servicios de administración de acceso incluyen la autenticación (también el inicio de sesión único) y la autorización basada en funciones para acceder a las aplicaciones y los servicios. Estos servicios incluyen la administración centralizada de cuentas de usuario individuales, roles, grupos y directivas.

Sun Java System Application Server

Incluye servicios de contenedor de J2EE para componentes de Enterprise JavaBeansTM (EJB), como beans de sesión, beans de entidad y beans controlados por mensajes. El contenedor incluye servicios de infraestructura necesarios para que interactúen los componentes distribuidos y bien acoplados, lo que convierte a Application Server en una plataforma para el desarrollo y la ejecución de aplicaciones de comercio electrónico y servicios web. Application Server también proporciona servicios de contenedor web.

Sun Java System Directory Server

Proporciona servicios de programación y de calendario a los usuarios finales individuales y a los grupos de usuarios finales. Calendar Server incluye un cliente basado en navegador que interactúa con el servidor. 

Sun Java System Directory Server

Incluye un depósito central para almacenar y administrar información de intranet e Internet como, por ejemplo, perfiles de identidad (empleados, clientes, proveedores, etc.), credenciales de usuario (certificados de clave pública, contraseñas y números de identificación personal), privilegios de acceso, información de recursos de aplicaciones e información de recursos de red. 

Sun Java System Instant Messaging

Proporciona comunicación segura y en tiempo real entre usuarios finales, como, por ejemplo, mensajería instantánea (chat), conferencias, alertas, noticias, encuestas y transferencias de archivos. El servicio incluye un administrador de presencia que indica a los usuarios quién está actualmente en línea e incluye un cliente basado en explorador que interactúa con el servidor. 

Sun Java System Message Queue

Proporciona funciones de mensajería asíncrona y fiable entre aplicaciones y componentes distribuidos que no estén firmemente acoplados. Message Queue implementa la especificación de la API de Java Message Service (JMS) y agrega funciones empresariales, tales como la seguridad, la escalabilidad y la administración remota.

Sun Java System Messaging Server

Incluye mensajería de almacenamiento y reenvío segura, fiable y de alta capacidad compatible con correo electrónico, fax, buscapersonas, voz y vídeo. Messaging Server puede obtener acceso simultáneamente a varios almacenes de mensajes e incluye filtrado de contenido para ayudar a rechazar correo electrónico no solicitado y evitar ataques de virus. 

Sun Java System Web Server

Proporciona servicios de portal claves, como por ejemplo, personalización y agregación para clientes basados en navegadores que acceden a aplicaciones o servicios de negocios. Portal Server también proporciona un motor de búsquedas configurable. 

Sun Java System Web Server

Proporciona servicios de contenedor web J2EETM para componentes web de Java como, por ejemplo, los componentes Java Servlet y JavaServer PagesTM (JSPTM). Web Server también admite otras tecnologías de aplicación web para aportar contenido web dinámico y estático, como, por ejemplo, secuencias de comandos CGI y páginas Active Server.

Sun Java System Service Registry 

Proporciona un registro y un depósito para que se puedan usar aplicaciones web con arquitecturas orientadas a servicios (SOA). Service Registry implementa estándares industriales para registrar y detectar servicios web, así como para administrar los hechos y los fragmentos de información asociada como, por ejemplo, XMLSchema, las reglas de los procesos de negocio, el control de acceso, el control de la versión, etc. 

Componentes de calidad del servicio

Además de los componentes de los servicios del sistema que se muestran en la Tabla 1–1, Java Enterprise System incluye una serie de componentes que se usan para mejorar la calidad de los servicios proporcionados por los componentes de los servicios del sistema. Los componentes de calidad del servicio también pueden mejorar los servicios de aplicaciones desarrollados de forma personalizada. Los componentes de servicio de calidad se pueden clasificar en las siguientes categorías:

Componentes de disponibilidad

Los componentes de disponibilidad ofrecen un tiempo de actividad prácticamente continuo para los componentes de los servicios del sistema y los servicios de aplicaciones personalizadas. Los componentes de disponibilidad incluidos en Java Enterprise System y los servicios que proporcionan se muestran en la siguiente tabla. Para obtener más detalles acerca de cualquier componente, consulte Descripciones de los componentes de disponibilidad.

Tabla 1–2 Componentes de disponibilidad de Java ES

Componente 

Servicios de disponibilidad proporcionados 

Sun Cluster

Proporciona servicios de escalabilidad y de alta disponibilidad para Java Enterprise System, las aplicaciones que se ejecutan en la parte superior de la infraestructura de Java Enterprise System y el entorno de hardware donde se implementan. 

High Availability Session Store

Proporciona un almacén de datos que hace que los datos de la aplicación, especialmente los datos del estado de la sesión, estén disponibles incluso en caso de fallo. 

Componentes de acceso

Los componentes de acceso proporcionan acceso cliente a los servicios del sistema, a menudo un acceso seguro desde ubicaciones de Internet fuera de un servidor de seguridad de la empresa. Además de dicho acceso, también ofrecen una función de enrutamiento. Los componentes de acceso incluidos en Java Enterprise System y los servicios que proporcionan se muestran en la siguiente tabla. Para obtener más detalles acerca de los componentes, consulte Descripciones de componentes de acceso.

Tabla 1–3 Componentes de acceso de Java ES

Componente 

Servicios de acceso proporcionados 

Sun Java System Directory Proxy Server

Proporciona servicios de seguridad para Directory Server desde fuera de un servidor de seguridad corporativo. Directory Proxy Server proporciona control de acceso al directorio y redireccionamiento para varias instancias de Directory Server.  

Sun Java System Web Proxy Server 

Proporciona funciones de almacenamiento en caché, filtrado y distribución de contenido web para peticiones de Internet entrantes y salientes. 

Sun Java System Communications Express 

Proporciona acceso basado en web a Messaging Server, Calendar Server y Directory Server, en función de la configuración. 

Sun Java System Portal Server Secure Remote Access

Proporciona un acceso de Internet seguro desde fuera de un servidor de seguridad corporativo al contenido de Portal Server y los servicios, incluidos los portales internos.  

 

Sun Java System Connector para Microsoft Outlook

Proporciona clientes de escritorio utilizando Microsoft Outlook con una interfaz para Messaging Server y Calendar Server.  

Componentes administrativos

Los componentes administrativos proporcionan funciones de administración, como configuración y supervisión, para los servicios del sistema. Los componentes administrativos incluidos en Java Enterprise System y los servicios que proporcionan se muestran en la siguiente tabla. Para obtener más detalles acerca de cualquier componente, consulte Descripciones de componentes administrativos.

Tabla 1–4 Componentes administrativos de Java ES

Componente 

Servicios administrativos proporcionados 

Sun Java System Administration Server (y la consola)

Proporciona una herramienta de administración gráfica que le permite configurar y administrar Directory Server y Messaging Server.  

Sun Java System Directory Preparation Tool

Proporciona una secuencia de comandos para configurar Directory Server con el esquema necesario para la provisión de los usuarios para Messaging Server y Calendar Server. 

Sun Java System Delegated Administrator

Proporciona tanto herramientas de línea de comandos como de GUI para cumplimentar las entradas de los usuarios en Directory Server con los atributos de usuario requeridos por Messaging Server y Calendar Server. 

Componentes compartidos

Java Enterprise System incluye varias bibliotecas compartidas instaladas localmente de las que dependen muchos componentes de los servicios del sistema y muchos componentes de calidad del servicio. Los componentes compartidos de Java ES proporcionan servicios locales para los componentes de Java ES que se ejecutan en el mismo equipo host.

Los componentes compartidos se utilizan a menudo para proporcionar portabilidad entre los distintos sistemas operativos. Ejemplos de componentes compartidos de Java Enterprise System: Java 2 Platform, Standard Edition (plataforma J2SETM), Netscape Portable Runtime (NSPR), Network Security Services (NSS), Network Security Services for Java (JSS), etc. Para ver la lista completa, consulte Componentes compartidos.

Los componentes compartidos se instalan automáticamente con el instalador de Java ES, en función de los componentes de los servicios del sistema y de los componentes de calidad del servicio que se instalen.

Uso de Java Enterprise System

La creación de soluciones empresariales basadas en el software de Java Enterprise System requiere una serie de tareas estándar. Estas tareas varían en su ámbito y dificultad en función del punto de partida que se use para la adopción de Java Enterprise System y de la naturaleza de la solución que desee crear e implementar.

En esta sección se describen dos aspectos del trabajo con Java Enterprise System: el ciclo de vida de la solución de Java Enterprise System y los distintos escenarios de adopción generalmente implicados.

Ciclo de vida de la solución Java Enterprise System

Las tareas que se usan para crear soluciones de negocio basadas en el software de Java ES se pueden dividir en varias fases, tal y como se muestra en la Figura 1–3. La ilustración también muestra la categoría del usuario de Java Enterprise System que generalmente realiza las distintas tareas.

Figura 1–3 Etapas del ciclo de vida de la solución y categorías de usuarios

Diagrama que muestra las etapas del ciclo de vida y las categorías de los usuarios de Java ES que realizan tareas asociadas a cada etapa.

Las etapas del ciclo de vida que se muestran en la Figura 1–3 se pueden estructurar en los siguientes grupos generales:

El ciclo de vida de la solución y las tareas de cada etapa se muestran en la Figura 1–3 y se describen detalladamente en el Capítulo 4, Tareas del ciclo de vida de la solución Java Enterprise System.

La Figura 1–3 muestra los usuarios de Java ES que realizan normalmente las tareas de las distintas etapas del ciclo de vida. Si trabaja con Java ES, su trabajo se deje ajustar a una o a varias de las categorías de usuarios que se muestran en la Figura 1–3. La siguiente tabla describe las capacidades e información de cada categoría de usuario.

Tabla 1–5 Categorías de usuarios para las tareas del ciclo de vida de Java ES

Usuario 

Capacidades y formación 

Etapas 

Planificador de negocios

Analista de sistemas 

Conocimiento general, en lugar de un conocimiento técnico en profundidad 

Comprende la dirección estratégica de la empresa. 

Conoce los procesos, objetivos y requisitos empresariales. 

Análisis de negocios 

Requisitos técnicos 

Diseño lógico 

Arquitecto

Conocimiento altamente técnico. 

Tiene conocimientos amplios sobre arquitecturas de implementación. 

Familiarizado con las últimas tecnologías. 

Comprende las limitaciones y los requisitos empresariales. 

Diseño lógico 

Diseño de implementación 

Integrador de sistemas

Ingeniero de campo 

Administrador de sistemas 

Gestor del sistema 

Conocimiento altamente técnico. 

Está íntimamente familiarizado con los entornos de las tecnologías de la información. 

Tiene experiencia en la implementación de soluciones de software distribuidas. 

Conoce la arquitectura, los protocolos, los dispositivos y la seguridad de redes. 

Conoce los lenguajes de secuencias de comandos y de programación. 

Diseño de implementación 

Implementación de despliegue 

Administrador de sistemas especializado

Administrador delegado 

Ingeniero de soporte 

Conocimiento técnico especializado o del producto. 

Familiarizado con hardware, plataformas, directorios y bases de datos. 

Capacidad de supervisión, solución de problemas y actualización de software. 

Conoce la administración del sistema para las plataformas del sistema operativo. 

Operaciones 

Escenarios de adopción de Java Enterprise System

Las necesidades empresariales que impulsan la adopción de Java ES varían significativamente. Sin embargo, los objetivos generales para prácticamente todas las implementaciones de Java ES se ajustan a uno de los siguientes escenarios de adopción:

Cada escenario de adopción cuenta con sus propios retos y consideraciones. Con independencia del escenario de adopción que se aproxime más a su situación, el proceso del ciclo de vida de la solución que se muestra en la Figura 1–3 sigue siendo aplicable. Sin embargo, en función del escenario de adopción, es posible que varíen los elementos que tendrá que tratar y los recursos en los que necesitará invertir en las distintas etapas del ciclo de vida.

Las siguientes consideraciones se aplican generalmente en varios grados a los escenarios de adopción:

La siguiente tabla resume la naturaleza de las consideraciones que se aplican a cada uno de los escenarios de adopción de Java ES.

Tabla 1–6 Consideraciones sobre los escenarios de adopción de Java ES

Escenario de adopción 

Migración 

Integración 

Formación 

Hardware 

Nuevo sistema 

No hay consideraciones 

Es relativamente fácil integrar nuevos componentes 

Es normalmente una preocupación importante 

Concesiones entre costes de equipos y de mano de obra [La utilización de unos pocos equipos potentes generalmente aumenta los costes de los equipos a la vez que requiere menos recursos de TI La utilización de varios equipos más pequeños reduce los costes de equipos a la vez que se necesitan más recursos de TI]

Mejora 

Puede ser una preocupación grave 

Es necesario integrar nuevos componentes con el sistema existente 

Puede ser una preocupación importante 

Puede implicar limitaciones importantes debido al equipo existente 

Ampliación 

Normalmente no es una preocupación 

Es posible que sea necesario integrar nuevos componentes con el sistema existente 

Puede ser una preocupación importante 

Generalmente requiere nuevo hardware con las mismas concesiones que con un nuevo sistema 

Actualización 

Puede ser una preocupación importante 

Es relativamente fácil integrar componentes actualizados 

Una preocupación menor 

Una preocupación menor 

Términos clave de este capítulo

Esta sección explica los términos técnicos clave utilizados en este capítulo. Se pone un interés especial en clarificar las relaciones entre estos términos y cómo se utilizan en el contexto de Java Enterprise System.

escenario de adopción

Un motivo general para implementar el software de Java Enterprise System, teniendo en cuenta el sistema de software desde el que se parte y el objetivo que se desea conseguir. Existen cuatro escenarios de adopción básicos para Java Enterprise System: nuevo sistema, sustitución, extensión y actualización.

componente

Unidades lógicas de software a partir de las cuales se crean las aplicaciones distribuidas. Un componente puede ser uno de los componentes de sistema incluidos en Java Enterprise System o también un componente de aplicación que se desarrolle de forma personalizada. Normalmente, un componente de aplicación se ajusta a un modelo de componente distribuido (como CORBA o la plataforma J2EETM) y realiza algunas funciones informáticas específicas. Estos componentes, ya sea de forma individual o combinados, proporcionan servicios de negocio y se pueden encapsular como servicios web.

aplicación de empresa distribuida

Una aplicación cuya lógica abarca varios entornos de red o de Internet (el aspecto distribuido) y cuyo ámbito y escala responden a las necesidades de un entorno de producción o de un proveedor de servicios (el aspecto empresarial).

usuario final

Una persona que usa una aplicación distribuida, a menudo a través de una interfaz gráfica de usuario como, por ejemplo, un navegador de Internet o una GUI de un dispositivo móvil. El número de usuarios finales simultáneos que admita una aplicación es un factor importante de la arquitectura de implementación de la aplicación.

servicio

Una función de software realizada para uno o varios clientes. Esta función podría ser de muy bajo nivel, como la administración de memoria, o de alto nivel, como el servicio de negocios de comprobación de crédito. Un servicio de alto nivel puede estar formado por una familia de servicios individuales. Los servicios pueden ser locales (disponibles para clientes locales) o distribuidos (disponibles para clientes remotos).

componente de calidad del servicio

Uno de los tipos de componentes de sistema incluidos en Java Enterprise System. Los componentes mejoran la disponibilidad, la seguridad, la escalabilidad, la facilidad de mantenimiento y otros aspectos de los componentes de los servicios del sistema y los componentes de aplicaciones distribuidas.

componente compartido

Uno de los tipos de componentes de sistema incluidos en Java Enterprise System. Los componentes compartidos, normalmente bibliotecas, proporcionan servicios locales a otros componentes del sistema. Por contraposición, un componente de los servicios del sistema proporciona servicios de infraestructura a otros componentes de sistema (o a los componentes de aplicación).

componente del sistema

Cualquier paquete de software o conjunto de paquetes incluidos en Java Enterprise System e instalados mediante el instalador de Java Enterprise System. Existen varios tipos de componentes del sistema: componentes de servicio de sistema que proporcionan servicios de infraestructuras distribuidas; componentes de servicio de calidad que aportan compatibilidad para los componentes de los servicios del sistema al proporcionar servicios administrativos y de acceso; y, por ultimo, componentes compartidos que proporcionan servicios locales a otros componentes de sistemas.

servicio del sistema

Uno o varios servicios distribuidos que definen la función única que proporciona Java Enterprise System. Los servicios del sistema normalmente requieren la compatibilidad de una serie de componentes de servicio de calidad, de componentes compartidos o puede que requieran ambos.

componente de los servicios del sistema

Uno de los tipos de componentes de sistema incluidos en Java Enterprise System. Los componentes de los servicios del sistema proporcionan los servicios de infraestructura principales de Java Enterprise System: servicios de portal, servicios de comunicación y colaboración, servicios de identidad y seguridad, servicios web y de aplicaciones, así como servicios de disponibilidad.