Asignatura: Software de Servidores de Redes Docente: Ing. Carlos Cruzado Puente de la Vega
Tema: Redes - Arquitectura Cliente/Servidor en 3 niveles
Introduccin a la arquitectura de un sistema cliente/servidor Diversas aplicaciones se ejecutan en un entorno cliente/servidor. Esto significa que los equipos clientes (equipos que forman parte de una red) contactan a un servidor, un equipo generalmente muy potente en materia de capacidad de entrada/salida, que proporciona servicios a los equipos clientes. Estos servicios son programas que proporcionan datos como la hora, archivos, una conexin, etc. Los servicios son utilizados por programas denominados programas clientes que se ejecutan en equipos clientes. Por eso se utiliza el trmino "cliente" (cliente FTP, cliente de correo electrnico, etc.) cuando un programa que se ha diseado para ejecutarse en un equipo cliente, capaz de procesar los datos recibidos de un servidor (en el caso del cliente FTP se trata de archivos, mientras que para el cliente de correo electrnico se trata de correo electrnico). Ventajas de la arquitectura cliente/servidor El modelo cliente/servidor se recomienda, en particular, para redes que requieran un alto grado de fiabilidad. Las principales ventajas son: recursos centralizados: debido a que el servidor es el centro de la red, puede administrar los recursos que son comunes a todos los usuarios, por ejemplo: una base de datos centralizada se utilizara para evitar problemas provocados por datos contradictorios y redundantes. seguridad mejorada: ya que la cantidad de puntos de entrada que permite el acceso a los datos no es importante. administracin al nivel del servidor: ya que los clientes no juegan un papel importante en este modelo, requieren menos administracin. red escalable: gracias a esta arquitectura, es posible quitar o agregar clientes sin afectar el funcionamiento de la red y sin la necesidad de realizar mayores modificaciones. Desventajas del modelo cliente/servidor La arquitectura cliente/servidor tambin tiene las siguientes desventajas: costo elevado: debido a la complejidad tcnica del servidor. un eslabn dbil: el servidor es el nico eslabn dbil en la red de cliente/servidor, debido a que toda la red est construida en torno a l. Afortunadamente, el servidor es altamente tolerante a los fallos (principalmente gracias al sistema RAID). Funcionamiento del sistema cliente/servidor Un sistema cliente/servidor funciona tal como se detalla en el siguiente diagrama:
El cliente enva una solicitud al servidor mediante su direccin IP y el puerto, que est reservado para un servicio en particular que se ejecuta en el servidor. El servidor recibe la solicitud y responde con la direccin IP del equipo cliente y su puerto.
Arquitectura del sistema central Las primeras redes informticas se desarrollaron alrededor de un equipo central llamado "sistema central". Por este motivo el sistema central es un ordenador central de alto rendimiento que controla las sesiones del usuario en los diferentes terminales que estn conectados a l. Gracias a esta arquitectura puede consolidarse, es decir, administrar de manera centralizada todas las aplicaciones comerciales de una empresa. Sin embargo, en el modelo de sistema central, el rendimiento del sistema depende ntegramente de la capacidad de procesamiento del ordenador central, por eso a veces se le denomina "informtica pesada". Adems, en un entorno de sistema central, los terminales de red slo pueden ver al servidor central.
Introduccin a la 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 aplicacin para proporcionar parte del servicio.
Introduccin a la arquitectura en 3 niveles En la arquitectura en 3 niveles, existe un nivel intermediario. Esto significa que la arquitectura generalmente est compartida por: 1. Un cliente, es decir, el equipo que solicita los recursos, equipado con una interfaz de usuario (generalmente un navegador Web) para la presentacin 2. El servidor de aplicaciones (tambin denominado software intermedio), cuya tarea es proporcionar los recursos solicitados, pero que requiere de otro servidor para hacerlo 3. El servidor de datos, que proporciona al servidor de aplicaciones los datos que requiere
El uso masivo del trmino arquitectura en 3 niveles tambin denota las siguientes arquitecturas: Aplicacin compartida entre un cliente, un software intermedio y un servidor empresarial Aplicacin compartida entre un cliente, un servidor de aplicaciones y un servidor de base de datos empresarial. Comparacin 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 Arquitectura de niveles mltiples En la arquitectura en 3 niveles, cada servidor (nivel 2 y 3) realiza una tarea especializada (un servicio). Por lo tanto, un servidor puede utilizar los servicios de otros servidores para proporcionar su propio servicio. Por consiguiente, la arquitectura en 3 niveles es potencialmente una arquitectura en N-niveles
Cliente pesado El trmino "cliente pesado", a diferencia de un cliente liviano, se utiliza para una aplicacin grfica de cliente que se ejecuta en el sistema operativo del usuario. Un cliente pesado suele tener una mayor capacidad de procesamiento y es posible que tenga una interfaz grfica sofisticada. Sin embargo, esto conlleva un desarrollo adicional y suele ser una mezcla de la lgica de presentacin (interfaz grfica) con la lgica de la aplicacin (potencia de procesamiento). Este tipo de aplicacin suele instalarse en el sistema operativo del usuario y se debe instalar una nueva versin cuando se realiza una actualizacin. Para solucionar esto, los programadores de aplicaciones pesadas, por lo general, incorporan una funcionalidad que se ejecuta al iniciar la aplicacin y verifica un servidor remoto para saber si est disponible alguna versin ms nueva. De ser as, le indica al usuario que descargue e instale la actualizacin.
Cliente liviano El trmino "cliente liviano" (a veces llamado "cliente delgado"), en comparacin con un cliente pesado, se refiere a una aplicacin a la que se puede acceder por una interfaz Web (en HTML), que se puede visualizar con un navegador Web en donde toda la lgica comercial se realiza en el lado del servidor. Por eso, al navegador a veces se le denomina cliente universal. El origen del trmino se debe a la ausencia de un lenguaje HTML rico, que slo permite interfaces con relativamente poca interactividad; esta problemtica no se encuentra en el lenguaje JavaScript. El hecho de que todo el procesamiento fundamental ocurra en el lado del servidor, con la interfaz grfica siendo enviada al navegador a cada solicitud, significa que es muy flexible cuando realiza las tareas de actualizacin. Sin embargo, la aplicacin debe poder leer las diferencias a la hora de interpretar el cdigo HTML por los diferentes navegadores. Tambin la ergonoma de la aplicacin es limitada.
Cliente enriquecido Un "cliente enriquecido" es un trmino medio entre el cliente liviano y el cliente pesado. El objetivo del cliente enriquecido consiste en proporcionar una interfaz grfica, escrita con una sintaxis basada en XML, que proporciona funcionalidades similares a las del cliente pesado (arrastrar y soltar, pestaas, ventanas mltiples, mens desplegables). Los clientes enriquecidos tambin pueden realizar un procesamiento fundamental en el lado del servidor. Seguidamente, los datos se envan con un formato de intercambio estndar, al utilizar la sintaxis de XML (SOAP, XML-RPC), que despus el cliente enriquecido interpreta. Los estndares principales que definen una aplicacin rica son los siguientes: XAML (Lenguaje Extensible de Marcado para Aplicaciones), se pronuncia "zammel", es un estndar XML desarrollado por Microsoft y se utiliza principalmente en aplicaciones framework.NET XUL, se pronuncia "zul", es un estndar XML desarrollado por Mozilla que se utiliza, por ejemplo, en el cliente de correo electrnico Mozilla Thunderbird o en el navegador Mozilla Firefox. Flex es un estndar XML desarrollado por Macromedia. Introduccin a la arquitectura igual a igual A diferencia de las redes cliente/servidor, en la arquitectura igual a igual no hay un servidor exclusivo. Debido a esto, cada equipo en dicha red hace las veces de servidor y de cliente al mismo tiempo. Esto significa que cada equipo en la red puede compartir libremente sus propios recursos. Un equipo que est conectado a una impresora incluso podra compartirla para que los dems equipos puedan tener acceso a ella a travs de la red. Desventajas de la arquitectura igual a igual Las redes igual a igual tienen diversas desventajas: El sistema no est centralizado y esto dificulta la administracin Falta de seguridad Ningn eslabn en la red es fiable Por lo tanto, las redes igual a igual slo son tiles para una pequea cantidad de equipos (en general cerca de 10) y slo son adecuadas para aplicaciones que no requieran un nivel alto de seguridad (no se aconseja para redes de negocios que posean datos confidenciales). Ventajas de la arquitectura igual a igual Sin embargo, la arquitectura punto a punto tiene varias ventajas: Costos reducidos (los costos de dichas redes son de hardware, cableado y mantenimiento) Simplicidad claramente demostrada Instalacin de una red igual a igual Las redes igual a igual no requieren los mismos niveles de rendimiento y seguridad que las redes de servidores exclusivos. Por esta razn, se puede utilizar Windows NT Workstation, Windows for Workgroups o Windows 95, ya que todos estos sistemas operativos cuentan con todas las funcionalidades requeridas para una red igual a igual. La configuracin de una red como sta incluye ciertos procedimientos estndar: Los equipos estn ubicados en la oficina del usuario Cada usuario es su propio administrador y configura su propia seguridad Se conecta con un cableado directo y simple Esta arquitectura, en general, es suficiente para entornos con las siguientes especificaciones: Menos de 10 usuarios Todos los usuarios se encuentran en la misma rea geogrfica La seguridad no es un asunto crtico No hay planes de grandes expansiones para la compaa ni para la red en un futuro cercano
Administracin de la red igual a igual La red igual a igual satisface las necesidades de una compaa pequea, aunque es posible que no sea adecuada en determinados entornos. Antes de elegir el tipo de red, se deben tener en cuenta los siguientes aspectos: A esto se le denomina "Administracin": 1. Gestin del usuario y de la seguridad 2. Recursos disponibles 3. Mantenimiento de aplicaciones y datos 4. Instalacin y actualizacin de las aplicaciones del usuario En una red puesto a puesto normal no hay administrador. Cada usuario administra su propio equipo. Sin embargo, todos los usuarios pueden compartir sus recursos como lo deseen (datos en carpetas compartidas, impresoras, adaptadores de fax, etc.). Nociones de seguridad La poltica de seguridad mnima conlleva la proteccin de un recurso con una contrasea. Los usuarios de redes puesto a puesto configuran su propia seguridad y como todos los archivos compartidos se pueden encontrar en todos los equipos; es difcil hacer un control de manera centralizada. Esto tambin representa un problema de cara a la seguridad de la red global, ya que algunos usuarios no protegen de ninguna manera sus recursos.