Está en la página 1de 3

Estilo Arquitectónico Cliente/Servidor

Este estilo arquitectónico describe los sistemas distribuidos que implican a un cliente, servidor y una
red en la que se unen. La forma más simple del sistema de cliente/servidor la relación entre un
cliente y uno o varios servidores, donde el cliente inicia una o varias solicitudes, espera respuestas
y las procesa. El servidor puede enviar respuestas con una gama de protocolos y formatos de datos
para comunicar la información al cliente.

Cliente Servidor

Algunas variaciones de la arquitectura cliente/servidor incluyen:

Aplicaciones Peer-to-peer (P2P): Permite al cliente y el servidor cambiar sus papeles para distribuir
y sincronizar archivos e información a través de múltiples clientes. Esto extiende el estilo de
cliente/servidor por múltiples respuestas a solicitudes, datos compartidos, el descubrimiento de
recurso, y la resistencia al retiro de pares.

Servidores de aplicación: Un estilo especializado donde el servidor recibe y ejecuta usos y servicios
que un cliente delgado tiene acceso por un navegador u otro cliente especializado mediante
software instalado.

Las ventajas principales del cliente/servidor el estilo arquitectónico son:

Seguridad alta: Todos los datos son almacenados sobre el servidor, que generalmente ofrece un
control mayor de seguridad que máquinas de cliente.

Acceso de datos centralizado: Como los datos son almacenados sólo sobre el servidor, el acceso y
actualización de datos son mucho más fácil para administrar que en otros estilos arquitectónicos.

Facilidad de mantenimiento: Los papeles y las responsabilidades del sistema son distribuidos, esto
asegura que un cliente permanece inalterable por la reparación de un servidor, la mejora, o la
reubicación.

Estilo arquitectónico Bus de mensajes


La arquitectura Bus de mensajes describe el principio de la utilización de un sistema de software
que puede recibir y enviar mensajes a través de uno o más canales de comunicación, para que las
aplicaciones puedan interactuar sin tener que conocer detalles específicos acerca del otro. Es un
estilo para diseñar aplicaciones donde la interacción entre aplicaciones se realiza mediante el paso
de mensajes (generalmente de forma asincrónica) a través de un bus común.
Un bus de mensajes proporciona la capacidad de manejar:

Comunicación Orientada a Mensajes: Todas las comunicaciones entre aplicaciones basadas en


mensajes que utilicen esquemas conocidos.

Procesamiento complejo de lógica: Operaciones complejas puede ser ejecutadas mediante la


combinación de un conjunto de operaciones más pequeñas, cada una de las cuales admite tareas
específicas, como parte de un multifacético itinerario.

Modificaciones en la lógica de procesamiento: Debido a que la interacción con el bus es el


fundamento común de esquemas y comandos, puede insertar o eliminar aplicaciones en el bus para
cambiar la lógica que se utiliza para procesar los mensajes.

Integración con entornos diferentes: Mediante el modelo de comunicación basada en mensajes y


en normas comunes, puede interactuar con aplicaciones desarrolladas para distintos entornos,
como Microsoft .NET y Java.

El diseño proporciona una arquitectura conectable que permite insertar aplicaciones en el proceso,
o mejorar la escalabilidad adjuntando varias instancias de la misma aplicación en el Bus.

Sus principales ventajas son:

Extensibilidad: Las aplicaciones pueden agregarse o eliminarse en el bus sin tener un impacto en las
aplicaciones existentes.

Baja complejidad: La complejidad de las aplicaciones se reduce porque cada aplicación sólo necesita
saber cómo comunicarse con el bus.

La flexibilidad: El conjunto de aplicaciones que componen un proceso complejo, o los patrones de


comunicación entre aplicaciones, puede cambiarse fácilmente para coincidir con los cambios en el
negocio o las necesidades de los usuarios.

La escalabilidad: Varias instancias de la misma aplicación pueden estar conectado al bus para
manejar múltiples solicitudes al mismo tiempo.

Aplicación de sencillez: Aunque un bus de mensajes añade complejidad a la infraestructura, cada


aplicación debe admitir una única conexión al bus de mensajes en lugar de múltiples conexiones a
otras aplicaciones.
Estilo arquitectónico N-Niveles / 3-Niveles
N-Niveles y 3-Niveles describen la separación de la funcionalidad en segmentos, cada segmento es
un tramo que puede estar ubicado físicamente en un ordenador independiente.

Aplicación de la arquitectura N-niveles se caracteriza por la descomposición funcional de


aplicaciones, componentes de servicio y su implementación distribuida. Cada nivel es
completamente independiente de todos los demás niveles, excepto para aquellos inmediatamente
por encima y por debajo de ella. El enésimo tramo sólo tiene que saber cómo manejar una petición
desde el nivel n+1, cómo reenviar dicha solicitud al tramo n-1 (si hay uno), y cómo manejar los
resultados de la solicitud. La comunicación entre niveles normalmente es asincrónica para apoyar
una mejor escalabilidad.

La arquitectura N-niveles generalmente tiene al menos tres partes lógicas, cada uno ubicado en un
servidor físico distinto y cada parte es responsable de la funcionalidad específica.

Los principales beneficios de este estilo son:

Mantenibilidad: Porque cada nivel es independiente de los otros niveles, actualizaciones o cambios
pueden realizarse sin afectar a la aplicación como un todo.

La escalabilidad: Debido a que los niveles se basan en el despliegue de las capas, el escalado de una
aplicación es bastante sencillo.

La flexibilidad: Porque cada nivel puede ser gestionado o escalar independientemente.

Disponibilidad: Las aplicaciones pueden aprovechar la arquitectura modular de habilitación de


sistemas usando componentes escalables, lo que aumenta la disponibilidad.

Considerar este estilo si los requisitos de procesamiento de las capas de la aplicación difieren si la
transformación en una capa podría absorber recursos suficientes para disminuir la velocidad de
procesamiento en otras capas, o si los requisitos de seguridad de las capas de la aplicación difieren.