Está en la página 1de 13

Programacin en Internet 2007-2008

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 Modelos de distribucin Tecnologas de programacin distribuida

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

Programacin en Internet Curso 2007-2008

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)

Comunicacin: protocolo Punto a p punto (peer-to-peer p p ) o red entre 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 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.

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

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 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 Winterm 3200LE

IBM 3151 Terminal

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

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

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

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

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

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) Portabilidad P t bilid d 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 proporcionalmente i l

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

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)

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

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

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

Programacin en Internet Curso 2007-2008

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

Programacin en Internet Curso 2007-2008

Separacin de funciones (I)


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

DLSI - Universidad de Alicante

Programacin en Internet 2007-2008

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

Lgica de datos:
Gestiona la persistencia de los datos Asegura su persistencia, integridad y disponibilidad

Programacin en Internet Curso 2007-2008

DLSI - Universidad de Alicante

10

Programacin en Internet 2007-2008

Programacin en Internet Curso 2007-2008

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 2007-2008

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

11

Programacin en Internet 2007-2008

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 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 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 p 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

12

Programacin en Internet 2007-2008

Programacin en Internet Curso 2007-2008

Tecnologas de programacin distribuida (y III)


Servicios web
Desarrollado por OASIS y W3C La interoperabilidad se consigue mediante la adopcin de estndares abiertos Basado en XML: SOAP, WSDL y UDDI

DLSI - Universidad de Alicante

13

También podría gustarte