Entorno cliente/servidor Introducción 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 conexión, etc. Los servicios son utilizados por programas denominados programas clientes que se ejecutan en equipos clientes. Por eso se utiliza el término "cliente" (cliente FTP, cliente de correo electrónico, etc.) cuando un programa que se ha diseñado 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 electrónico se trata de correo electrónico). 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 utilizaría 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. administración al nivel del servidor: ya que los clientes no juegan un papel importante en este modelo, requieren menos administración. 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 también tiene las siguientes desventajas: costo elevado: debido a la complejidad técnica del servidor. un eslabón débil: el servidor es el único eslabón débil 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 envía una solicitud al servidor mediante su dirección 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 dirección IP del equipo cliente y su puerto. Redes - Sistema central Arquitectura del sistema central Las primeras redes informáticas 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 están 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 "informática pesada". Además, en un entorno de sistema central, los terminales de red sólo pueden ver al servidor central. Redes - Arquitectura Cliente/Servidor en 3 niveles Introducción 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 aplicación para proporcionar parte del servicio. Introducción 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 presentación 2. El servidor de aplicaciones (también 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 término arquitectura en 3 niveles también denota las siguientes arquitecturas: Aplicación compartida entre un cliente, un software intermedio y un servidor empresarial Aplicación compartida entre un cliente, un servidor de aplicaciones y un servidor debase de datos empresarial. Comparación 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 múltiples 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 Redes - Cliente pesado Cliente pesado El término "cliente pesado", a diferencia de un cliente liviano, se utiliza para una aplicación gráfica 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 gráfica sofisticada. Sin embargo, esto conlleva un desarrollo adicional y suele ser una mezcla de la lógica de presentación (interfaz gráfica) con la lógica de la aplicación (potencia de procesamiento). Este tipo de aplicación suele instalarse en el sistema operativo del usuario y se debe instalar una nueva versión cuando se realiza una actualización. Para solucionar esto, los programadores de aplicaciones pesadas, por lo general, incorporan una funcionalidad que se ejecuta al iniciar la aplicación y verifica un servidor remoto para saber si está disponible alguna versión más nueva. De ser así, le indica al usuario que descargue e instale la actualización. Redes - Cliente liviano Cliente liviano El término "cliente liviano" (a veces llamado "cliente delgado"), en comparación con un cliente pesado, se refiere a una aplicación a la que se puede acceder por una interfaz Web (en HTML), que se puede visualizar con un navegador Web en donde toda la lógica comercial se realiza en el lado del servidor. Por eso, al navegador a veces se le denomina cliente universal. El origen del término se debe a la ausencia de un lenguaje HTML rico, que sólo permite interfaces con relativamente poca interactividad; esta problemática no se encuentra en el lenguaje JavaScript. El hecho de que todo el procesamiento fundamental ocurra en el lado del servidor, con la interfaz gráfica siendo enviada al navegador a cada solicitud, significa que es muy flexible cuando realiza las tareas de actualización. Sin embargo, la aplicación debe poder leer las diferencias a la hora de interpretar el código HTML por los diferentes navegadores. También la ergonomía de la aplicación es limitada. Redes - Cliente enriquecido Cliente enriquecido Un "cliente enriquecido" es un término medio entre el cliente liviano y el cliente pesado. El objetivo del cliente enriquecido consiste en proporcionar una interfaz gráfica, escrita con una sintaxis basada en XML, que proporciona funcionalidades similares a las del cliente pesado (arrastrar y soltar, pestañas, ventanas múltiples, menús desplegables). Los clientes enriquecidos también pueden realizar un procesamiento fundamental en el lado del servidor. Seguidamente, los datos se envían con un formato de intercambio estándar, al utilizar la sintaxis de XML (SOAP, XML-RPC), que después el cliente enriquecido interpreta. Los estándares principales que definen una aplicación rica son los siguientes: XAML (Lenguaje Extensible de Marcado para Aplicaciones), se pronuncia "zammel", es un estándar XML desarrollado por Microsoft y se utiliza principalmente en aplicaciones framework.NET XUL, se pronuncia "zul", es un estándar XML desarrollado por Mozilla que se utiliza, por ejemplo, en el cliente de correo electrónico Mozilla Thunderbird o en el navegador Mozilla Firefox. Flex es un estándar XML desarrollado por Macromedia. Red igual a igual Introducción 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 podría compartirla para que los demás equipos puedan tener acceso a ella a través 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 administración Falta de seguridad Ningún eslabón en la red es fiable Por lo tanto, las redes igual a igual sólo son útiles para una pequeña cantidad de equipos (en general cerca de 10) y sólo 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 Instalación 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 razón, 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 configuración de una red como ésta incluye ciertos procedimientos estándar: Los equipos están 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 geográfica La seguridad no es un asunto crítico No hay planes de grandes expansiones para la compañía ni para la red en un futuro cercano Administración de la red igual a igual La red igual a igual satisface las necesidades de una compañía pequeña, 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 "Administración": 1. Gestión del usuario y de la seguridad 2. Recursos disponibles 3. Mantenimiento de aplicaciones y datos 4. Instalación y actualización 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 política de seguridad mínima conlleva la protección de un recurso con una contraseña. 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 difícil hacer un control de manera centralizada. Esto también representa un problema de cara a la seguridad de la red global, ya que algunos usuarios no protegen de ninguna manera sus recursos. Entorno cliente/servidor Introducción 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 conexión, etc. Los servicios son utilizados por programas denominados programas clientes que se ejecutan en equipos clientes. Por eso se utiliza el término "cliente" (cliente FTP, cliente de correo electrónico, etc.) cuando un programa que se ha diseñado 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 electrónico se trata de correo electrónico). 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 utilizaría 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. administración al nivel del servidor: ya que los clientes no juegan un papel importante en este modelo, requieren menos administración. 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 también tiene las siguientes desventajas: costo elevado: debido a la complejidad técnica del servidor. un eslabón débil: el servidor es el único eslabón débil 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 envía una solicitud al servidor mediante su dirección 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 dirección IP del equipo cliente y su puerto. Redes - Sistema central Arquitectura del sistema central Las primeras redes informáticas 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 están 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 "informática pesada". Además, en un entorno de sistema central, los terminales de red sólo pueden ver al servidor central.