El documento describe el modelo cliente-servidor, una arquitectura distribuida donde los clientes envían peticiones de servicio a los servidores. Explica que los clientes solicitan recursos mientras que los servidores manejan datos y funciones. También describe tres niveles de arquitectura cliente-servidor (mono capa, dos capas, tres capas) y discute las ventajas e inconvenientes de cada una. Finalmente, concluye que el modelo cliente-servidor permite aumentar el rendimiento y la compatibilidad entre plataformas de hardware y software diferentes.
1. “UNIVERSIDAD REGIONAL AUTONOMA DE LOS ANDES”
UNIANDES
Tema:
Modelo Cliente Servidor
Nombre:
Wilmer Javier Yacelga Moya
Docente:
Ing. Bernabé Ortega
2015
2. “MODELO CLIENTE SERVIDOR”
Podemos definir al término Cliente Servidor como una arquitectura distribuida que permite a los usuarios obtener
acceso a la información de forma transparente, dentro este modelo, el cliente envía un mensaje solicitando un
determinado servicio al servidor lo que comúnmente se conoce como hacer una petición, y este envía la respuesta. El
modelo Cliente Servidor permite distribuir físicamente los procesos y los datos de forma eficiente, reduciendo el
tráfico de red, Es así donde el cliente es el medio que permite al usuario solicitar los requerimientos y pasarlos
directamente al servidor; el mismo maneja todas las funciones relacionadas con la manipulación y despliegue de los
datos, accediendo también a los servicios distribuidos en cualquier parte de una red, al contrario del cliente el
servidor está encargado de atender a los clientes que hacen las peticiones de algún recurso administrado atreves de él,
el mismo se encarga de manejar las funciones directamente asociadas con la gran mayoría de las reglas del negocio y
datos de información. Las características de la arquitectura Cliente Servidor están vinculadas con las funciones
específicas del cliente y del servidor, las mimas que tienen diferentes requerimientos en cuanto a recursos de
cómputo, la relación también es una de ellas ya que está establecida, pudiendo ser esta de varios a uno, en la que un
servidor puede dar servicio a muchos clientes. Así mismo los clientes corresponden a procesos activos, ya que estos
son los que hacen peticiones, estos poseen una característica pasiva, ya que esperan peticiones de los clientes; aquí no
existe otra relación directa entre clientes y servidores que no sea la que se establece a través del intercambio de
mensajes entre ambos, pues el ambiente es heterogéneo. Su escalabilidad tiene proyecciones y adaptaciones de forma
horizontal y vertical, haciéndolo adaptable a cualquier sistema de la misma especie.
Dentro de las arquitecturas Cliente Servidor, podremos encontrar 3 niveles, el primero la Arquitectura Mono capa o
de primer nivel, esta se produce cuando la propia aplicación, como los datos que manejan se encuentra en la misma
máquina y son administradas por el mismo ordenador. Continuando nos encontramos con la Arquitectura de Dos
capas o de segundo nivel, esta hace referencia a una aplicación en donde el cliente mantiene la lógica de presentación,
de negocio y de acceso de datos, y el servidor gestiona únicamente los datos, aquí por lo general encontramos
aplicaciones cerradas que sujetan la lógica de los procesos del cliente al gestor de la base de datos en uso. Dentro del
segundo nivel tenemos cierto tipo de ventajas como la disminución de peticiones en el servidor, transfiriendo la gran
parte del proceso al cliente y el de salvaguardar una conexión estática y concisa con la base de datos; pero del mismo
modo como existen ventajas también encontramos desventajas resaltantes una de ellas es su dependencia mediante el
uso de un tipo de controlador denominado JDBC que se utiliza para acceder a la base de datos, dependencia que con
lleva un riesgo considerable en cuanto a la seguridad, ya que los programas dentro de lenguaje Java pueden ser
descompilados muy fácilmente dentro de este, provocando el acceso inmediato a nuestras bases de datos. Avanzado
un poco más allá nos encontramos con la Arquitectura de tres capas o de tercer nivel, dentro de esta se reparten las
funciones de la aplicación en maquinas distintas. Las virtudes que respaldan notablemente a esta arquitectura de tres
capas se reflejan grandemente en la portabilidad de la aplicación, escalabilidad, desarrollo de código, sin presenta
ningún tipo de inconvenientes, referente al tipo de controlador JDBC utilizado para acceder a la base de datos,
dejando así, a un lado la necesidad de tener que instalar funciones adicionales en su máquina para poder acceder a la
base de datos. Actualmente se hallan plataformas de tipo hardware que son cada vez más económicas, reduciendo
costos considerablemente, favoreciendo económicamente su reducción de costos, y logrando así mismo la
implantación y actualización de soluciones, permitiéndonos combinar sistemas diferentes y de la mismo manera
compartir información; pudiendo manejar computadores con sistemas medianos y grandes, sin necesidad de que
todos tengan que utilizar el mismo sistema operativo. Favorece gratificantemente el uso de interfaces gráficas al uso y
disposición al que el usuario este acostumbrado; su estructura es un medio por el cual se facilita la integración de
nuevas tecnologías y el crecimiento de la infraestructura computacional, dando a conocer así el desarrollo de su
escalabilidad a diversas soluciones antes no comprendidas. Pero también no todo puede ser relevada mente perfecto
ya que el mantenimiento de los sistemas se complica mucho, pues implican directamente la interacción de diferentes
partes del hardware y del software; del mismo modo no contamos con muchas herramientas para la administración y
ajuste del desempeño de los sistemas en desarrollo. Aquí se demanda la importancia de que los clientes y los
servidores utilicen el mismo mecanismo, que implica el poseer los mecanismos generales que existan en diferentes
plataformas, manteniendo planes de estrategias para el manejo de errores y para mantener la consistencia de los datos,
todo esto puede afectar el desempeño total de su desarrollo y aplicación, ya que así llegara a presentar dificultades
dentro de la congestión en la red, dificultad de tráfico de datos, etc.
Al finalizar este investigación he podido llegar a la conclusión de que el modelo Cliente Servidor es un modelo
realmente manejable y más aun adaptable al servicio, al que se deseara uno implementar, lo que nos permite
aumentar el rendimiento, la compilación de variadas plataformas, bases de datos, redes y sistemas operativos que
3. pueden ser de diferentes intermediarios, en arquitecturas propietarias y no propietarias, funcionando así y sin ningún
tipo deproblema todos al mismo tiempo.