Sei sulla pagina 1di 13

Programacin en Internet 2007-2008

DLSI - Universidad de Alicante 1


Departamento de Lenguajes y
Sistemas Informticos
Arquitectura
cliente/servidor
Programacin en Internet
Curso 2007-2008
Programacin en Internet Curso 2007-2008
ndice
Introduccin
Tipos de servidores
Ventajas
Desventajas
Arquitectura de una aplicacin de n-capas
Separacin de funciones Separacin de funciones
Modelos de distribucin
Tecnologas de programacin distribuida
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 2
Programacin en Internet Curso 2007-2008
Introduccin
Arquitectura de desarrollo de aplicaciones
Ordenador: cliente (solicita) o servidor 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 p (p p )
iguales (o pares)
Cada miembro de la red tiene responsabilidades
similares
Programacin en Internet Curso 2007-2008
Introduccin
Se puede aplicar a programas que se
ejecutan en un mismo ordenador 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,
memoria, capacidad de almacenamiento de , p
datos, etc.
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 3
Programacin en Internet Curso 2007-2008
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 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
Programacin en Internet Curso 2007-2008
Introduccin
Wyse Winterm3200LE
IBM 3151 Terminal
Wyse Winterm 3200LE
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 4
Programacin en Internet Curso 2007-2008
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 una respuesta
Normalmente acepta un gran nmero de
conexiones simultneas de los clientes
No interacciona directamente con los usuarios
finales
Programacin en Internet Curso 2007-2008
Introduccin
La interaccin entre el cliente y el
servidor se suele modelar mediante
diagramas de secuencia de UML
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 5
Programacin en Internet Curso 2007-2008
Programacin en Internet Curso 2007-2008
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 2007-2008
DLSI - Universidad de Alicante 6
Programacin en Internet Curso 2007-2008
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)
P t bilid d Portabilidad
Acceso independiente del lugar fsico:
empleo de un cliente ligero con requisitos
mnimos de instalacin
Programacin en Internet Curso 2007-2008
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
i l proporcionalmente
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 7
Programacin en Internet Curso 2007-2008
Ventajas (III)
Escalabilidad horizontal (scale out)
Programacin en Internet Curso 2007-2008
Ventajas (y IV)
Escalabilidad vertical (scale up)
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 8
Programacin en Internet Curso 2007-2008
Desventajas
Aumenta la comunicacin (congestin
trfico de red)
Falta de robustez (cada del servidor)
Programacin en Internet Curso 2007-2008
Arquitectura de una aplicacin de n
capas
N capas (n-tiers): separar los componentes
de una aplicacin en n niveles o capas 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 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 2007-2008
DLSI - Universidad de Alicante 9
Programacin en Internet Curso 2007-2008
Ventajas
Permite modificar una capa sin tener que
difi t d l li i 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 lgica de aplicacin o datos
Posibilita el balanceo de la carga de trabajo
entre distintos ordenadores
Programacin en Internet Curso 2007-2008
Lgica de presentacin
Separacin de funciones (I)
Lgica de presentacin
Lgica de negocio (aplicacin)
Lgica de datos
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 10
Programacin en Internet Curso 2007-2008
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 Implementa la funcionalidad de la aplicacin
Lgica de datos:
Gestiona la persistencia de los datos
Asegura su persistencia, integridad y
disponibilidad
Programacin en Internet Curso 2007-2008
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 11
Programacin en Internet Curso 2007-2008
Modelos de distribucin
Presentacin distribuida: solo una interfaz con validacin de datos
Cliente Servidor
Aplicacin distribuida: mxima flexibilidad
Presentacin
Lgicade
Presentacin
Lgicade
Negocio
Lgicade
datos
Gestin de
datos
Servidor
Lgicade
Negocio
Lgicade
datos
Gestin de
datos
Cliente
Presentacin
Lgicade
Presentacin
Lgicade
Negocio
Datos distribuidos: mxima carga en el cliente y mayor ancho de banda
Negocio datos datos Presentacin Negocio
Servidor
Lgicade
datos
Gestin de
datos
Cliente
Presentacin
Lgicade
Presentacin
Lgicade
Negocio
Programacin en Internet Curso 2007-2008
Dos y tres capas
Sistema de dos niveles o capas:
Todos los casos anteriores 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
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 12
Programacin en Internet Curso 2007-2008
Tecnologas de programacin
distribuida (I)
Diversas tecnologas que permiten a un programa
que se ejecuta en un ordenador ejecutar cdigo que 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) RMI (Remote Method Invocation)
Conjunto de protocolos desarrollados por Sun Microsystems
Exclusivo para J ava
Permite que un objeto desarrollado con J ava se comunique
remotamente con otro objeto basado en J ava
Programacin en Internet Curso 2007-2008
Tecnologas de programacin
distribuida (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 p
remota
Basado en RPC
Permite la comunicacin entre objetos desarrollados con
distintos lenguajes de programacin, pero su empleo se
encuentra limitado a Microsoft Windows
Programacin en Internet 2007-2008
DLSI - Universidad de Alicante 13
Programacin en Internet Curso 2007-2008
Tecnologas de programacin
distribuida (y III)
Servicios web
Desarrollado por OASIS y W3C Desarrollado por OASIS y W3C
La interoperabilidad se consigue mediante la adopcin de
estndares abiertos
Basado en XML: SOAP, WSDL y UDDI

Potrebbero piacerti anche