Está en la página 1de 53

ARQUITECTURAS

CLIENTE – SERVIDOR
CAPAS - MULTICAPAS

1
Arquitectura Cliente -Servidor

La arquitectura Cliente/Servidor es el
procesamiento cooperativo de la información
por medio de un conjunto de ordenadores, en
el cual múltiples clientes, distribuidos
geográficamente, solicitan requerimientos a
uno o más servidores centrales.

La arquitectura Cliente/Servidor agrupa


conjunto de elementos que efectúan procesos
distribuidos y computo cooperativo.
2
Arquitectura Cliente -Servidor

Múltiples clientes, distribuidos geográficamente, solicitan requerimientos a uno o


más servidores centrales.
3
Arquitectura Cliente -Servidor

Desde el punto de vista funcional, se puede


definir la computación Cliente/Servidor
como una arquitectura distribuida que
permite a los usuarios finales obtener acceso
a la información de forma transparente aún
en entornos multiplataforma.

Se trata de la arquitectura más extendida en


la realización de Sistemas Distribuidos.
4
Arquitectura Cliente -Servidor

Esta arquitectura se divide en dos partes claramente


diferenciadas, la primera es la parte del servidor y
la segunda la de un conjunto de clientes.

Normalmente el servidor es una máquina bastante


potente que actúa de depósito de aplicaciones y/o
datos y funciona como un sistema gestor de estos.

Por otro lado los clientes suelen ser estaciones de


trabajo que solicitan varios servicios al servidor.

5
Arquitectura Cliente -Servidor

6
ELEMENTOS

Los elementos principales de la


arquitectura cliente/servidor son
justamente el elemento llamado cliente
y el otro elemento llamado servidor

7
Arquitectura Cliente -Servidor

8
EJEMPLO ARQUITECTURAS C/S
Visitar un sitio web es un buen
ejemplo de la arquitectura
Cliente/Servidor.
 El servidor web sirve las páginas
web al navegador (el cliente).
La mayoría de los servicios de
Internet son tipo de servidores que
trabajan con la arquitectura C/S.
9
¿Qué es el Cliente?
Conjunto de Software y Hardware que invoca los
servicios de uno o varios servidores.
Cliente es el proceso que permite al usuario formular
los requerimientos y pasarlos al servidor.
Se lo conoce con el término Front-end.

10
CLIENTE
En la arquitectura C/S el remitente de una solicitud es
conocido como cliente.
Sus características son:

Es quien inicia solicitudes o peticiones, tienen por


tanto un papel activo en la comunicación (dispositivo
maestro).
Espera y recibe las respuestas del servidor.
Por lo general, puede conectarse a varios servidores a la
vez.
Normalmente interactúa directamente con los usuarios
finales mediante una interfaz gráfica de usuario.

11
CLIENTE

Cliente (parte activa)


 Demanda servicios a los servidores
 Se asume que cada petición deberá
obtener respuesta
 Diseñado para soportar la interacción
con el usuario final

12
¿Qué es el Servidor?

Conjunto de Hardware y Software que responde a los


requerimientos de un cliente.
Es el proceso encargado de atender a múltiples
clientes que hacen peticiones de algún recurso
administrado por él.
Al proceso servidor se lo conoce con el término back-
end.

13
SERVIDOR
Al receptor de la solicitud enviada por el cliente se
conoce como servidor.
Sus características son:
Al iniciarse espera a que lleguen las solicitudes de los
clientes, desempeñan entonces un papel pasivo en la
comunicación (dispositivo esclavo).
Tras la recepción de una solicitud, la procesan y luego
envían la respuesta al cliente.
Por lo general, aceptan conexiones desde un gran
número de clientes (en ciertos casos el número
máximo de peticiones puede estar limitado).
No es frecuente que interactúe directamente con los
usuarios finales.
14
SERVIDOR

El Servidor es la parte pasiva


 Espera las peticiones de los
clientes
 Procesa esas peticiones y envía
una respuesta
 Diseño orientado a maximizar la
eficiencia

15
Tipos Comunes de Servidores
 Servidor de Archivos.

 Servidor de Bases de Datos (SQL, CBASE, ORACLE, INFORMIX).

 Servidor de Comunicaciones

 Servidor de Impresión.

 Servidor de Terminal.

 Servidor de Aplicaciones.

 Servidor WEB

 Servidor DNS, DHCP, FTP, CORREO,

16
 Etc.
¿Qué Ventajas Tiene Una Arquitectura C/S?
Recursos centralizados. Estos pueden ser
utilizados a través de varios ordenadores
cliente.
Mayor seguridad. Los datos centralizados
en un servidor o servidores son menos
vulnerables.
Administración más eficiente y
económica. Es más fácil y económico
administrar la instalación y la actualización
de software en un servidor que en todos los
clientes.
17
¿Qué Ventajas Tiene Una Arquitectura C/S?

Escalabilidad. Se puede incrementar el


número y la capacidad de clientes y
servidores por separado.

Transparencia de localización física de


los servidores y clientes: El cliente no tiene
por qué saber dónde se encuentra situado el
recurso que desea utilizar.

18
¿Qué Desventajas Tiene Una Arquitectura
Cliente-Servidor?

Un fallo en el servidor afecta a todos los


clientes.

En horas pico, el servidor trabajará


lentamente y podrá dejar de funcionar
(se "caerá el sistema").

El tráfico de la red afecta el desempeño.


19
Red de Comunicación

Es todo aquel conjunto de elementos


basados en hardware y software que permite
establecer un enlace entre los clientes y los
servidores.

Se clasifican por su tamaño LAN, MAN y


WAN.

20
Arquitecturas Multi-Capas
2 capas
La arquitectura cliente/servidor genérica
tiene dos tipos de nodos en la red: clientes
y servidores.

Consecuentemente, estas arquitecturas


genéricas se refieren a veces como
arquitecturas de dos niveles o de dos
capas.
21
Arquitecturas Multi-Capas
2 capas
La arquitectura en 2 niveles/Capas se utiliza
para describir los sistemas cliente/servidor
en donde el cliente solicita recursos y el
servidor responde directamente a la
solicitud, con sus propios recursos.

Esto significa que el servidor no requiere


otra aplicación para proporcionar parte del
servicio.
22
Arquitecturas Multi-Capas
2 capas

23
Arquitecturas Multi-Capas
2 capas
Ventajas:

Presenta una estructura de desarrollo


bastante simple ya que el programador
maneja un único ambiente de desarrollo.

Es una arquitectura operativa más simple


respecto al Cliente/Servidor en tres
planos(capas), puesto que reduce una capa de
programación, (como se verá más adelante)
24
Arquitecturas Multi-Capas
2 capas
Inconvenientes:

La gran cantidad de información que viaja al


cliente congestiona demasiado el tráfico de
red, lo que se traduce en bajo rendimiento.

Por su bajo rendimiento esta estructura tiene


un bajo espectro de aplicación, limitándose a la
construcción de sistemas no críticos.
25
Arquitecturas Multi-Capas
3 capas
Algunas redes disponen de tres tipos de nodos:
Clientes que interactúan con los usuarios
finales.
Servidores de aplicación que procesan los
datos para los clientes.
Servidores de la base de datos que
almacenan los datos para los servidores de
aplicación.
Esta configuración se llama una arquitectura de
tres-capas. 26
Arquitecturas Multi-Capas
3 capas
En la arquitectura en 3 niveles, existe
un nivel intermediario.
Esto significa que la arquitectura
generalmente está compartida por:
Un cliente, es decir, el equipo que
solicita los recursos, equipado con una
interfaz de usuario (generalmente un
navegador Web) para la presentación
27
Arquitecturas Multi-Capas
3 capas
El servidor de aplicaciones (también
denominado software intermedio),
cuya tarea es proporcionar los recursos
solicitados, pero que requiere de otro
servidor para hacerlo.
El servidor de datos, que proporciona
al servidor de aplicaciones los datos que
requiere.
28
Arquitecturas Multi-Capas
3 capas

29
Arquitecturas Multi-Capas
3 capas
El uso masivo del término arquitectura en 3 niveles
también denota las siguientes arquitecturas:
Aplicación compartida entre un cliente, un software
intermedio y un servidor empresarial
Aplicación compartida entre un cliente, un servidor
de aplicaciones y un servidor de base de datos
empresarial.

30
Arquitecturas Multi-Capas
3 capas

31
Arquitecturas Multi-Capas
3 capas

32
Arquitecturas Multi-Capas - 3 capas
Las arquitecturas de tres niveles son modelos para la programación, que
permiten la distribución de la funcionalidad de la aplicación entre tres sistemas
independientes, normalmente:
•Componentes de cliente que se ejecutan en estaciones de trabajo locales (nivel
uno)
•Procesos que se ejecutan en servidores remotos (nivel dos)
•Una colección discreta de bases de datos, gestores de recursos y aplicaciones
de host (nivel tres)

33
Arquitecturas Multi-Capas - 3 capas
Las arquitecturas de tres niveles son “modelos de programación” que permiten
la distribución de la funcionalidad de la aplicación entre tres sistemas
independientes, normalmente:
•Componentes de cliente que se ejecutan en estaciones de trabajo locales (nivel
uno)
•Procesos que se ejecutan en servidores remotos (nivel dos)
•Una colección discreta de bases de datos, gestores de recursos y aplicaciones
de host (nivel tres)

34
Arquitecturas Multi-Capas - 3 capas

35
Cliente –Servidor en 3 Niveles
Es una extensión del modelo tradicional, que
pretende aumentar el desacoplamiento entre
servidor y clientes
Introduce un nivel intermedio (separa servidor en 2
componentes)
 Cliente dedicado casi exclusivamente a interfaz
de usuario
 Servidor comparte con nivel intermedio la lógica
de la aplicación que esta repartida.
 El reparto preciso depende del modelo concreto
seguido
Clientes ligeros o híbridos
36
Arquitectura webs
Los desarrollos de sistemas web actuales están
guiados por una filosofía “Multinivel o Multicapas”.

De esta forma cada tipo de elemento que tenga un


rol distinto representara una capa diferente.
De esta forma se “desdoblan” las funciones… así de
esta manera se descargan funcionalidades y
carga de trabajo solo al “servidor único”.
37
Arquitectura webs
En esta figura..

El servidor clásico de 2 nivel se desdobla en 2


equipos: Un servidor web (nivel 2) encargado de
ofrecer las prestaciones para aceptar y contestar
peticiones WEB, y un servidor de base de datos
(nivel 3) encargado de almacenar y gestionar el
acceso a la información contenida en él.
38
Arquitectura webs
En esta figura vemos 4 niveles…

Existen 2 equipos diferente, el servidor web, y el


servidor de aplicaciones encargados de la gestión y
procesamiento de las peticiones recibidas de parte
del cliente.
Son divisiones funcionales … de manera que un
equipo es destinado a una función particular y así
crea un nuevo nivel en la arquitectura.
39
Arquitectura webs
En esta figura se ve el esquema de nivel de trabajo
la empresa YouTube...

40
Modelo Físico – Modelo Lógico

41
Modelo Físico – Modelo Lógico

42
Ventajas de la Arquitectura en 3 Capas (1)
Reduce el tráfico de información en la red por lo que
mejora el rendimiento de los sistemas (especialmente
respecto a la estructura en dos planos).
Brinda una mayor flexibilidad de desarrollo y de
elección de plataformas sobre la cual montar las
aplicaciones. Provee escalabilidad horizontal y vertical.
Se mantiene la independencia entre el código de la
aplicación (reglas y conocimiento del negocio) y
los datos, mejorando la portabilidad de las
aplicaciones.
Los lenguajes sobre los cuales se desarrollan las
aplicaciones son estándares lo que hace más
exportables las aplicaciones entre plataformas.
43
Ventajas de la Arquitectura en 3 Capas (2)
Dado que mejora el rendimiento al optimizar el
flujo de información entre componentes, permite
construir sistemas críticos de alta fiabilidad.

El mismo hecho de localizar las reglas del negocio


en su propio ambiente, en vez de distribuirlos en la
capa de interfaz de usuario, permite reducir el
impacto de hacer mantenimiento, cambios
urgentes de última hora o mejoras al sistema.

Disminuye el número de usuarios (licencias)


conectados a la base de datos.

44
Desventajas de la Arquitectura en 3 Capas

Dependiendo de la elección de los lenguajes


de desarrollo, puede presentar mayor
complejidad en comparación con
Cliente/Servidor dos planos.

Existen menos proveedores de


herramientas integradas de desarrollo con
relación al modelo Cliente/Servidor dos
planos, y normalmente son de alto costo.

45
Comparación entre Arquitectura de
2 capas y 3 capas

La arquitectura en 2 niveles es, por lo tanto, una


arquitectura cliente/servidor en la que el servidor es
polivalente, es decir, puede responder directamente
a todas las solicitudes de recursos del cliente.

Sin embargo, en la arquitectura en 3 niveles, las


aplicaciones al nivel del servidor son
descentralizadas de uno a otro, es decir, cada
servidor se especializa en una determinada tarea,
(por ejemplo: servidor web/servidor de bases de
datos). La arquitectura en 3 niveles permite:
46
Comparación entre Arquitectura de
2 capas y 3 capas

Un mayor grado de flexibilidad

Mayor seguridad, ya que la seguridad


se puede definir independientemente
para cada servicio y en cada nivel

Mejor rendimiento, ya que las tareas


se comparten entre servidores
47
Arquitectura de Niveles Múltiples

En la arquitectura en 3 niveles, cada servidor


(nivel 2 y 3) realiza una tarea especializada
(un servicio).

Por lo tanto, un servidor puede utilizar los


servicios de otros servidores para
proporcionar su propio servicio.

 Por consiguiente, la arquitectura en 3


niveles es potencialmente una arquitectura
en N-niveles 48
Arquitectura de Niveles Múltiples

49
Ventajas de las Arquitecturas N-Capas

La ventaja fundamental de una


arquitectura n-capas comparado con
una arquitectura de dos niveles (o una
tres-capas con una de dos niveles) es que
separa hacia fuera el proceso, eso
ocurre para mejorar el balance la
carga en los diversos servidores; y es
más escalable.

50
Ventajas de las Arquitecturas N-Capas

Se puede aumentar la capacidad de


clientes y servidores por separado.

 Cualquier elemento puede ser


aumentado (o mejorado) en cualquier
momento, o se pueden añadir nuevos
nodos a la red (clientes y/o servidores).

51
Desventajas de las Arquitecturas de la N-Capas:

Pone más carga en la red, debido a


una mayor cantidad de tráfico de la red.

Es mucho más difícil programar y


probar el software que en arquitectura
de dos niveles porque tienen que
comunicarse más dispositivos para
terminar la transacción de un usuario.

52
FIN

53

También podría gustarte