Variaciones en El Modelo Cliente - Servidor
January 25, 2024 | Author: Anonymous | Category: N/A
Short Description
Download Variaciones en El Modelo Cliente - Servidor...
Description
Variaciones en el modelo Cliente Servidor • Podemos distinguir distintas variaciones, dependiendo de la considearación de los siguientes factores: ▫ El uso de código móvil y agentes móviles ▫ Las necesidades de los usuarios de computadoras de costo bajo y con recursos hardware limitados, que son muy sencillos de manejar ▫ El requisito de añadir o eliminar de una forma conveniente dispositivos móviles.
Código móvil • Los applets son el ejemplo más conocido. • Un usuario que ejecuta un navegador y que selecciona un enlace con un applet, cuyo código está almacenado en un servidro Webm descargá el código en el navegador y se ejecutará allí. • Una ventaja de ejecutar el código descargado localmente es que puede proporcionar una buena respuesta interactiva puesto que no sufre ni de los retardo ni de la variabilidad del ancho de banda asociados con la comunicación en red.
Código móvil • Acceder a los servicios significa ejecutar código que pueda invocar sus operaciones. Algunos servicios estan tan estandarizados que podemos acceder a ellos mediante una aplicación existente. • El código movil es una amenaza potencial de seguridad para los recursos locales en el computador destino. Es así que los navegadores proporcionan un acceso restringido a los recursos locales.
Agentes móviles • Un agente móvil es un programa en ejecución (lo que incluye tanto código como datos) que traslada de un computador a otro en la red realizando una tarea para alguien; por ejemplo, recolectando información y retornando eventualmente con los resultados. • Se pueden utilizar agentes móviles para instalar y mantener software en los computadores de una organización.
Agentes móviles • Una idea similar es el llamado programa gusano (worm) que se diseño para utilizar los computadores desocupados con el fin de realizar cálculos intensivos. • Los agentes móviles son una amenaza potencial de seguridad para los recursos de los computadores que visitan.
Computadores de red • Las aplicaciones se ejecutan en un computador de oficina local de usuario. El sistema operativo y el software de aplicación para computadores de oficina necesitan normalente que gran parte del código y datos activos estén ubicados en un disco local. • Pero la gestión de los archivos de aplicación y el mantenimiento de software de base local precisa un esfuerzo técnico considerable y de una naturaleza que la mayoria de los usuarios no estan calificados para proporcionarlo.
Computadores de red • El computador de red es una respuesta a este problema. Descarga su sistema operativo y cualquier aplicación software que necesite el usuario desde un servidor de archivos remoto. • Las aplicaciones se lanzan localmente pero los archivos se gestionan desde un servidor de archivos remoto. • Si se incluyera un disco, alojaría un software mínimo. El resto del disco se utilizaría como almacenamiento intermedio (caché) manteniendo copias de los archivos de programas y datos que hayan sido cargados recientemente desde los servidores.
Clientes ligeros • El término cliente ligero se refiere a una capa de aplicación que soporta una interfaz de usuario basada en ventanas sobre un computador local del usuario mientras se ejecutan programas de aplicación en un computador remoto. • Esta arquitectura tiene los mismos costes bajos de gestión y hardware que en el esquema de computador de red, pero en lugar de descargar el código de las aplicaciones en el computador del usuario, se ejecutan en un servidor de cómputo, un potente computador que tiene capacidad para ejecutar gran número de aplicaciones simultáneamente.
Clientes ligeros
Dispositivos móviles y enlace espontáneo a red • El mundo está cada vez más poblado de dispositivos de cómputo pequeños y portátiles, incluyendo computadores portátiles, dispositivos de mano como asistentes personales digitales (PDA), teléfonos móviles y cámaras digitales, computadores que se pueden llevar encima como relojes y dispositivos insertados en aparatos de hogar como en lavadoras. • Muchos de estos dispositivos permiten su conexión a una red sin cable, de rango metropolitano o más grandes (GSM, CDPD), cientos de metros Wavelan), o unos pocos metros (Blue Tooth y infrarrojos).
Dispositivos móviles y enlace espontáneo a red
Dispositivos móviles y enlace espontáneo a red • El enlace a red espontáneo conlleva algunas características de diseño significativas. Primero, está el reto de dar soporte a una conexión e integración adecuadas.
Para usuarios móviles se presentan otras cuestiones. • Conectividad limitada: los usuarios no siempre están conectados cuando se desplazan. ▫ El tema es aquí cómo puede el sistema dar soporte a un usuario para que siga trabajando mientras está desconectado.
• Seguridad y privacidad: en un escenario como el del huésped de un hotel se presentan muchas cuestiones de seguridad y privacidad personal. ▫ El hotel y sus huéspedes son vulnerables a los ataques de seguridad de los empleados y de otros huéspedes del hotel.
Servicios de detección • El enlace espontáneo a red necesita procesos clientes ejecutándose en los dispositivos portátiles, y otros aparatos, para acceder a los servicios de las redes a las que están conectados. • Pero en un mundo de dispositivos que realizan diversas funciones, ¿cómo pueden conectarse los clientes a los servicios que necesitan para completar sus tareas habituales?
Un servicio de descubrimiento ofrece dos interfaces: • Un servicio de admisión que acepta solicitudes de ingreso de los servidores y almacena sus detalles en la base de datos del servicio de descubrimiento. • Un servicio de búsqueda que acepta consultas relacionadas con los servicios disponibles y busca en su base de datos aquellos servicios registrados que coinciden con las consultas. El resultado obtenido ofrecería detalles suficientes para permitir a los usuarios seleccionar entre distintos servicios semejantes, basándose en sus atributos, y hacer una conexión a uno o más de ellos.
Interfaces y objetos • Una definición de interfaz de un proceso es la especificación del conjunto de funciones que se pueden invocar sobre él. Sonará familiar a aquellos que hayan trabajado con lenguajes como Modula, C++ o Java. • En la forma básica de la arquitectura clienteservidor, se considera cada proceso servidor como una entidad aislada con una interfaz prescrita que define las funciones que ofrece.
Interfaces y objetos • En un proceso de servicio o entre iguales es posible encapsular multitud de objetos. Las referencias a estos objetos se pasan a otros procesos de forma que se pueda acceder a sus métodos mediante invocaciones remotas. • Esto es adoptado por CORBA, y Java con su mecanismo de invocación remota de métodos (RMI).
Requisitos de diseño para arquitecturas distribuidas • Hoy, el compartir recursos se da por descontado. • Pero compartir datos en gran escala de forma efectiva continúa siendo un reto mayor; con datos que cambian, aparece la posibilidad de actualizaciones concurrentes y conflictivas. • El control de las actualizaciones concurrentes en datos compartidos es un aspecto a tomar en cuenta.
Requisitos de diseño para arquitecturas distribuidas • Temas de prestaciones. Los retos que surgen de la distribución de recursos aumentan la necesidad de gestión de las actualizaciones concurrentes. Los temas de prestaciones que se presentan por las limitadas capacidades del proceso y comunicación de los computadores y las redes se consideran bajo los siguientes aspectos: ▫ ▫ ▫ ▫ ▫ ▫ ▫ ▫
Capacidad de respuesta Productividad Balance de cargas computacionales Calidad de servicio Uso de caché y replicación Aspectos de fiabilidad Tolerancia frente a fallos Seguridad
Capacidad de respuesta • Los usuarios de aplicaciones interactivas necesitan rapidez y consistencia en las interfaces. • Si la transferencia de datos entre los procesos y la conmutación del control es relativamente lenta. Para obtener buenos tiempos de respuesta, los sistemas deben estar compuestos de relativamente pocas capas de software y la cantidad de datos transferidos entre el cliente y el servidor debe ser pequeña.
Productividad • Una medida tradicional de prestaciones para computadores es la productividad, la rapidez a la que se realiza el trabajo computacional. • La capacidad de un sistema distribuido para realizar el trabajo para todos sus usuarios es importante. Y depende de las velocidades de proceso de los clientes y los servidores y de las tasas de transferencia de datos.
Balance de cargas computacionales • Uno de los propósitos de los sistemas distribuidos es permitir que las aplicaciones y los procesos de servicio evolucionen concurrentemente sin competir por los mismos recursos y explotando los recursos computacionales disponibles (procesador, memoria y capacidades de red). • Por ejemplo, la capacidad para ejecutar applets. • Un ejemplo más significativo está en el uso de varios computadores para alojar un único servicio.
Calidad de servicio • Una vez que se proporciona a los usuarios la funcionalidad que precisan de un servicio, como el servicio de archivos en un sistema distribuido, nos podemos plantear preguntas sobre la calidad del servicio proporcionado. • Las principales propiedades son: ▫ Fiabilidad seguridad ▫ La facilidad de adaptación ▫ Disponibilidad
View more...
Comments