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

Dimensión 3: calidad del servicio

Las dos dimensiones arquitectónicas anteriores (dependencias de servicio de infraestructura y capas lógicas) hacen referencia en buena parte a los aspectos lógicos de la arquitectura, es decir, qué componentes son necesarios para interactuar de cierto modo con objeto de ofrecer los servicios a los usuarios finales. Otra dimensión igualmente importante de cualquier solución implementada es la capacidad de ésta para cumplir los requisitos de calidad del servicio.

La dimensión de calidad del servicio de una arquitectura de solución destaca las funciones desempeñadas por los componentes de calidad de servicio de Java ES.

Calidades del servicio

A medida que los servicios de Internet y de comercio electrónico se han hecho más importantes para las operaciones de negocios, el rendimiento, la disponibilidad, la seguridad, la escalabilidad y la facilidad de mantenimiento de estos servicios se han convertido en un requisito fundamental de calidad del servicio para las arquitecturas de implementación de alto rendimiento y de gran escala.

Para diseñar una solución de software satisfactoria, debe determinar los requisitos de calidad del servicio pertinentes y diseñar una arquitectura que satisfaga dichos requisitos. Se utiliza una serie de importantes calidades del servicio para especificar los requisitos de calidad del servicio. Estas calidades de servicios se resumen en la siguiente tabla.

Tabla 2–2 Calidades de servicio que afectan a la arquitectura de solución

Calidades de servicio del sistema 

Descripción 

Rendimiento

La medición de la latencia y del tiempo de respuesta con relación a las condiciones de carga de usuarios. 

Disponibilidad

Medida de la frecuencia con que los usuarios finales acceden a los servicios y recursos de un sistema (el tiempo de actividad de un sistema).

Seguridad

Combinación compleja de factores que describe la integridad de un sistema y sus usuarios. La seguridad incluye la seguridad física de los sistemas, seguridad de red, seguridad de datos y aplicaciones (autenticación y autorización de usuarios), así como el transporte seguro de la información. 

Escalabilidad

La capacidad de agregar a lo largo del tiempo funciones a un sistema implementado. La escalabilidad normalmente implica agregar recursos al sistema, pero no debería requerir cambios en la arquitectura de implementación. 

Capacidad latente

La capacidad de un sistema para gestionar el uso de carga máxima inusual sin recursos adicionales. 

Facilidad de mantenimiento

La facilidad con que un sistema implementado puede mantenerse, incluidas tareas tales como la supervisión del sistema, la reparación de los problemas que surjan y la actualización de los componentes de hardware y software. 

La dimensión de calidad del servicio influye en gran medida en la arquitectura de implementación de una solución: cómo se implementan en el entorno físico los componentes de la aplicación y componentes de infraestructura.

Las calidades del servicio que afectan a la arquitectura de implementación están estrechamente interrelacionadas. Los requisitos para una calidad de sistema afectan a menudo al diseño de otras calidades de servicio. Por ejemplo, unos mayores niveles de seguridad podrían afectar al rendimiento, que a su vez podría afectar a la disponibilidad. La integración de equipos adicionales para solucionar problemas de disponibilidad mediante la redundancia a menudo afecta a los costes de mantenimiento (facilidad de mantenimiento).

Al diseñar arquitecturas de implementación que satisfagan las necesidades y las limitaciones de negocios, es importante conocer el modo de interrelación de las calidades del servicio y las concesiones que se deben realizar.

Componentes de calidad del servicio de Java ES

Varios componentes de Java ES se utilizan principalmente para mejorar la calidad de los servicios proporcionados por los componentes de los servicios del sistema o por los componentes de aplicaciones distribuidas. A menudo, estos componentes de software se utilizan junto con los componentes de hardware como, por ejemplo, los equilibradores de carga y los servidores de seguridad.

Los componentes de calidad del servicio de Java ES, de los que se realiza una introducción en Componentes de calidad del servicio, se resumen a continuación:

La siguiente tabla muestra los componentes de calidad del servicio de Java ES más importantes desde una perspectiva arquitectónica, junto con las calidades del sistema a las que más afectan.

Tabla 2–3 Componentes de calidad de servicio y calidades de sistema afectadas

Componente 

Calidades de sistema afectadas 

almacén de sesión de alta disponibilidad 

Disponibilidad 

Monitoring Console 

Facilidad de mantenimiento 

Portal Server Secure Remote Access

Seguridad 

Escalabilidad 

Sun Cluster 

Disponibilidad 

Escalabilidad 

Sun Cluster Geographic Edition 

Disponibilidad 

Escalabilidad 

Web Proxy Server 

Seguridad 

Rendimiento 

Escalabilidad 

Software de Sun Cluster

El software de Sun Cluster proporciona servicios de alta disponibilidad y escalabilidad para los componentes de Java ES y para las aplicaciones a las que proporciona compatibilidad la infraestructura de Java ES. Un clúster es un conjunto de equipos que no están firmemente acoplados y que, en conjunto, ofrecen una vista de cliente única de los servicios, los recursos del sistema y los datos. Internamente, el clúster utiliza equipos redundantes, interconexiones, almacenamiento de datos e interfaces de red para ofrecer alta disponibilidad en datos y servicios basados en clúster.

El software de Sun Cluster supervisa continuamente el estado de los nodos miembros y de otros recursos del clúster. En caso de fallo, el software de Sun Cluster interviene para iniciar la conmutación por error de los recursos que supervisa y utiliza la redundancia interna para proporcionar un acceso prácticamente continuo a estos recursos.

Los paquetes de servicios de datos de Sun Cluster (a veces denominados "agentes de Sun Cluster") están disponibles para todos los componentes de los servicios del sistema Java ES. También puede escribir agentes para componentes de aplicaciones personalizados.

Dado el control que permite el software de Sun Cluster, también puede ofrecer servicios escalables. Aprovechando el sistema de archivos global del clúster y la capacidad de que haya varios nodos en un clúster para ejecutar servicios de aplicaciones e infraestructura, la creciente demanda de estos servicios puede equilibrarse en varias instancias simultáneas de los servicios. Por lo tanto, si se configura correctamente, el software de Sun Cluster puede proporcionar alta disponibilidad y escalabilidad en una aplicación de empresa distribuida.

Debido a la redundancia necesaria para poder usar los entornos de Sun Cluster, la inclusión de Sun Cluster en una solución aumenta sustancialmente el número de equipos y vínculos de red necesarios en el entorno físico.

A diferencia de los servicios proporcionados por otros componentes de Java ES, los servicios de disponibilidad de Sun Cluster son servicios "de igual a igual" distribuidos. Por lo tanto, el software de Sun Cluster debe instalarse en cada equipo de un clúster.

Sun Cluster Geographic Edition proporciona una extensión del software de Sun Cluster. Esta aplicación protege las aplicaciones frente a interrupciones inesperadas mediante el uso de varios clústeres separados geográficamente y una infraestructura que repite los datos entre los clústeres.


Nota –

Sun Cluster y Sun Cluster Geographic Edition sólo se admiten en el sistema operativo SolarisTM (SO Solaris).