You are on page 1of 26

Aplicaciones Cliente-Servidor

M. C. Ana Luisa
Ballinas Hernndez
ARQUITECTURA CLIENTE
SERVIDOR
Es una arquitectura basada en el principio clsico de
divide y vencers, donde el procesamiento se
fracciona entre dos entidades fundamentales
denominadas cliente y servidor.
CLIENTE
X% Proceso
SERVIDOR
Y% Proceso
X + Y = 100%
Generalmente Y>X
ARQUITECTURA CLIENTE
SERVIDOR
Clientes inteligentes
X% Procesamiento
Servidor(es)
Y% Procesamiento
X + Y = 100%
ARQUITECTURA CLIENTE
SERVIDOR
El cliente se define como el PROCESO que
requiere un servicio en particular
El servidor se define como el PROCESO que
provee dicho servicio
Debido a que clientes y servidores son
conceptos a nivel software y no hardware, una
misma mquina puede actuar como cliente y
servidor al mismo tiempo.

El paradigma cliente-servidor como
arquitectura software
La interaccin entre el cliente y el servidor es sncrona
El servidor
Es pasivo, espera las peticiones de los clientes
Cuando recibe peticiones, debe procesarlas y ofrecer una
respuesta
Suele ser diseado con objetivos de eficiencia
El cliente
Es activo, tiene la iniciativa de iniciar el dilogo con el servidor
enviando peticiones
Por cada peticin enviada, se debe obtener una respuesta
Suele ser diseado con el objetivo
de interaccionar con el usuario final
ARQUITECTURA CLIENTE
SERVIDOR
VENTAJAS
Aprovecha mejor el ancho de banda
Aprovecha en mayor medida el hardware
Mayor seguridad y autonoma
Mejor manejo de la concurrencia
Permite que los clientes trabajen GUI mientras
el servidor se centra en los procesos centrales

Clientes y servidores: quin hace
qu?
El servidor puede tener funcionalidades de
presentacin menores
Capa de
presentacin: Suele
residir en el cliente
Puede residir en el servidor
Puede residir en el cliente
Puede residir parte en el cliente y parte en el servidor
Lgica de negocio:
Es compartida, aunque suele tener ms peso en el
servidor
Capa de servicios:
ARQUITECTURA CLIENTE
SERVIDOR
Algunos ejemplos:
Servidor Web (Apache, IIS) Cliente Web (IExplorer,
Netscape Navigator, Mozilla)

Cliente WEB
Servidor WEB
Protocolo
ARQUITECTURA CLIENTE
SERVIDOR
Servidor FTP (SFTP) Cliente FTP (Cute FTP,
WS FTP)

Cliente FTP
Servidor FTP
Protocolo
ARQUITECTURA CLIENTE
SERVIDOR
Servidor de Bases de datos (Interbase, Oracle,
SyBase, MySql, SQL Server, Postgress) Cliente de
Base de Datos (IBManager,IBConsole, Su propio
aplicativo !!!)

Cliente Interbase
Servidor InterBase
Protocolo
ARQUITECTURA CLIENTE
SERVIDOR
Interaccin de clientes y servidores

Servidor DB
(InterBase)
Servidor WEB (Apache)
Servidor de Aplicaciones
(PHP)
C
l
i
e
n
t
e
s

W
E
B

Servidor de DB
(MySQL)
Cliente Interbase (IBmanager)
Cliente Win32 (SkyCell)
CLIENTE - SERVIDOR
TIPOS DE CLIENTES
1. cliente flaco:
Servidor rpidamente saturado.
Gran circulacin de datos de interfase en la red.

2. cliente gordo:
Casi todo el trabajo en el cliente.
No hay centralizacin de la gestin de la BD.
Gran circulacin de datos intiles en la red.


CLIENTE - SERVIDOR
Servidores de archivos
Servidores de bases de datos
Servidores de transacciones
Servidores de Groupware

Servidores de objetos
Servidores Web
TIPOS DE SERVIDOR
CLIENTE - SERVIDOR
ESTILOS DEL MODELO CLIENTE SERVIDOR

PRESENTACIN DISTRIBUIDA
Se distribuye la interfaz entre el cliente y la plataforma servidora.
La aplicacin y los datos estn ambos en el servidor.
Similar a la arquitectura tradicional de un Host y Terminales.
El PC se aprovecha solo para mejorar la interfaz grfica del usuario.

Ventajas
Revitaliza los sistemas antiguos.
Bajo costo de desarrollo.
No hay cambios en los sistemas existentes.

Desventajas
El sistema sigue en el Host.
No se aprovecha la GUI y/o LAN.
La interfaz del usuario se mantiene en muchas plataformas.


CLIENTE - SERVIDOR
ESTILOS DEL MODELO CLIENTE SERVIDOR



PRESENTACIN REMOTA
La interfaz para el usuario esta completamente en el cliente.
La aplicacin y los datos estn en el servidor.

Ventajas
La interfaz del usuario aprovecha bien la GUI y la LAN.
La aplicacin aprovecha el Host.
Adecuado para algunos tipos de aplicaciones de apoyo a la toma de decisiones.

Desventajas
Las aplicaciones pueden ser complejas de desarrollar.
Los programas de la aplicacin siguen en el Host.
El alto volumen de trfico en la red puede hacer difcil la operacin de aplicaciones
muy pesadas.
CLIENTE - SERVIDOR
LGICA DISTRIBUIDA

La interfaz esta en el cliente.
La base de datos esta en el servidor.
La lgica de la aplicacin esta distribuida entre el cliente y el servidor.

Ventajas
Arquitectura mas corriente que puede manejar todo tipo de aplicaciones.
Los programas del sistema pueden distribuirse al nodo mas apropiado.
Pueden utilizarse con sistemas existentes.

Desventajas
Es difcil de disear.
Difcil prueba y mantenimiento si los programas del cliente y el servidor estn
hechos en distintos lenguajes de programacin.
No son manejados por la GUI 4GL.

CLIENTE - SERVIDOR
BASE DE DATOS DISTRIBUIDA

La interfaz, los procesos de la aplicacin, y , parte de los datos de la base de datos
estn en cliente.
El resto de los datos estn en el servidor.

Ventajas
Configuracin soportada por herramientas GUI 4GL.
Adecuada para las aplicaciones de apoyo al usuario final.
Apoya acceso a datos almacenados en ambientes heterogneos.
Ubicacin de los datos es transparente para la aplicacin.

Desventajas
No maneja aplicaciones grandes eficientemente.
El acceso a la base de datos distribuida es dependiente del proveedor del software
administrador de bases de datos.

ARQUITECTURA CLIENTE
SERVIDOR
CLIENTE SERVIDOR MULTICAPA (Glosario)
CAPA: Conjunto de componentes de un aplicativo que
se dedican a una labor en particular
CAPA DE PRESENTACIN (FrontEnd) : Todo aquello
que se enfoca en la interaccin con el usuario final.
REGLAS DEL NEGOCIO (Bussines rules) : Validaciones,
restricciones, reglamentos, protocolos y normativas
relativas a un dominio en particular.
CAPA LGICA (Middle Tier, Middleware) : Todo aquello que
gestiona y hace valer las reglas del negocio
CAPA DE ALMACENAMIENTO (BackEnd): Todos los
elementos dedicados a la persistencia del sistema

ARQUITECTURA CLIENTE
SERVIDOR
Ingeniera del Software
MVC: (Modelo vista controlador) Patrn de diseo que insta a
desacoplar los elementos de presentacin de los de
lgica. Planteado inicialmente en SmallTalk.
PATRON OBSERVER: Patrn de diseo que plantea
el desacoplamiento de presentacin y lgica
permitiendo mltiples vistas para una lgica en
particular junto a la implementacin de un mtodo de
notificacin y actualizacin de vistas mltiples.

ARQUITECTURA CLIENTE
SERVIDOR
CLIENTE SERVIDOR DE 2 CAPAS
La primera capa encapsula la presentacin y la lgica
La segunda gestiona el almacenamiento y puede
almacenar parte de la lgica (Procedimientos
almacenados, triggers)

Presentacin


Lgica
Almacenamiento



Lgica
ARQUITECTURA CLIENTE
SERVIDOR
CLIENTE SERVIDOR DE 2 CAPAS
Buen manejo de concurrencia hasta con 100 usuarios
simultneos aprox.
Protocolos propietarios pueden causar problemas de flexibilidad,
portabilidad y escalabilidad.

Presentacin


Lgica
Almacenamiento



Lgica
ARQUITECTURA CLIENTE
SERVIDOR
CLIENTE SERVIDOR DE 3 CAPAS (Multicapa)
Agrega una capa intermedia (middle tier) que permite priorizacin y
gestin de peticiones, gestin de balance, entre otros.
Buen manejo de concurrencia con miles de usuarios simultneos
Protocolos estandarizados permiten gran flexibilidad, portabilidad y
escalabilidad.






Presentacin



Almacenamiento

Lgica
Lgica
ARQUITECTURA CLIENTE
SERVIDOR
ARQUITECTURA CLIENTE
SERVIDOR
CLIENTE SERVIDOR DE 3 CAPAS (Multicapa)
Ejemplo: Google


Millones de clientes
(5000.000 por da,
57 por segundo aprox.)
Servidor de indexacin
Servidor de documentos
Servidor de balance
Bibliografa
Meyer Bertran, Construccin de software orientado a objetos
Booch Grady, Anlisis y diseo orientado a objetos
Aguilar Luis J, Programacin Orientada a Objetos
Gates Bill Camino al futuro
Cant Marco, Mastering Delphi 7
Cant Marco,Essential Delphi
Cant Marco,Essential Pascal
Ray Lischner, Delphi In A Nutshell
Delphi Magazine
Ayres, Bowden, Diehl, Dorcas, The Tomes of Delphi
Reisdorph Kent, Teach Yourself Borland Delphi 4 in 21 Days





Bibliografa
http://www.nationmaster.com
http://www.ddj.com/
http://www.sdmagazine.com/
http://www.byte.com/
http://www.borland.com
http://www.acm.com
http://www.wikipedia.org
http://www.byte.com/
http://www.marcocantu.com
http://www.mers.com
http://liinwww.ira.uka.de/bibliography/
http://www.webopedia.com
http://www-db.stanford.edu/~backrub/google.html
http://www.malditainternet.com/node/60
http://www.akamarketing.com/google-dance-guide.html

You might also like