Arquitectura Cliente Servidor
Enviado por nadiaz07 • 31 de Julio de 2011 • 3.459 Palabras (14 Páginas) • 2.126 Visitas
INTRODUCCIÓN A LA ARQUITECTURA CLIENTE/SERVIDOR
CONCEPTO DE ARQUITECTURA CLIENTE / SERVIDOR.
La tecnología Cliente/Servidor es el procesamiento cooperativo de la información por medio de un
conjunto de procesadores, en el cual múltiples clientes, distribuidos geográficamente, solicitan
requerimientos a uno o más servidores centrales.
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 pues, de la arquitectura más
extendida en la realización de Sistemas Distribuidos.
Un sistema Cliente/Servidor es un Sistema de Información distribuido basado en las siguientes
características:
• Servicio: unidad básica de diseño. El servidor los proporciona y el cliente los utiliza.
• Recursos compartidos: Muchos clientes utilizan los mismos servidores y, a través de ellos,
comparten tanto recursos lógicos como físicos.
• Protocolos asimétricos: Los clientes inician “conversaciones”. Los servidores esperan su
establecimiento pasivamente.
• 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.
• Independencia de la plataforma HW y SW que se emplee.
• Sistemas débilmente acoplados. Interacción basada en envío de mensajes.
• Encapsulamiento de servicios. Los detalles de la implementación de un servicio son
transparentes al cliente.
• Escalabilidad horizontal (añadir clientes) y vertical (ampliar potencia de los servidores).
• Integridad: Datos y programas centralizados en servidores facilitan su integridad y
mantenimiento.
En el modelo usual Cliente/Servidor, un servidor, (daemon en la terminología sajona basada en
sistemas UNIX/LINUX, traducido como "demonio") se activa y espera las solicitudes de los clientes.
Habitualmente, programas cliente múltiples comparten los servicios de un programa servidor
común. Tanto los programas cliente como los servidores son con frecuencia parte de un programa
o aplicación mayores.
El Esquema de funcionamiento de un Sistema Cliente/Servidor sería:
1. El cliente solicita una información al servidor.
2. El servidor recibe la petición del cliente.
3. El servidor procesa dicha solicitud.
4. El servidor envía el resultado obtenido al cliente.
5. El cliente recibe el resultado y lo procesa.
COMPONENTES DE LA ARQUITECTURA CLIENTE/SERVIDOR
El modelo Cliente/Servidor es un modelo basado en la idea del servicio, en el que el cliente es un
proceso consumidor de servicios y el servidor es un proceso proveedor de servicios. Además esta
relación está establecida en función del intercambio de mensajes que es el único elemento de
acoplamiento entre ambos.
De estas líneas se deducen los tres elementos fundamentales sobre los cuales se desarrollan e
implantan los sistemas 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. Esta descomposición
principalmente consiste en separar los elementos estructurales de esta tecnología en función de
aspectos más funcionales de la misma:
• 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.
Este modelo de descomposición en niveles, como se verá más adelante, permite introducir más
claramente la discusión del desarrollo de aplicaciones en arquitecturas de hardware y software en
planos.
ELEMENTOS PRINCIPALES
CLIENTE
Un cliente es todo proceso que reclama servicios de otro. Una definición un poco más elaborada
podría ser la siguiente: cliente es el proceso que permite al usuario formular los requerimientos y
pasarlos al servidor. Se lo conoce con el término front-end.
Éste normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de
datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas
de usuario (GUI), además de acceder a los servicios distribuidos en cualquier parte de la red. Las
funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos:
• Administrar la interfaz de usuario.
• Interactuar con el usuario.
• Procesar la lógica de la aplicación y hacer validaciones locales.
• Generar requerimientos de bases de datos.
• Recibir resultados del servidor.
• Formatear resultados.
La funcionalidad del proceso cliente marca la operativa de la aplicación (flujo de información o
lógica de negocio). De este modo el cliente se puede clasificar en:
• Cliente basado en aplicación de usuario. Si los datos son de baja interacción y están
fuertemente relacionados con la actividad de los usuarios de esos clientes.
• Cliente basado en lógica de negocio. Toma datos suministrados por el usuario y/o la base
de datos y efectúa los cálculos necesarios según los requerimientos del usuario.
SERVIDOR
Un servidor es todo proceso que proporciona un servicio a otros. 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. El servidor normalmente maneja todas las
funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos. Las
principales funciones que lleva a cabo el proceso servidor se enumeran a continuación:
• Aceptar los requerimientos de bases de datos que hacen los clientes.
• Procesar requerimientos
...