Documente Academic
Documente Profesional
Documente Cultură
William Fernando Orrego Lopera Francisco Javier Sierra Tabares Carlos Andrs Ciro Ciro Docente: Liliana Vera Gomez CESDE S.A 2014
Los distintos aspectos que caracterizan a una aplicacin (proceso, almacenamiento, control y operaciones de entrada y salida de datos) en el sentido ms amplio, estn situados en ms de un computador, los cuales se encuentran interconectados mediante una red de comunicaciones.
Se establece una relacin entre procesos distintos, los cuales pueden ser ejecutados en la misma mquina o en mquinas diferentes distribuidas a lo largo de la red. Existe una clara distincin de funciones basada en el concepto de "servicio", que se establece entre clientes y servidores. La relacin establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a recursos compartidos. Los clientes corresponden a procesos activos en cuanto a que son stos los que hacen peticiones de servicios a los servidores. Estos ltimos tienen un carcter pasivo ya que esperan las peticiones de los clientes.
No existe otra relacin entre clientes y servidores que no sea la que se establece a travs del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la peticin y entrega de solicitudes de servicio. El ambiente es heterogneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas.
El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite agregar ms estaciones de trabajo activas sin afectar significativamente el rendimiento. La escalabilidad vertical permite mejorar las caractersticas del servidor o agregar mltiples servidores.
TIPOS DE CLIENTES
Existen varios tipos de clientes, dependiendo de la cantidad de tareas que realice el cliente en comparacin con el servidor.
Cliente pesado.
Un cliente pesado tiene capacidad de almacenar los datos y procesarlos, pero sigue necesitando las capacidades del servidor para una parte importante de sus funciones. Un cliente de correo electrnico suele ser un cliente pesado. Puede almacenar los mensajes de correo electrnico del usuario, trabajar con ellos y redactar nuevos mensajes, pero sigue necesitando una conexin al servidor para enviar y recibir los mensajes.
Cliente Hibrido
Un cliente hbrido no tiene almacenados los datos con los que trabaja, pero s es capaz de procesar datos que le enva el servidor. Muchos programas de colaboracin almacenan remotamente los datos para que todos los usuarios trabajen con la misma informacin, y utilizan clientes hbridos para acceder a esa informacin.
Cliente Liviano.
Un cliente liviano no tiene capacidad de procesamiento y su nica funcin es recoger los datos del usuario, drselos al servidor, y mostrar su respuesta. Los primeros navegadores web eran clientes livianos, simplemente mostraban las pginas web que solicitaba el usuario. Actualmente, el uso de lenguajes de script, programas Java y otras funciones de DHTML dan una capacidad de procesamiento a los navegadores, por lo que se consideran clientes Hbridos.
El esquema Cliente/Servidor facilita la integracin entre sistemas diferentes y comparte informacin permitiendo, por ejemplo que las mquinas ya existentes puedan ser utilizadas pero utilizando interfaces mas amigables al usuario. De esta manera, podemos integrar PCs con sistemas medianos y grandes, sin necesidad de que todos tengan que utilizar el mismo sistema operacional. Al favorecer el uso de interfaces grficas interactivas, los sistemas Construidos bajo este esquema tienen mayor interaccin y ms intuitiva con el usuario. En el uso de interfaces grficas para el usuario, el esquema Cliente/Servidor presenta la ventaja, con respecto a uno centralizado, de que no es siempre necesario transmitir informacin grfica por la red pues esta puede residir en el cliente, lo cual permite aprovechar mejor el ancho de banda de la red.
Una ventaja adicional del uso del esquema Cliente/Servidor es que es ms rpido el mantenimiento y el desarrollo de aplicaciones, pues se pueden emplear las herramientas existentes (por ejemplo los servidores de SQL o las herramientas de ms bajo nivel como los sockets o el RPC ). La estructura inherentemente modular facilita adems la integracin de nuevas tecnologas y el crecimiento de la infraestructura computacional, favoreciendo as la escalabilidad de las soluciones. El esquema Cliente/Servidor contribuye adems, a proporcionar, a los diferentes departamentos de una organizacin, soluciones locales, pero permitiendo la integracin de la informacin relevante a nivel global.
Es importante que los clientes y los servidores utilicen el mismo mecanismo (por ejemplo sockets o RPC), lo cual implica que se deben tener mecanismos generales que existan en diferentes plataformas.
Adems, hay que tener estrategias para el manejo de errores y para mantener la consistencia de los datos. La seguridad de un esquema Cliente/Servidor es otra preocupacin importante. Por ejemplo, se deben hacer verificaciones en el cliente y en el servidor. El desempeo es otro de los aspectos que se deben tener en cuenta en el esquema Cliente/Servidor. Problemas de este estilo pueden presentarse por congestin en la red, dificultad de trfico de datos, etc.