Está en la página 1de 9

Programacin en Internet 2004-2005

Departamento de Lenguajes y
Sistemas Informticos

Arquitectura
cliente/servidor

Programacin en Internet
Curso 2004-2005

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

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

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

Programacin en Internet Curso 2004-2005

Introduccin

Wyse Winterm 3200LE

IBM 3151 Terminal

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

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.)

Programacin en Internet Curso 2004-2005

Ventajas (I)
Distribucin de aplicaciones:
concurrencia de procesos
Portabilidad
Acceso independiente del lugar fsico:
empleo de un cliente ligero con
requisitos mnimos de instalacin

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

Ventajas (II)
Escalabilidad: horizontal y vertical

Programacin en Internet Curso 2004-2005

Ventajas (y III)
Escalabilidad: horizontal y vertical

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

Arquitectura de una aplicacin de n


capas
N capas (n-tiers): separar los componentes
de una aplicacin en n niveles o capas
lgicas
Cualquier nmero de capas
Lo ms comn: 1 (aplicacin monoltica), 2 y
3
No implica separacin fsica en distintos
ordenadores (aunque es lo normal): una
aplicacin de 3 capas puede existir en un
nico ordenador

Programacin en Internet Curso 2004-2005

Ventajas
Permite modificar una capa sin tener que
modificar toda la aplicacin
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

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

Separacin de funciones (I)


Lgica de presentacin
Lgica de negocio (aplicacin)
Lgica de datos

Programacin en Internet Curso 2004-2005

Separacin de funciones (y II)


Lgica de presentacin:
Interfaz de usuario a travs del cual interacciona
con la aplicacin
Interfaz grfico (GUI) o basado en texto

Lgica de negocio:
El ncleo de la aplicacin
Implementa la funcionalidad de la aplicacin

Lgica de datos:
Gestiona la persistencia de los datos

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

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

Aplicacin distribuida: mxima flexibilidad


Cliente
Servidor
Presentacin

Lgica de
Presentacin

Lgica de
Negocio

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

Programacin en Internet Curso 2004-2005

Dos y tres capas


Sistema de dos niveles o capas:
Todos los casos anteriores
Un cliente y un servidor con la lgica de negocio y
de datos

Sistema de tres niveles o capas:


Un cliente con la lgica de presentacin
Un servidor o servicio con la lgica de negocio
Un segundo servidor o servicio con la lgica de
datos
Ventajas: mayor independencia, portabilidad y
escalabilidad

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

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

RMI (Remote Method Invocation)


Conjunto de protocolos desarrollados por Sun Microsystems
Exclusivo para Java
Permite que un objeto desarrollado con Java se comunique
remotamente con otro objeto basado en Java

Programacin en Internet Curso 2004-2005

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

DCOM (Distributed Component Object Model)


Extensin de COM desarrollada por Microsoft
Permite a los componentes COM comunicarse de forma
remota
Basado en RPC
Permite la comunicacin entre objetos desarrollados con
distintos lenguajes de programacin, pero su empleo se
encuentra limitado a Microsoft Windows

DLSI - Universidad de Alicante

Programacin en Internet 2004-2005

Programacin en Internet Curso 2004-2005

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

DLSI - Universidad de Alicante