1 Arquitectura Cliente Servidor PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

1.1.

Arquitectura cliente/servidor
La arquitectura cliente/servidor persigue el objetivo de procesar la
información de un modo distribuido. De esta forma, los usuarios finales
pueden estar dispersos en un área geográfica más o menos extensa
(un edificio, una localidad, un país, …) y acceder a un conjunto común
de recursos compartidos.

Además, el acceso debe ser transparente (el cliente puede desconocer


la ubicación física del recurso que pretende utilizar) y,
preferiblemente, multiplataforma, es decir, independiente del sistema
operativo, del software de aplicación e incluso del hardware.

En definitiva, cuando hablamos de la implantación de una arquitectura


cliente/servidor, nos referimos a un sistema de información distribuido.

Además de la transparencia y la independencia del hardware y del


software, una implantación cliente/servidor debe tener las siguientes
características:

• Debe utilizar protocolos asimétricos, donde el servidor se limita a


escuchar, en espera de que un cliente inicie una solicitud.

• El servidor ofrecerá recursos, tanto lógicos como físicos a una


cantidad variable y diversa de clientes (por ejemplo, espacio de
almacenamiento, bases de datos, impresoras, etc.)

• El servidor ofrecerá también una serie de servicios, que serán


usados por los clientes. Estos servicios estarán encapsulados, para
ocultar a los clientes los detalles de su implementación (por
ejemplo, aceptar el requerimiento
de un cliente sobre una base de Recuerda
datos o formatear los datos
obtenidos antes de transmitirlos Las características de una
al cliente). implantación cliente/servidor
deben ser:
• Se facilitará la integridad y el
mantenimiento tanto de los datos • Transparencia.
como de los programas debido a • Independencia.
que se encuentran centralizados • Protocolos asimétricos.
en el servidor o servidores. • Recursos compartidos.
• Servicio.
• Los sistemas estarán débilmente • Encapsulamiento.
acoplados, ya que interactúan • Integridad.
mediante el envío de mensajes. • Acoplamiento débil.
• Se facilitará la escalabilidad, de manera que sea fácil añadir nuevos
clientes a la infraestructura (escalabilidad horizontal) o aumentar la
potencia del servidor o servidores, aumentando su número o su
capacidad de cálculo (escalabilidad vertical)

Elementos de la arquitectura cliente/servidor.


De lo dicho hasta ahora, podemos deducir que los principales
elementos que conforman la arquitectura cliente/servidor son los
siguientes:

El servidor
Cuando hablamos de una forma genérica, al mencionar a un servidor,
nos referimos a un ordenador, normalmente con prestaciones elevadas,
que ejecuta servicios para atender las demandas de diferentes clientes.

Sin embargo, bajo el punto de vista de la arquitectura cliente/servidor, un


servidor es un proceso que ofrece el recurso (o recursos) a los clientes que lo
solicitan (consultar la definición de cliente más abajo).

Es muy frecuente que, para referirse a un proceso servidor, se utilice el


término back-end.

Según el tipo de servidor implantado, tendremos un tipo de arquitectura


cliente/servidor diferente (ver apartado 1.3, más abajo).
Por último, mencionar que en algunas ocasiones, un servidor puede
actuar, a su vez, como cliente de otro servidor.

Recuerda

En ocasiones, los servicios también reciben el nombre


de demonios (daemons en inglés).

Se trata de una terminología que proviene del mundo Unix/Linux.

El cliente
Igual que antes, al hablar de forma genérica sobre un cliente, nos
referimos a un ordenador, normalmente con prestaciones ajustadas,
que requiere los servicios de un equipo servidor.

Sin embargo, bajo el punto de vista de la arquitectura cliente/servidor, un


cliente es un proceso que solicita los servicios de otro, normalmente a petición
de un usuario.

En entornos cliente/servidor, suele utilizarse el término front-end para


referirse a un proceso cliente.

Normalmente, un proceso cliente se encarga de interactuar con el


usuario, por lo que estará construido con alguna herramienta que
permita implementar interfaces gráficas (o GUI, del inglés graphical user
interface). Además, se encargará de formular las solicitudes al servidor
y recibir su respuesta, por lo que deberá encargarse de una parte de la
lógica de la aplicación y de realizar algunas validaciones de forma local.

Importante

Los mensajes quedan almacenados, permitiendo que el emisor o


el receptor estén inactivos por un tiempo. Así, las comunicaciones
pueden ser persistentes y asíncronas.

Este mecanismo se denomina Message-Oriented Middleware


El Middleware
Es la parte del software del sistema que se encarga del transporte de los
mensajes entre el cliente y el servidor, por lo que se ejecuta en ambos lados
de la estructura.

El middleware permite independizar a los clientes y a los servidores, sobre


todo, gracias a los sistemas abiertos, que eliminan la necesidad de
supeditarse a tecnologías propietarias.

Por lo tanto, el middleware facilita el desarrollo de aplicaciones, porque


resuelve la parte del transporte de mensajes y facilita la interconexión
de sistemas heterogéneos sin utilizar tecnologías propietarias.

Además, ofrece más control sobre el negocio, debido a que permite


obtener información desde diferentes orígenes (uniendo tecnologías y
arquitecturas distintas) y ofrecerla de manera conjunta.

Podemos estructurar el middleware en tres niveles:

• El protocolo de transporte, que será común para otras


aplicaciones del sistema.

• El sistema operativo de red

• El protocolo del servicio, que será específico del tipo de sistema


cliente/servidor que estemos considerando.

El funcionamiento básico
Aunque es probable que a estas alturas ya te hagas una idea sobre el
funcionamiento general del modelo cliente/servidor, vamos a concretarlo
a continuación:

1. Lo primero que debe ocurrir es que se inicie el servidor. Esto


ocurrirá durante el arranque del sistema operativo o con la
intervención posterior del administrador del sistema. Cuando
termine de iniciarse, esperará de forma pasiva las solicitudes de
los clientes.

2. En algún momento, uno de los clientes conectados al sistema


realizará una solicitud al servidor.

3. El servidor recibe la solicitud del cliente, realiza cualquier


verificación necesaria y, si todo es correcto, la procesa.
4. Cuando el servidor disponga del resultado solicitado, lo envía al
cliente.

5. Finalmente, el cliente recibe el resultado que solicitó. A


continuación realiza las comprobaciones oportunas (si son
necesarias) y, si era ese el objetivo final, se lo muestra al usuario.

Si descomponemos este modo de funcionamiento en elementos


estructurales, será más fácil comprender los conceptos implicados. De
esta forma, podemos obtener una definición de la arquitectura por
niveles que sigue la siguiente estructura:

• Un nivel de presentación, que aglutina los elementos relativos al


cliente.

• Un nivel de aplicación, compuesto por elementos relacionados


con el servidor.

• Un nivel de comunicación, que está formado por los elementos


que hacen posible la comunicación entre el cliente y el servidor.

• Un nivel de base de datos, formado por los elementos


relacionados con el acceso a los datos.
Actividad 1
Responde a las siguientes cuestiones:
a) Define SO en red
b) Indica y explica las diferentes posibilidades de instalación de Windows Server
c) Señala que es una versión LTS
d) Detalla las características de un sistema cliente-servidor
e) Describe la diferencia entre escalabilidad vertical y horizontal, referidos a los
servidores

También podría gustarte