Que actividades realizan en una red el servidor y el cliente


INTRODUCCIÓN

  • Con el incremento de la disponibilidad de computadoras personales y potentes servidores no muy caros, ha habido una tendencia hacia el proceso de datos distribuido, (DDP, Distributed Data Processing).
  • Un sistema DDP implica la partición de la función de computación lo que conlleva a una organización distribuida de base de datos, el control de dispositivos y el control de interacciones (redes).

PROCESO CLIENTE/SERVIDOR

  • Las máquinas cliente son generalmente PC monousuario o estaciones de trabajo que ofrece una interfaz muy amigable para el usuario final.
  • Cada servidor ofrece una serie de servicios de usuario compartidos a los clientes.
  • El servidor permite a los clientes compartir el acceso a la misma base de datos y permite el uso de sistemas de alto rendimiento para gestionar base de datos.
  • Un elemento básico en el entorno cliente/servidor es la red.
  • Los usuarios, aplicaciones y recursos quedan distribuidos en respuesta a los requisitos de determinada aplicación y quedan enlazados por una sola LAN ó WAN o por una serie de subredes.

TERMINOLOGÍA CLIENTE/SERVIDOR

  • Interfaz de Programas de Aplicación
    • Conjunto de funciones y programas de llamada que permiten comunicarse a clientes y servidores.
  • Cliente
    • El que puede consultar información o pedir un servicio del servidor.
  • Middleware
    • Conjunto de controladores, API u software que maneja la conectividad entre las aplicaciones de cliente y servidor.
  • Base de datos relacional
    • Base de datos donde el acceso a la información está limitado por la selección de filas que satisfacen todos los criterios de búsqueda.
  • Servidor
    • Computadora potente o mainframe, que contiene la información para que los clientes de red puedan manipularla.
  • Lenguaje de consulta estructurado
    • Lenguaje para direccionar, crear, actualizar o consultar base de datos relacionales.

APLICACIONES CLIENTE/SERVIDOR

  • La característica central de la arquitectura cliente/servidor es la ubicación de las tareas entre clientes y servidores.
  • Tanto en el cliente como en el servidor el software básico es el sistema operativo que se ejecuta de acuerdo a la plataforma del hardware.
  • Las plataformas y los sistemas operativos del cliente y el servidor pueden ser diferentes.
  • En tanto un cliente y un servidor compartan los mismo protocolos de comunicación y soporten las mismas aplicaciones, estás diferencias no son importantes.
  • El software de comunicaciones es el que permite interoperar a cliente y servidor.
    • TCP/IP
  • Las funciones pueden repartirse entre el cliente y servidor de forma que se optimicen los recursos de la red.
  • Optimizar la capacidad de los usuarios para realizar varias tareas y cooperar el uno con el otro en el uso de recursos compartidos.
  • Un factor esencial para el éxito del entorno cliente/servidor es la manera como el cliente interactúa con el sistema como un todo.

APLICACIONES DE BASE DE DATOS

  • El servidor es básicamente un servidor de base de datos.
  • La interacción entre cliente y servidor se hace a través de transacciones, donde el cliente realiza una petición a la base de datos y recibe una respuesta de ella.
  • El servidor es responsable del mantenimiento de la base de datos, para ello utiliza gestores de base de datos.

EJEMPLO: CLIENTE/SERVIDOR

  • El ejemplo anterior se adapta bien a la arquitectura cliente/servidor por las siguientes razones:
    • Para el manejo de base de datos (ordenación y búsqueda) se requiere de un disco grande, un procesador y una arquitectura E/S de alta velocidad. La PC no necesita cumplir estos requisitos.
    • El servidor debe ser capaz de recuperar los registros solicitados por el cliente por lo tanto debe disponer del soporte de la lógica de base de datos.

CLASES DE APLICACIONES CLIENTE/SERVIDOR

  • Proceso basado en una máquina central (Host)
    • No es realmente una arquitectura cliente/servidor.
    • El proceso basado en host se refiere al entorno tradicional de grandes sistemas donde casi todos los trabajos los realizaba la computadora central.
    • La interfaz de usuario consiste con frecuencia en una terminal tonta.
  • Proceso basado en el servidor
    • Tipo básico de configuración cliente/servidor.
    • Las estaciones de trabajo son responsables de proporcionar una interfaz gráfica al usuario.
    • El servidor es el que hace todo el procesamiento.
    • Con este tipo de configuración no se obtiene, en general, ganancias  significativas de productividad, solo una interfaz amigable para el usuario.
  • Proceso basado en el cliente
    • Casi todo el proceso de aplicación puede hacerse en el cliente.
    • El servidor realiza rutinas de tratamiento y validación de base de datos.
    • Algunas funciones de base de datos residen el cliente.
    • Esta arquitectura es la más común ya que permite al usuario utilizar aplicaciones a medida de sus necesidades.
  • Proceso cooperativo
    • El proceso de la aplicación se lleva a cabo de manera optimizada, aprovechando las potencias del cliente y servidor.
    • Esta es la configuración más compleja de instalar y mantener.
    • A largo plazo es la que ofrece mayor ganancia en productividad.
  • El proceso cooperativo y el proceso basado en el cliente corresponden a configuraciones donde gran parte de la carga esta en el cliente.
  • A este modelo se le conoce como cliente grueso.
  • El beneficio principal es que se le saca el mayor provecho a las computadoras de escritorio.
  • Descargan a los servidores del procesamiento de aplicaciones haciéndolos más eficientes y disminuyendo la posibilidad de cuellos de botellas.

ARQUITECTURA CLIENTE/SERVIDOR DE TRES CAPAS

  • En esta arquitectura el software de aplicación esta divido en tres máquinas:
    • Una máquina de usuario
      • Cliente delgado
    • Un servidor de capa intermedia
      • Enlace entre los clientes delgados y los servidores de base de datos.
      • Conversión de protocolos.
      • Traducir un tipo de consulta de base de datos a otro.
      • Puede mezclar e integrar resultados de diferentes fuentes.
      • La interacción con el servidor final sigue el modelo cliente/servidor.
    • Un servidor final

CONSISTENCIA DE LA CACHE DE ARCHIVOS

  • Cuando se utiliza un servidor de archivos, el rendimiento de la E/S puede degradarse considerablemente en el acceso a archivos locales por causa de retardo introducido por la red.
  • Los sistemas individuales pueden usar cache de archivos para almacenar los registros a los que se ha accedido recientemente.
  • Se suele usar un doble cache para reducir el tráfico de comunicaciones (cache del cliente) y la E/S a disco (cache del servidor).
  • Cuando las cache contienen siempre copias exactas de los datos remotos se dice que  las cache son consistentes.
  • El método más simple para la consistencia de caches es emplear la técnica de bloqueo de archivos para prevenir el acceso simultáneo a un archivo. 

MIDDLEWARE

  • Las ventajas del esquema cliente/servidor  es la modularidad y la capacidad de combinar plataformas y aplicaciones.
  • Los desarrolladores deben disponer de un conjunto de herramientas que proporcionen una manera uniforme de acceder a los recursos del sistema en todas las plataformas.
  • Interfaces estándares de programación y protocolos que se sitúen entre la aplicación, el software de comunicaciones y el sistema operativo se llaman middleware.

PASO DISTRIBUIDO DE MENSAJES

  • En sistemas distribuidos donde no se comparte memoria principal se utiliza las técnicas de paso de mensajes para comunicación.
  • Un proceso cliente solicita un servicio a través de un mensaje a un proceso servidor, el proceso servidor satisface la petición y envía mensaje de respuesta.
    • Recieve
    • Send

LLAMADAS A PROCEDIMIENTOS REMOTOS

  • Lo fundamental de la técnica es permitir que programas de máquinas diferentes interactúen mediante la semántica de llamadas /retornos a simples procedimientos, como si los dos programas  estuvieran en la misma máquina.
  • Esta técnica es ampliamente aceptada
  • Estandarizada
    • Módulos de cliente y servidor pueden ser movidos entre computadoras y distintos sistemas operativos fácilmente.

ENLACE CLIENTE /SERVIDOR

  • El enlace especificará la forma en la que se establecerá la relación entre el procedimiento remoto y el programa llamador.
  • Enlaces no persistentes.  Suponen que la conexión lógica se establece entre dos procesos en el momento de la llamada remota y que la conexión se pierde tan pronto como se devuelven los valores.
  • Enlaces persistentes. La conexión establecida se mantiene después que el procedimiento termina, si existe un tiempo sin actividad la conexión termina.

AGRUPACIONES (CLUSTERS)

  • Son una alternativa al multiprocesamiento simétrico (SMP).
  • Una agrupación es un grupo de computadoras interconectadas que trabajan juntas como un recurso creando la ilusión de que es una máquina.
  • A cada uno de las computadoras de la agrupación se les llama nodos.
  • Ventajas que se pueden lograr con las agrupaciones:

 

  • Escalabilidad total
    • Escalabilidad incremental
    • Alta disponibilidad
    • Mejor relación rendimiento/precio

MÉTODOS DE AGRUPACIÓN

  • Espera pasiva
    • Un servidor secundario se hace cargo si el primario falla
    • Sencillo de implementar
    • Alto coste por que el servidor secundario no esta disponible para otras tareas de proceso.
  • Secundaria activa
    • Servidores separados
      • Tienen sus propios discos
      • Los datos se copian continuamente del servidor primario al secundario.
      • Alta disponibilidad
      • Incremento en la sobrecarga en la red.
    • Servidores conectados a discos
      • Los servidores están conectados a los mismos discos.
      • Si un servidor falla sus discos pasan a estar a cargo de otro servidor.
      • Reduce la sobrecarga de la red.
      • Utiliza la tecnología RAID.
      • Servidores compartiendo discos
      • Múltiples servidores comparten acceso simultáneo a los mismos discos.
      • Reduce el riesgo de caída por el fallo de un disco.
      • Requiere software de gestión de bloqueos
      • Usa la tecnología RAID
  • En una agrupación el sistema operativo necesita algunas mejoras.
    • Gestión de fallos
      • Una agrupación de alta disponibilidad tiene una alta probabilidad de que todos los recursos estén siendo ocupados.
      • Si se produce un fallo, el sistema operativo no garantiza el estado de las transacciones parcialmente ejecutadas.
      • Una agrupación tolerante a fallos garantiza que los recursos siempre van a estar disponibles.
    • Equilibrio de carga
      • Capacidad eficaz de balancear la carga entre las computadoras disponibles.
    • Proceso paralelo. Tres enfoques para ejecutar una sola aplicación en paralelo.
      • Compilador paralelo
      • Aplicaciones en paralelo
      • Computación paramétrica

COMPARACIÓN ENTRE AGRUPACIONES Y SMP

  • Tanto las agrupaciones como los multiprocesadores simétricos ofrecen una configuración de múltiples procesadores para dar soporte a aplicaciones de alta demanda.
  • SMP es más fácil de gestionar.
  • SMP ocupa menos espacio y necesita menos potencia.
  • Las agrupaciones son más fuertes en términos de disponibilidad.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *