Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arquitectura cliente/servidor
ndice
Introduccin Tipos de servidores Ventajas Desventajas Arquitectura de una aplicacin de n-capas Separacin de funciones Modelos de distribucin Tecnologas de programacin distribuida
Introduccin
Arquitectura de desarrollo de aplicaciones Ordenador: cliente (solicita) o servidor (responde)
Se refiere a una transaccin en particular (un ordenador puede adoptar los dos papeles, pero en transacciones distintas)
Introduccin
Se puede aplicar a programas que se ejecutan en un mismo ordenador Es ms ventajoso para aplicaciones distribuidas a travs de una red de ordenadores Diferentes requisitos para el cliente y el servidor: velocidad de procesamiento, , capacidad p de almacenamiento de memoria, datos, etc.
Introduccin
Clientes: inteligentes (rich, fat o thick client) o simples (thin o lean client)
El software de la parte cliente se conoce como front-end Inicia la peticin Espera y recibe la respuesta del servidor Se puede conectar a un grupo de servidores de forma simultnea Ofrece un interfaz grfico (entorno amigable) al usuario final
Introduccin
Introduccin
Servidor
El software de la parte servidor se conoce como back-end Pasivo Espera las peticiones de los clientes Cuando recibe una peticin, la procesa y devuelve una respuesta Normalmente acepta un gran nmero de conexiones simultneas de los clientes No interacciona directamente con los usuarios finales
Introduccin
La interaccin entre el cliente y el servidor se suele modelar mediante diagramas de secuencia de UML
Tipos de servidores
Servidor de ficheros Servidor de impresoras Servidor de red Servidor de bases de datos Servidor de aplicaciones Servidor de servicios de Internet (web, FTP, correo, etc.)
Ventajas (I)
Distribucin de aplicaciones: concurrencia de procesos Permite emplear entornos heterogneos y multivendedor: la plataforma no tiene por qu ser la misma (se comunican a travs de un API conocido) Portabilidad P t bilid d Acceso independiente del lugar fsico: empleo de un cliente ligero con requisitos mnimos de instalacin
Ventajas (II)
Escalabilidad:
La capacidad del sistema informtico de cambiar su tamao o configuracin para adaptarse a las circunstancias cambiantes Un sistema es escalable si al incrementar los recursos empleados (por ejemplo, n procesadores), el rendimiento crece proporcionalmente i l
Ventajas (III)
Escalabilidad horizontal (scale out)
Ventajas (y IV)
Escalabilidad vertical (scale up)
Desventajas
Aumenta la comunicacin (congestin trfico de red) Falta de robustez (cada del servidor)
Ventajas
Permite modificar una capa sin tener que modificar difi t toda d l la aplicacin li i
Aplicacin 1 capa: existe un gran acoplamiento en la aplicacin
Simplifica la administracin de los sistemas Disponibilidad inmediata de cambios en la lgica de aplicacin o datos Posibilita el balanceo de la carga de trabajo entre distintos ordenadores
Lgica de negocio:
El ncleo de la aplicacin Implementa la funcionalidad de la aplicacin
Lgica de datos:
Gestiona la persistencia de los datos Asegura su persistencia, integridad y disponibilidad
10
Modelos de distribucin
Presentacin distribuida: solo una interfaz con validacin de datos Cliente Servidor
Presentacin Lgica de Presentacin Lgica de Negocio Lgica de datos Gestin de datos
Datos distribuidos: mxima carga en el cliente y mayor ancho de banda Cliente Servidor
Presentacin Lgica de Presentacin Lgica de Negocio Lgica de datos Gestin de datos
11
12
13