5. ARQUITECTURA CLIENTE / SERVIDOR
5.1. Relación de conceptos
OBJETIVO GENERAL
Conocer los diferentes modelos que hacen parte de la arquitectura Cliente/Servidor,
describiéndolos cada uno de ellos
OBJETIVOS ESPECÍFICOS:
- Conocer y aplicar los conceptos básicos de la arquitectura cliente/ servidor.
- Identificar los modelos que una arquitectura cliente/servidor.
5.2. Introducción
Las comunicaciones entre computadoras mediante TCP/IP, se rigen básicamente por lo que se denomina Cliente-Servidor, este modelo intenta proveer usabilidad, flexibilidad interoperabilidad y escalabilidad en las comunicaciones. El termino Cliente – Servidor se utilizó por primera vez en 1980 con el ánimo de referirse a PC’s en red.
El modelo cliente servidor comenzó a ser aceptado a finales de los 80’s. El modelo cuenta con un funcionamiento sencillo: se tiene una maquina cliente que requiere un servicio de una maquina servidor, y éste realiza la función para la que está programado. No necesaria mente deben ser maquinas diferentes, este trabajo puede ser hecho por la misma máquina que hace las dos funciones, Cliente y Servidor.
En esta arquitectura la computadores de cada usuario, llamada cliente, produce una demanda de información a cualquiera de las computadoras que están encargadas de proporcionar información, estas últimas se conocen como servidores y se encargan de responder a la demanda del cliente que la produjo.
Que es una arquitectura:
Una arquitectura es un entramado de componentes funcionales, que aprovechan diferentes
estándares, convenciones reglas y procesos además que permiten integrar una amplia gama de productos y servicios informáticos de manera que puedan ser utilizados eficientemente dentro de la organización.
Para llevar a cabo la selección de un modelo de arquitectura hay que partir del contexto
tecnológico y organizativo del momento y que la arquitectura Cliente/Servidor necesita una
especialización determinada de cada uno de los componentes que la integran.
Que es un Cliente
El cliente es el que inicia un requerimiento de servicio. Y el primer requerimiento puede
transformarse en múltiples requerimientos de trabajo a través de redes LAN o WAN.
Que es un Servidor
Se denomina Servidor a cualquier recurso de cómputo programado para responder a los
requerimientos del cliente, estos Servidores pueden estar conectados al cliente a través de
diferentes medios como puede ser: Redes LAN o WAN, esto con el fin de proveer los diferentes servicios a los clientes ya sean clientes Maquina o clientes Humano. Estos servicios pueden ser:
Impresión, Acceso a bases de datos, Fax, Procesamiento de imágenes, entre otros.
5.3. Descripción del modelo
La arquitectura Cliente servidor, es un modelo de aplicación Distribuida, en el que se reparten las tareas entre proveedores de recursos o servicios, llamados servidores y los demandantes llamados clientes. Un cliente hace peticiones a otro programa, el servidor que le da respuesta.
El modelo cliente servidor cuenta con los siguientes elementos básicos, los cuales articulan el
modelo como tal, considerando que toda aplicación de un sistema cuenta con tres componentes o elementos básicos:
- Presentación/Capacitación de la información
- Procesos
- Almacenamiento de la información
Los cuales se distribuyen usualmente de la siguiente forma:
EL modelo cliente Servidor cuenta con las siguientes características:
- Es la combinación de un cliente que interactúa con el usuario, y un servidor que interactúa con los recursos compartidos. El proceso del cliente proporciona la interfaz entre el usuario y el resto del sistema. El proceso del servidor actúa como un motor de software que maneja recursos compartidos tales como bases de datos, impresoras, módems, etc.
- Las tareas del cliente y el servidor poseen distintos requerimientos en cuanto a recursos de cómputo, como memoria, velocidad y capacidades de disco, procesador y dispositivos de entrada y salida.
- Existe una distinción de funciones las cuales están basadas en el concepto de servicio, que se establece entre clientes y servidores.
- El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite adicionar más estaciones de trabajo activas sin afectar significativamente el rendimiento. Por el contrario la escalabilidad vertical permite mejorar las características del servidor o adicionar múltiples servidores.
Tipos de Clientes:
Existen dos tipos de clientes, el cliente Flaco y el cliente Gordo.
Cliente Flaco:
El servidor es rápidamente saturado y existe gran circulación de datos de interface en la red.Cliente Gordo:
Casi todo el trabajo en el cliente, no existe centralización de la gestión de la BD, además de una gran circulación de datos inútiles en la red.Tipos de Servidor
- Servidor de base de datos
- Servidor de transacciones
- Servidor de Archivos
- Servidor de Groupware
- Servidor Web
- Servidor de Objetos
Ventajas
Centralización del control: todo el movimiento y permisos en la red son controlados por el
servidor, de modo que algún programa cliente sospechoso o dañado, no pueda afectar el
sistema.
Escalabilidad: permite aumentar la velocidad de clientes y servidores por separado, en
cualquier momento se puede añadir nuevos nodos a la red (clientes y/o Servidores).
Fácil Mantenimiento: por el hecho de estar distribuidas las funciones y responsabilidades
entre varios ordenadores independientes, es posible hacer labores de mantenimiento e
incluso reemplazar un servidor, mientras que sus clientes no se verán afectados por ese
cambio, a esto se le conoce como encapsulamiento.
Hay tecnologías suficientemente desarrolladas, las cuales están diseñadas para el
diagrama de Cliente/Servidor, que aseguran la integridad en las transacciones.
Desventajas:
Una de las desventajas puede radicar en la congestión del tráfico, dándose esta en algún
momento en el cual muchos clientes hagan una petición al mismo servidor en el mismo
instante.
Se cuenta con muy escasas herramientas para la administración y ajuste del desempeño
de los sistemas.
Además, hay que tener estrategias para el manejo de errores y para mantener la
consistencia de los datos.
PRESENTACIÓN DISTRIBUIDA
- Se distribuye la interfaz entre el cliente y la plataforma servidora.
- La aplicación y los datos están ambos en el servidor.
- Similar a la arquitectura tradicional de un Host y Terminales.
- El PC se aprovecha solo para mejorar la interfaz gráfica del usuario.
Ventajas
- Revitaliza los sistemas antiguos.
- Bajo costo de desarrollo.
- No hay cambios en los sistemas existentes.
Desventajas
- El sistema sigue en el Host.
- No se aprovecha la GUI y/o LAN.
- La interfaz del usuario se mantiene en muchas plataformas.
PRESENTACIÓN REMOTA
- La interfaz para el usuario está completamente en el cliente.
- La aplicación y los datos están en el servidor.
Ventajas
La interfaz del usuario aprovecha bien la GUI y la LAN.
La aplicación aprovecha el Host.
Adecuado para algunos tipos de aplicaciones de apoyo a la toma de decisiones.
Desventajas
Las aplicaciones pueden ser complejas de desarrollar.
Los programas de la aplicación siguen en el Host.
El alto volumen de tráfico en la red puede hacer difícil la operación de aplicaciones muy pesadas.
LÓGICA DISTRIBUIDA
- La interfaz está en el cliente.
- La base de datos está en el servidor.
- La lógica de la aplicación está distribuida entre el cliente y el servidor.
Ventajas
- Arquitectura más corriente que puede manejar todo tipo de aplicaciones.
- Los programas del sistema pueden distribuirse al nodo más apropiado.
- Pueden utilizarse con sistemas existentes.
Desventajas
- Es difícil de diseñar.
- Difícil prueba y mantenimiento si los programas del cliente y el servidor están hechos en distintos lenguajes de programación.
- No son manejados por la GUI 4GL.
ADMINISTRACIÓN DE DATOS REMOTA
- En el cliente residen tanto la interfaz como los procesos de la aplicación.
- Las bases de datos están en el servidor.
- Es lo que comúnmente imaginamos como aplicación cliente servidor
Ventajas
- Configuración típica de la herramienta GUI 4GL.
- Muy adecuada para las aplicaciones de apoyo a las decisiones del usuario final.
- Fácil de desarrollar ya que los programas de aplicación no están distribuidos.
- Se descargan los programas del Host.
Desventajas
- No maneja aplicaciones pesadas eficientemente.
- La totalidad de los datos viaja por la red, ya que no hay procesamiento que realice el Host.
BASE DE DATOS DISTRIBUIDA
- La interfaz, los procesos de la aplicación, y, parte de los datos de la base de datos están en cliente.
- El resto de los datos están en el servidor.
Ventajas
- Configuración soportada por herramientas GUI 4GL.
- Adecuada para las aplicaciones de apoyo al usuario final.
- Apoya acceso a datos almacenados en ambientes heterogéneos.
- Ubicación de los datos es transparente para la aplicación.
Desventajas
- No maneja aplicaciones grandes eficientemente.
- El acceso a la base de datos distribuida es dependiente del proveedor del software administrador de bases de datos.
Definición de middleware
"Es un término que abarca a todo el software distribuido necesario para el soporte deinteracciones entre Clientes y Servidores".
Es el enlace que permite que un cliente obtenga un servicio de un servidor.




No hay comentarios:
Publicar un comentario