Descripción general técnica de Sun Java Enterprise System 5

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 reciben el nombre de aplicaciones de empresas distribuidas. Esta guía se centra en los componentes de software de Java ES y los servicios que proporcionan.

En este capítulo se ofrece una introducción a Java Enterprise System y se describen las tareas que conlleva la utilización del sistema. Este capítulo contiene las siguientes secciones:

¿Por qué necesita Java ES?

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 ES proporciona los servicios de infraestructura necesarios para estas aplicaciones de empresa distribuidas que, por lo general, presentan 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 son, a su vez, compatibles con 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 ES proporciona la capa de servicios de infraestructura distribuidos que se muestra en la figura.

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 proporciona Java ES, se incluyen los siguientes:

Java ES 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 proporcionadas por Java ES, se incluyen las siguientes:

Puede implementar uno o varios servicios de Java ES; cada uno de ellos puede incluir varios componentes de Java ES.

Componentes de Java ES

Java ES es una integración de distintos productos de software y componentes en un único sistema de software. Una serie de funciones en el nivel del sistema facilitan esta integración, entre las que se incluyen:

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

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.

Los componentes proporcionan los siguientes servicios, como se indica a continuación:

Para obtener una lista de los componentes de Java ES, consulte el Apéndice A, Componentes de Java ES.

Componentes de servicios del sistema

Una serie de componentes de Java ES proporcionan los servicios principales que dan respaldo a las soluciones de software distribuidas. Entre estos servicios del sistema se incluyen los servicios de portal, identidad y seguridad, contenedor web, aplicaciones de J2EE y persistencia.

Los componentes de servicios del sistema que proporcionan estos servicios distribuidos y los servicios que éstos proporcionan se muestran en orden alfabético y se describen brevemente en la siguiente tabla. Cada componente de 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 Componentes de servicios del sistema.

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

Componente 

Servicios del sistema proporcionados 

Sun Java System Access Manager

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

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. 

Java DB [Java ES 5 es la primera versión que incluye Java DB como componente de producto. Java DB se introdujo por primera vez como componente compartido en Java ES 2005Q4, con el nombre de Derby Database.]

Proporciona una base de datos ligera para el desarrollo de aplicaciones de Java. Java DB es una distribución compatible de Sun de la base de de datos de código abierto Apache Derby, implementada por competo mediante tecnología de Java.

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 Portal 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 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 del mercado para registrar y detectar servicios web, así como para administrar los datos y artefactos de información asociados como, por ejemplo, el esquema XML, las reglas de los procesos empresariales, el control de acceso, el control de versión, etc. 

Sun Java System Web Server

Proporciona servicios de contenedor webde 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 proporcionar contenido web dinámico y estático, como, por ejemplo, las secuencias de comandos CGI y Sun Java System Active Server Pages.

Componentes de calidad del servicio

Además de los componentes de servicios del sistema que se muestran en la Tabla 1–1, Java ES incluye una serie de componentes que se usan para mejorar la calidad de los servicios proporcionados por los componentes de 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 ES y los servicios que proporcionan se muestran en la siguiente tabla. Para obtener más información sobre cada componente, consulte Componentes de disponibilidad.

Tabla 1–2 Componentes de disponibilidad de Java ES

Componente 

Servicios de disponibilidad proporcionados 

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. 

Sun Cluster

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

Sun Cluster Geographic Edition [Java ES 5 es la primera versión que incluye Sun Cluster Geographic Edition como componente de producto de Java ES.]

Protege las aplicaciones de interrupciones inesperadas mediante el uso de varios clústeres separados geográficamente y una infraestructura redundante que repite los datos entre estos clústeres. El software Sun Cluster Geographic Edition es una extensión por capas del software de Sun Cluster. 

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 y almacenamiento en la caché. Los componentes de acceso incluidos en Java ES y los servicios que proporcionan se muestran en la siguiente tabla. Para obtener más información sobre cada componente, consulte Componentes de acceso.

Tabla 1–3 Componentes de acceso de Java ES

Componente 

Servicios de acceso proporcionados 

Sun Java System Portal Server (incluye 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 Web Proxy Server

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

Componentes de supervisión

Java ES incluye una función de supervisión nueva que proporciona el estado del sistema en tiempo real y realiza trabajos de supervisión que se pueden personalizar. El componente de producto Sun Java System Monitoring Console, compatible con el componente compartido Sun Java System Monitoring Framework, implementa la supervisión. Para obtener más información, consulte Componentes de supervisión.

Componentes compartidos

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

Los componentes compartidos se utilizan a menudo para proporcionar portabilidad entre los distintos sistemas operativos. Entre los ejemplos de componentes compartidos de Java ES, se incluyen: Java 2 Platform, Standard Edition (J2SE), Netscape Portable Runtime (NSPR), Network Security Services (NSS), Java 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.

Componentes de los conjuntos de Sun Java

Java ES está disponible como una única distribución de software de infraestraestructura punto a punto y como distribuciones de conjuntos individuales destinadas a satisfacer las necesidades empresariales vitales. Java ES incluye todos los componentes de Java ES, mientras que los conjuntos de Sun Java System incluyen subgrupos de componentes seleccionados para satisfacer determinadas necesidades empresariales. Los programas de instalación y desinstalación de Java ES se incluyen en las distribuciones de conjuntos, pero se han reducido para que sólo administren los componentes del conjunto. Todos los componentes compartidos se incluyen en todas las distribuciones de conjuntos.

El contenido de los conjuntos individuales y de los requisitos empresariales que deben satisfacer se muestra en la siguiente tabla.

Tabla 1–4 Componentes de los conjuntos de Sun Java

Conjunto 

Requisito empresarial 

Contenido 

Sun Java Application Platform Suite

Desarrollo, implementación y administración de arquitecturas orientadas a servicios (SOA) de nueva generación. 

Access Manager 

Application Server 

Directory Server 

HADB 

Java DB 

Message Queue 

Monitoring Console 

Portal Server (incluye Secure Remote Access y Mobile Access) 

Service Registry  

Web Proxy Server 

Web Server 

Sun Java Availability Suite

Recuperación frente a desastres y alta disponibilidad para aplicaciones decisivas en procesos empresariales 

Software de Sun Cluster 

Sun Cluster Agents 

Sun Cluster Geographic Edition 

Sun Java Communications Suite [Los componentes con un asterisco (*) son componentes de comunicaciones que ya no se incluyen en Java ES ni se instalan mediante el programa de instalación de Java ES. Estos componentes forman parte de Sun Java Communications Suite.]

Servicios de mensajería y colaboración fiables y seguros 

Access Manager 

Application Server 

Calendar Server* 

Communications Express* 

Delegated Administrator*  

Directory Server 

HADB 

Instant Messaging* 

Java DB 

Message Queue 

Messaging Server* 

Monitoring Console  

Web Proxy Server 

Web Server 

Sun Java Identity Management Suite

Administración de identidades de usuario en infraestructuras informáticas y entornos de aplicación 

Access Manager 

Application Server 

Directory Server 

HADB  

Java DB  

Message Queue 

Monitoring Console 

Web Server 

Sun Java Web Infrastructure Suite

Servicios y aplicaciones web para pequeñas y medianas empresas 

Access Manager 

Application Server 

Directory Server 

HADB 

Java DB 

Message Queue 

Monitoring Console 

Service Registry 

Web Proxy Server 

Web Server 

Cómo trabajar con Java ES

La creación de soluciones empresariales basadas en el software de Java ES 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 ES 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 ES: el ciclo de vida de las soluciones de Java ES y los distintos escenarios de adopción generalmente implicados.

Ciclo de vida de las soluciones de Java ES

Las tareas necesarias para crear soluciones empresariales basadas en el software de Java ES se pueden dividir en varias fases, tal y como se muestra en la siguiente figura. La ilustración también muestra la categoría del usuario de Java ES que normalmente realiza las distintas tareas.

Figura 1–3 Etapas del ciclo de vida de las soluciones y categorías de usuarios

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

Las etapas del ciclo de vida que se muestran en la figura anterior se pueden dividir en los siguientes grupos generales:

Las tareas de esta etapa del ciclo de vida se muestran en la Figura 1–3 y se describen detalladamente en el Capítulo 4, Ciclo de vida de las soluciones de Java ES.

La Figura 1–3 muestra los usuarios de Java ES que realizan normalmente las tareas de las distintas etapas del ciclo de vida. 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 empresarial 

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. 

Requisitos técnicos 

Diseño lógico 

Diseño de la implementación 

Integrador de sistemas

Ingeniero de campo 

Administrador de sistemas 

Administrador 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 la 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 ES

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. Sin embargo, en función del escenario de adopción, es posible que varíen los problemas que deberá solucionar y los recursos en los que necesitará invertir en las distintas etapas del ciclo de vida mostradas en la Figura 1–3.

Las siguientes consideraciones se aplican en diversos 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 

Sistema nuevo 

No hay consideraciones 

Es relativamente fácil integrar nuevos componentes 

Puede ser 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

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.

escenario de adopción

Un motivo general para implementar el software de Java ES, que describe el sistema de software desde el que se parte y el objetivo que se desea conseguir. Existen cuatro escenarios de adopción básicos de Java ES: sistema nuevo, sustitución, ampliació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 del sistema incluidos en Java ES 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 J2EE) y desempeña una función informática específica. 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 admite 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 producto

Los componentes de servicios del sistema de Java ES, que proporcionan los principales servicios de infraestructura de Java ES y los componentes de calidad del servicio de Java ES, que mejoran los servicios del sistema. Los componentes de productos se pueden seleccionar en el programa de instalación de Java ES.

componente de calidad del servicio

Un tipo de componente del sistema incluido en Java ES. Estos componentes mejoran la disponibilidad, seguridad, escalabilidad y facilidad de mantenimiento de los componentes de servicios del sistema y los componentes de aplicaciones distribuidas.

componente compartido

Un tipo de componente del sistema incluido en Java ES. Los componentes compartidos, normalmente bibliotecas, proporcionan servicios locales a otros componentes del sistema.

componente del sistema

Cualquier paquete de software o conjunto de paquetes incluidos en Java ES e instalados mediante el programa de instalación de Java ES. Existen varios tipos de componentes del sistema: los componentes de productos que proporcionan los servicios de infraestructura de Java ES y los componentes compartidos que proporcionan servicios locales a los demás componentes del sistema.

servicio del sistema

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

componente de servicios del sistema

Un tipo de componente del sistema incluido en Java ES. Los componentes de servicios del sistema proporcionan los servicios de infraestructura de Java ES: servicios de portal, identidad y seguridad, web y de aplicación, y de disponibilidad.