Introducción al Modelo Cliente Servidor PDF

Title Introducción al Modelo Cliente Servidor
Author Gerardo Lopez
Course Desarrollo Web
Institution Universidad Siglo 21
Pages 6
File Size 338.5 KB
File Type PDF
Total Downloads 75
Total Views 134

Summary

Download Introducción al Modelo Cliente Servidor PDF


Description

Introducción al modelo Cliente servidor

Desarrollo web

Cliente - Servidor En la presente lectura, presentaremos la arquitectura cliente – servidor, ya que el desarrollo web se basa, principalmente, en este modelo de aplicación. Antes de mediados de los años noventa, las aplicaciones generalmente eran monolíticas; para que se entienda: un único y gran archivo ejecutable que hacia todo el procesamiento de la lógica de negocio y a su vez brindaba la interfaz de usuario (mucho más rudimentaria que las actuales). Además muchas veces podía acceder un único usuario a la vez, y luego con el tiempo se comenzó a “distribuir”; aunque también de manera precaria ya que se situaba un único archivo en una carpeta compartida en una red permitiendo la ejecución desde otras terminales. Poco a poco, se fue migrando a lo que sería luego conocido como arquitectura cliente – servidor; donde básicamente el servidor era el encargado de proveer servicios o recursos y los clientes que se comunicaban con éste para poder utilizarlos. Actualmente podemos decir que consiste en un modelo de aplicación distribuida en el cual las tareas son repartidas entre los proveedores de recursos o servicios, denominados servidores, y quienes las demandan, denominados clientes. ¿Cómo funciona? Cuando navegas en internet realizas constantemente peticiones a otras computadoras remotas o servidores que dan respuesta. En estos casos, el cliente solicita vía mensaje un servicio específico a un servidor (es decir, realiza una petición, comúnmente HTTP). Como respuesta, el servidor envía uno o varios mensajes y, de esta manera, provee el servicio, como se puede observar en la siguiente imagen: Figura 1: Esquema de la arquitectura cliente – servidor

Fuente: elaboración propia.

2

Esta separación entre cliente y servidor implica una separación del tipo lógica, ya que el servidor no se ejecuta indefectiblemente sobre una única computadora, ni es un sólo aplicativo. Entre los tipos de servidores que puedes encontrar, nombramos a los servidores web (los que ahondaremos en este curso), de bases de datos, de archivos, correo electrónico, entre otros.

La separación entre cliente y servidor implica una separación del tipo lógica, ya que el servidor no se ejecuta indefectiblemente sobre una única computadora física, si es un solo aplicativo.

Entonces, por ejemplo, un servidor web “sirve” páginas web, mientras que un servidor de archivos “sirve” archivos de computadora. Si una computadora es cliente, servidor o ambas a la vez, se determina por la naturaleza de la aplicación que se ejecuta. Como veremos más adelante, en una PC de escritorio instalaremos un servidor web para poder procesar y visualizar páginas web.

Características generales Algunas de las características de esta arquitectura son: 









Las tareas del cliente y del servidor poseen distintos requerimientos respecto a los recursos de cómputo tales como velocidad y uso del procesador, memoria y capacidad de almacenamiento en disco. Se entablan relaciones que vinculan procesos diferentes, los cuales pueden ser ejecutados en la misma máquina o en distintas máquinas distribuidas a lo largo de la red. Se establece una notable diferenciación de funciones basada en el concepto de servicio y que se determina entre clientes y servidores. La relación establecida puede darse entre uno o varios; en este último caso, un servidor presta servicio a numerosos clientes, controlando el acceso que estos tienen a los recursos compartidos. No hay otra vinculación posible entre clientes y servidores que no consista en la que se da a través del intercambio de mensajes entre ambos. Estos mensajes representan el mecanismo para la petición y entrega de solicitudes de servicio. El concepto de escalabilidad -tanto horizontal como vertical- es aplicable a cualquier arquitectura cliente - servidor. La escalabilidad horizontal nos habilita a adicionar más estaciones de trabajo activas sin que esto implique influir de manera notable en el rendimiento;

3



en tanto, la escalabilidad vertical permite mejorar las características del servidor o agregar múltiples servidores. La plataforma de hardware y el sistema operativo del cliente y del servidor o servidores no son los mismos en todas las ocasiones; sino que pueden coexistir con sistemas operativos como Windows, Linux, Solaris y comunicarse de forma transparente para el cliente. En este sentido, el hecho de que pueda vincular clientes y servidores independientemente de sus plataformas, representa una de sus grandes ventajas, las cuales detallaremos de manera precisa a continuación.

Principales ventajas Entre las principales ventajas de esta arquitectura podemos nombrar (Renaud, 1993):  La posibilidad de utilizar plataformas de hardware cada vez más diversas y cuyo costo es menor. Esta es, probablemente, uno de los mayores beneficios que presenta, ya que permite utilizar máquinas realmente baratas en comparación con las que se necesitan en una solución centralizada, basada en sistemas grandes como puede ser una arquitectura del tipo mainframe. Por otro lado, también permite utilizar componentes de distintos fabricantes, tanto de hardware como de software (sin depender exclusivamente de ninguno), lo cual reduce los costos de manera significativa y flexibiliza la implantación y actualización de soluciones, al igual que la escalabilidad de la solución.  Facilita la integración entre distintas plataformas, por ejemplo, sin necesidad de que todos los clientes dispongan del mismo sistema operativo.  El mantenimiento es más veloz y también lo es el desarrollo de aplicaciones, ya que se pueden utilizar las herramientas existentes; por ejemplo, los servidores de SQL o herramientas de niveles inferiores (sockets o el RPC).  La estructura modular y no dependiente de fabricantes permite la integración de las nuevas tecnologías y el crecimiento de la infraestructura, contribuyendo, de esta manera, a la escalabilidad de las soluciones brindadas.  Contribuye, además, a una computación distribuida, brindando la posibilidad de integrar la información relevante de diferentes puntos locales a escala global.

4

Algunas desventajas Entre las principales desventajas de la arquitectura cliente – servidor podemos nombrar las siguientes:  El mantenimiento de los sistemas es, en cierto sentido, más complicado, ya que representa la interacción de diferentes partes de hardware y de software, distribuidas por distintos fabricantes, lo cual puede llegar a dificultar el diagnóstico de problemas y la capacitación del personal a cargo.  Es relevante que los clientes y los servidores empleen el mismo mecanismo (sockets o RPC). Esto significa que se debe contar con mecanismos generales presentes en distintas plataformas. Probablemente, el mayor desafío sea la sincronización entre sistemas a nivel de configuración inicial.  La seguridad entre las comunicaciones cliente – servidor es un punto a considerar, ya que, si bien no se puede nombrar como una desventaja en sí misma, sí representa un ítem a resolver y garantizar que, quizás, en arquitecturas centralizadas se maneja de manera más sencilla.  El nivel de performance es otro aspecto que se debe tener en cuenta en el esquema cliente - servidor. La congestión en la red o la dificultad en el tráfico de datos, por citar algunos ejemplos, pueden representarnos grandes problemas en este tipo de arquitectura.  Por último, lograr la consistencia en los datos entre diferentes servidores de base de datos también es una tarea que exige un esfuerzo extra a la hora de la configuración inicial y el mantenimiento periódico.

5

Referencias Gauchat, J. D. (2013). El gran libro de HTML5 CSS3 y Javascript. Barcelona: Marcombo. Vara, M. J. M., López, S. M., & Verde, M. J. (2014). Desarrollo web en entorno servidor (pp. 13-20). Madrid, ES: RA-MA Editorial. Renaud, P. E. (1993). Introduction to Client/Server Systems: A Practical Guide for Systems Professionals. New York, United States:John Wiley & Sons.

6...


Similar Free PDFs