Está en la página 1de 11

1. Contexto de la Programación Cliente/Servidor.

1.1 Arquitectura del modelo cliente/servidor


Desde un punto de vista conceptual:
Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento
de la información y los datos por todo el sistema informático, permitiendo mejorar el rendimiento del
sistema global de información.

En términos de arquitectura:
Los distintos aspectos que caracterizan a una aplicación (proceso, almacenamiento, control y operaciones
de entrada y salida de datos) en el sentido más amplio, están situados en más de un computador, los
cuales se encuentran interconectados mediante una red de comunicaciones.

Cliente/Servidor
Es la tecnología que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios
de cómputo o cualquier otro recurso del grupo de trabajo y/o, a través de la organización, en múltiples
plataformas. El modelo soporta un medio ambiente distribuido en el cual los requerimientos de
servicio hechos por estaciones de trabajo inteligentes o "clientes'', resultan en un trabajo realizado por otros
computadores llamados servidores".
¿Qué es una Arquitectura?

Una arquitectura es un entramado de componentes funcionales que aprovechando diferentes


estándares, convenciones, reglas y procesos, permite integrar una amplia gama de productos y
servicios informáticos, de manera que pueden ser utilizados eficazmente dentro de la
organización.

Debemos señalar que para seleccionar el modelo de una arquitectura, hay que partir del contexto
tecnológico y organizativo del momento y, que la arquitectura Cliente/Servidor requiere una
determinada especialización de cada uno de los diferentes componentes que la integran.
La arquitectura cliente-servidor define una relación entre el usuario de una estación de trabajo (el cliente frontal) y
un servidor posterior de archivos, impresión, comunicaciones o fax, u otro tipo de sistema proveedor de servicios.
El cliente debe ser un sistema inteligente con su propia capacidad de procesamiento para descargar en parte al
sistema posterior (ésta es la base del modelo cliente-servidor). Esta relación consiste en una secuencia de
llamadas seguidas de respuestas. Situar servicios de archivos (u otro tipo de servicios) en sistemas posteriores
dedicados tiene muchas ventajas. Es más sencillo realizar el mantenimiento y la seguridad de unos servidores
situados en un mismo lugar, y más simple el proceso de realización de copias de seguridad, siempre que los datos
se encuentren en una única ubicación y una misma autoridad los gestione.
Existen numerosas configuraciones cliente-servidor posibles. En la Figura anterior, varios clientes acceden a un
único servidor. Esta es la configuración usual de una pequeña red de área local (LAN, Local Area Network). La
Figura siguiente muestra un modelo de base de datos distribuida en el que los clientes acceden a los datos
ubicados en varios servidores

El Esquema de funcionamiento de un Sistema


Cliente/Servidor sería:
El cliente solicita una información al servidor.
El servidor recibe la petición del cliente.
El servidor procesa dicha solicitud.
El servidor envía el resultado obtenido al cliente.
El cliente recibe el resultado y lo procesa.
Componentes de la arquitectura cliente/servidor
El proceso cliente que es quien inicia el diálogo, el proceso servidor que pasivamente espera a que
lleguen peticiones de servicio y el middleware que corresponde a la interfaz que provee la
conectividad entre el cliente y el servidor para poder intercambiar mensajes.

Para entender en forma más ordenada y clara los conceptos y elementos involucrados en esta
tecnología se puede aplicar una descomposición o arquitectura de niveles.

• Nivel de Presentación: Agrupa a todos los elementos asociados al componente Cliente.


• Nivel de Aplicación: Agrupa a todos los elementos asociados al componente Servidor.
• Nivel de comunicación: Agrupa a todos los elementos que hacen posible la comunicación entre
los componentes Cliente y servidor.
Nivel de base de datos: Agrupa a todas las actividades asociadas al acceso de los datos.
1.2 Modelos de dos y tres capas

Arquitectura en 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
1.3 Usos y Aplicaciones

Cuando la operación entre clientes y servidores se realiza a través de una red (como es el caso
de Internet), la información viaja codificada a lo largo de redes que pueden ser del tamaño de
un edificio o de tamaño planetario. En caso de redes grandes, aparte de servidores y clientes,
se necesita un tercer tipo de máquinas para gestionar las transmisiones.
Se denominan enrutadores ("Routers"), y funcionan como elementos de recepción y
transmisión de tráfico Internet.

El paradigma cliente-servidor no solo se utiliza en referencia a las máquinas físicas, también a


los programas que las hacen funcionar según su utilidad. Por ejemplo, son frecuentes
expresiones tales como "cliente de correo" o "servidor de noticias" en referencia a
programas. La primera se refiere al que utilizamos normalmente para interrogar nuestro buzón
e-mail, "bajar" el correo y manipularlo (verlo, imprimirlo, borrarlo, etc.). El segundo se refiere a
un programa o sistema de ellos, que en un servidor (máquina) realiza el trabajo de alojar los
mensajes de noticias, atender las peticiones de los "clientes", etc.
Observe que en realidad, el concepto cliente/servidor es muy genérico, y que puede
ser entendido incluso en el ámbito de una sola máquina, donde unas aplicaciones
pueden prestar servicio a otras. Sin embargo, su significado desde el punto de vista
informático suele presuponer la existencia de varias máquinas (al menos dos) unidas
en una red:

• Un servidor es cualquier máquina que dispone un recurso para ser compartido.


• Un cliente es cualquier máquina que necesita un recurso externo.

Un servidor de determinado recurso puede ser cliente de otros y a la inversa. Un


cliente puede ser a su vez servidor de otro recurso.

También podría gustarte