Está en la página 1de 7

1.3.

Tipos de arquitecturas
cliente/servidor
Ahora que conocemos los fundamentos de la tecnología cliente/servidor,
debemos analizar la interacción entre sus componentes para poder
establecer cómo implementarla de la forma más adecuada.
En este sentido, deberemos realizar un análisis previo de los
requerimientos en cuanto a los eventos que pueden producirse y las
restricciones a las que se verá sometida la instalación, el tipo y volumen
de información que va a procesarse, el tipo de bases de datos a utilizar
y su tamaño (si son necesarias), la estimación sobre el tráfico de la red
y el tiempo de respuesta, la ubicación física tanto de los datos que se
van a manejar como de los procesos que la van a procesar, etc.
Para dar respuesta a estas situaciones, estableceremos tres tipos de
clasificación diferentes: El primero atenderá al tamaño del lado servidor
comparado con el tamaño del lado cliente. El segundo hará referencia
al tipo de servicio que se ofrece. Y el tercero hará referencia a el numero
de niveles a la hora de acceder a la información.

Clasificación según el tamaño del lado cliente y


del lado servidor
Una de las características del modelo cliente/servidor es que permite
balancear la potencia de cálculo aplicada hacia el lado servidor o hacia
el lado cliente, según convenga.
Por ejemplo, si el número de clientes fuese elevado, y la mayoría del
proceso se realizara en el lado servidor, no necesitaríamos clientes muy
potentes, pero probablemente necesitaríamos ampliar la potencia de
cálculo del lado servidor y, como situación complementaria, tendríamos
que valorar el aumento de tráfico en la red.
Por otro lado, con clientes más potentes, buena parte del cálculo puede
realizarse en el lado cliente, accediendo al servidor de forma
esporádica. Esto derivaría en un servidor con menos necesidades de
recursos, un menor tráfico en la red y un mayor coste de los equipos en
el lado cliente.
Por lo tanto, como puede deducirse, disponemos de dos alternativas:

 Cliente pesado, servidor ligero (en inglés, Thick Client, Thin Server):
Aquí, tanto el nivel de presentación como el nivel de aplicación se
ejecutan en el lado cliente. Incluso podrían procesarse contenidos
multimedia con un alto consumo de recursos. El servidor se utiliza
para tareas como el hospedaje del SGBD (Sistema Gestor de Bases
de Datos) o incluso para otras tareas menores, como administrar
las tareas de impresión. En este tipo de esquemas, podría llegar
a interrumpirse de forma momentánea el servicio de red sin
perjudicar de forma significativa a los clientes.
 Servidor pesado, cliente ligero (en inglés, Thin Client, Thick
Server

): El lado cliente se emplea sólo para el nivel de presentación


(muchas veces utilizando simplemente un navegador web) y el
lado servidor se encarga de ejecutar la aplicación. En este tipo de
esquemas podríamos disponer, incluso, de clientes sin disco
duro. Otra de las ventajas de esta opción es que ofrecen una
mayor seguridad frente a intentos de acceso indebido.

Normalmente, la segunda alternativa presenta una mayor flexibilidad y


un menor coste, siempre que se hayan resuelto los posibles problemas
que mencionábamos antes.

Clasificación según el tipo de servicio que se


ofrece
Obviamente, son muchos los servicios que se pueden ofrecer en una
arquitectura cliente/servidor y sería muy extenso realizar una
clasificación detallada de los tipos de servidor atendiendo a todos los
servicios que pueden ofrecer. Por ese motivo, aquí nos limitaremos a
incluir sólo los más importantes:

 Servidores de archivos: Se suelen Recuerda


utilizar para crear almacenes de
documentos en un lugar En una transacción, una
centralizado de la red (Copias de serie de operaciones
seguridad, imágenes, plantillas de que están relacionadas
documentos, etc.) entre sí se efectúan
como un todo (por
Servidores de bases de datos: ejemplo, la actualización
Normalmente están asociados a la de los datos de
utilización de diferentes tablas en la
aplicaciones cliente/servidor donde base de datos).
un proceso cliente requiera datos
Si una parte de la
al servidor de bases de datos.
operación fracasa,
Lógicamente, el acceso a los datos fracasa la transacción
será compartido por diferentes completa.
clientes de forma simultánea
Esto asegura la
(aplicándose los mecanismos de
integridad de losde
protección necesarios sobre los datos ante la concurrencia
datos
diferentes clientes y la existencia de distintos niveles de
privilegio). almacenados.

Este tipo de estructuras suelen basarse en el concepto


de transacción.
 Servidores de impresión (Print Server): Facilitan la compartición de
impresoras y administran los trabajos de impresión en la red. De
esta forma se permite a los clientes que utilicen una impresora sin
importar su ubicación física. Un servidor de impresión utiliza una
cola para almacenar, de forma ordenada, los trabajos que recibe.
Esta cola puede ser administrada con diferentes privilegios en
función del cliente que realice la solicitud. Es común que un
servidor de impresión englobe también a un servidor de fax, ya que
se gestionan de forma similar.
Servidores de transacciones: Aplican el concepto de transacción
mencionado en las bases de datos a la llamada de funciones o
métodos almacenados en el servidor, de modo que el intercambio
a través de la red se limita a un solo mensaje de solicitud o
respuesta. De esta forma, se agrupan una o más acciones en una
unidad lógica que se ejecuta como un todo, garantizándose la
integridad del proceso. Estas aplicaciones pretenden dar soporte
a procedimientos y reglas en sistemas de misión crítica y se
denominan OLTP (Online transaction processing, Procesamiento de
transacciones en línea).

Por ejemplo, un cajero automático es un buen ejemplo de


aplicación de procesamiento de transacciones.

 Servidores de objetos: Dan soporte al Importante


procesamiento distribuido. Una
determinada aplicación puede estar En la programación
construida por diferentes objetos que orientada a objetos
pueden estar hospedados en diferentes (OOP, Object Oriented
puntos de la red. De esta forma, un Programming), las
objeto puede hacer uso de los métodos aplicaciones están
de otros objetos sin importar dónde estén formadas por objetos que
almacenados. La comunicación entre interactúan entre ellos a
objetos se realiza mediante un través de sus métodos.
componente llamado Object Request
Broker (ORB), que sirve de intermediario Se basa en técnicas
entre las solicitudes y los resultados como la encapsulación,
obtenidos. la herencia y
el polimorfismo.
 Servidores web: Su función consiste en
devolver un determinado documento En la actualidad es la
cuando un cliente lo solicita. La forma más extendida de
comunicación utiliza el protocolo HTTP programar aplicaciones.
(que está basado en RPC).
Clasificación según el número de niveles
En una arquitectura de tres niveles, los términos "capas" y "niveles" no
significan lo mismo ni son similares.

El término "capa" hace referencia a la forma como una solución es


segmentada desde el punto de vista lógico.

Por ejemplo:

1. Presentación.
2. Lógica de Negocio.
3. Datos.

En cambio, el término "nivel" corresponde a la forma en que las capas


lógicas se encuentran distribuidas de forma física.

Por ejemplo:

A. Una solución de tres capas (presentación, lógica del negocio,


datos) que residen en una solo computadora
(Presentación+lógica+datos). Se dice que la arquitectura de la
solución es de tres capas y un nivel.

B. Una solución de tres capas (presentación, lógica del negocio,


datos) que residen en dos computadores (presentación+lógica por un
lado; lógica+datos por el otro lado). Se dice que la arquitectura de la
solución es de tres capas y dos niveles.

Arquitectura de 2 niveles

La arquitectura en 2 niveles 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.
Arquitectura en 3 niveles

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. 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. Comparación entre ambos tipos de arquitecturas 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: 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
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.

ACTIVIDAD 3
Busca en internet características y precio de al menos 3 clientes ligeros

ACTIVIDAD 4
Elabora una lista con otros servicios que pueda tener un servidor.
Explica en que consiste el servicios

También podría gustarte