Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Departamento de Lenguajes y
Sistemas Informticos
Arquitectura
cliente/servidor
Programacin en Internet
Curso 2004-2005
ndice
Introduccin
Tipos de servidores
Ventajas
Separacin de funciones
Modelos de distribucin
Tecnologas de programacin distribuida
Descripcin de un sistema cliente/servidor
Introduccin
Arquitectura de red
Ordenador: cliente (solicita) o servidor
(responde)
Se refiere a una transaccin en particular (un
ordenador puede adoptar los dos papeles, pero
en transacciones distintas)
Comunicacin: protocolo
Punto a punto (peer-to-peer) o red entre
iguales
Clientes: inteligentes (rich) o simples (thin)
Aplicaciones distribuidas
Introduccin
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
Portabilidad
Acceso independiente del lugar fsico:
empleo de un cliente ligero con
requisitos mnimos de instalacin
Ventajas (II)
Escalabilidad: horizontal y vertical
Ventajas (y III)
Escalabilidad: horizontal y vertical
Ventajas
Permite modificar una capa sin tener que
modificar toda la aplicacin
Aplicacin 1 capa: existe un gran acoplamiento en
la aplicacin
Lgica de negocio:
El ncleo de la aplicacin
Implementa la funcionalidad de la aplicacin
Lgica de datos:
Gestiona la persistencia de los datos
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
Lgica de
Presentacin
Lgica de
Negocio
Lgica de
Negocio
Lgica de
datos
Gestin de
datos
Lgica de
Presentacin
Lgica de
Negocio
Lgica de
datos
Gestin de
datos
Tecnologas de programacin
distribuida (I)
Diversas tecnologas que permiten a un programa
que se ejecuta en un ordenador ejecutar cdigo que
reside en otro ordenador
RPC (Remote Procedure Call)
Estndar de Internet (RFC 1831) basado en TCP/IP
Ejemplo de aplicacin: NFS (Network File System), que
permite acceder a sistemas de ficheros situados en otros
ordenadores de forma transparente
Tecnologas de programacin
distribuida (y II)
CORBA (Common Object Request Broker
Architecture)
Arquitectura desarrollada por OMG (Object Management
Group)
Comunicacin remota entre objetos independientemente del
lenguaje de programacin con el que han sido desarrollados
o del sistema operativo en el que se ejecutan
Descripcin de un sistema
Parte cliente (front-end) y servidor (back-end)
Diferentes requisitos de mquina: velocidad
de procesamiento, capacidad de
almacenamiento de datos, etc.
Entorno heterogneo y multivendedor: la
plataforma no tiene por qu ser la misma (se
comunican a travs de un API conocido)
Cliente: interfaz grfica de usuario, entorno
amigable