DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUIDOS
INTRODUCCION Existen redes de computadores en cualquier parte. Una de ellas es Internet, como lo son las muchas redes de las que se compone. Las redes de teléfonos móviles, las redes corporativas, las de las empresas, los campus, las casas, redes dentro del coche, todas, tanto separadas como combinadas, comparten las características esenciales que las hacen elementos importantes para su estudio bajo el título de sistemas distribuidos . Definimos un sistema distribuido como aquel en el que los componentes hardware o software, localizados en computadores unidos mediante red, comunican y coordinan c oordinan sus acciones sólo mediante paso de mensajes. Esta definición definición sencilla cubre el rango r ango completo de sistemas en los que se utilizan normalmente computadores en red. Los computadores que están conectados mediante una red pueden estar separados espacialmente por cualquier distancia. Pueden estar en continentes distintos, en el mismo edificio o en la misma habitación siempre estarán presentes las aplicaciones distribuidas
OBJETIVO econocer R econocer
la evolución, características y la naturaleza de las aplicaciones distribuidas de acuerdo a
su utilización mediante el conocimiento del funcionamiento de cada una ellas para su comprensión. Cualquier aplicación actual cuenta generalmente con tres partes diferenciadas:
y
Una interfaz de usuario: Elemento con el que interacciona el usuario de la aplicación, ejecutando acciones, introduciendo u obteniendo información.
y
Lógica ó Reglas de negocio:
Son
las que procesan la información para generar los
resultados que persiguen, siendo el elemento fundamental que diferencia unas aplicaciones de otras. y
Gestión
de datos: Se ocupa del almacenamiento y recuperación de la información.
APLICACIONES MONOLÍTICAS Son
aquellas en las que el software se estructura en grupos funcionales muy acoplados,
involucrando los aspectos referidos a la presentación, procesamiento y almacenamiento de la información. En este rubro están considerados las distintas aplicaciones para escritorio: sistemas operativos, ofimática, juegos mono usuario, etc. En una aplicación monolítica las tres partes forman un todo y se ejecutan en la misma maquina. y
Se
distribuye la interfaz entre el cliente y la plataforma servidora.
y
La aplicación y los datos están ambos en el servidor.
y
Similar
y
El PC se aprovecha solo para mejorar la interfaz gráfica del usuario.
a la arquitectura tradicional de un Host y Terminales.
Ejemplo: -R esulta caro y los costos de mantenimiento son también altos. -Una aplicación monolítica duplica en cada computadora todos sus elementos: interfaz de usuario, lógica o reglas de negocio y acceso a datos .
Ventajas y
Funcionan
y
Fácil
y
difícil de mantener,
y
más rápido.
de desarrollar.
poco escalable y quepresiso de cierta potencia de proceso
Desventajas y
R equieren
y
Son
y
Ocupan
y
R equieren
más y mejor HW en las estaciones de trabajo
infinitamente más lentos en el procesamiento de peticiones sencillas mayor ancho de banda, provocando congestionamiento en la R ed Local habilitar el acceso real a la carpeta de datos para todos los usuarios de la
aplicación y
Su
y
No
actualización es más costosa permiten el acceso en línea desde fuera de la
R ed
Local ó requieren de
implementaciones de soluciones de conectividad muy costosas
APLICACIONES TELEPROCESOS Los términos como teleinformática, tele cómputo y teleproceso tienen como fin describir un modelo de procesamiento de datos que es una combinación de telecomunicaciones y computación interactuando en la recepción, procesamiento y transmisión de datos e información. Telecomunicaciones hace referencia a transmisión de datos a distancia, usualmente por medios electrónicos, en oposición a una conexión directa. La computación y las comunicaciones son dos áreas tecnológicas que se han desarrollado paralelamente y cuando se aplican conjuntamente proporcionan una capacidad de acceso e intercambio de datos ilimitado. Un nuevo concepto se ha acuñado para denominar un campo que incluye ambos conceptos.
Se
llama Telemática (de
Telecomunicaciones e Informática) a la combinación de las funciones de la informática que es resolver problemas de cómputo con la transmisión de la información, con lo que se pretende conseguir el tratamiento integral de la información.
HISTORIA DEL TELEPROCESO En este subtema se describe como se ha ido desarrollando los medios de comunicaciones que han repercutido directamente en el desarrollo de la computación a distancia y la importancia actual que representa su aplicación, como ejemplo se describe el significado de ³Teletrabajo´.
Antecedentes del teleproceso El tipo de procesamiento de datos más común es el de acceso directo. Este tipo de proceso, generalmente incluye terminales en línea localizadas en o cerca de las fuentes mismas de datos. El problema es que muchas veces las fuentes de datos no están cerca del equipo de procesamiento de datos. La comunicación de datos se refiere a los medios y métodos por los cuales los datos se transfieren entre la fuente de datos y el centro de procesamiento. El avance de los medios de comunicación ha permito el progreso del teleproceso. Los siguientes medios se empezaron a utilizar para las comunicaciones de datos tan prono estuvieron lo suficientemente desarrollados. Telégrafo
1834
Códigos usando pulsos eléctricos
Teléfono
1876
Voz usando pulsos eléctricos
Satélites
1963
R epetidor
Fibras
Ópticas
1985
Códigos usando refracción de luz
R edes
locales
1980
ISD N
de radio en el cielo
1990
A partir de la invención del telégrafo en 1834 las compañías telegráficas monopolizaron el uso de impulsos eléctricos para transmitir datos entre estaciones distantes. Pero en 1876, Alexander Graham Bell demostró que podían utilizarse señales erétricas para transmitir mensajes de voz a lo largo de líneas telefónicas. De esta manera se estableció el segundo canal de comunicación de datos o de telecomunicaciones. En los 75 años posteriores a la introducción del teléfono, se estableció una compleja red de telecomunicaciones para enlazar localidades de todo el mundo. El primer enlace de dispositivos de cómputo y comunicaciones ocurrió en 1940 cuando el doctor George telegráficas para enviar datos desde el DartmouthCollege en
New
Stibitz
utilizó líneas
Hampshire hasta una
computadora de los laboratorios Bell en la ciudad de New York. Pero fue hasta el final de la década de 1950-1960 cuando la unión entre la computación y las comunicaciones comenzó en forma activa. Al principio se emplearon líneas telegráficas para conectar las terminales con
las
computadoras, pero rápidamente se pusieron en servicio las líneas telefónicas. Una pronta aplicación a gran escala fue el sistema de reservaciones de vuelos
Sabre
planeado y puesto en
funcionamiento a finales de los años 1950 y en los principios de los años 1960 por la American Airlines y la IBM. Cientos de terminales dispersas fueron conectadas a un procesador central. En 1963, AT&T lanzó el primer satélite de comunicaciones para transmisiones de teléfono, televisión, fax y datos. A finales de los años 70 y principios de los 80, el refinamiento de los cables de fibra óptica, y el desarrollo de fuentes de luz y detectores de alta calidad, abrieron la puerta al desarrollo de comunicaciones sobre fibra de alta calidad, alta capacidad y eficiencia. En la década de los 80 nacen las redes de area local (LA N) que es una red de comunicaciones de datos que está diseñada para proporcionar comunicaciones entre una gran variedad de equipo dentro de un area geográficamente pequeña. Aunque la mayoría de las LA N son de propiedad y de operación privada se requiere de facilidades de comunicaciones cuando se interconectan varias redes. Actualmente, la ISD N (IntegratedServices Digital Network, red digital de servicios integrados) es una red diseñada con la intención de proporcionar un apoyo de comunicaciones mundial de voz, datos, video y fax dentro de la misma red. ISD N es una red que propone interconectar un número limitado de usuarios independientes por medio de una red de comunicaciones común. La palabra teleproceso proviene de dos términos que son: Telecomunicaciones y proceso de datos, quedando finalmente el término Teleproceso.
Antecedentes del teleproceso Sistemas
de comunicación de datos son todos aquellos sistemas informáticos cuyos procesadores y
terminales no coinciden en situación geográfica y la Información fluye entre ellos a través de algún sistema de telecomunicación.
Como son las redes las cualesconsiste en dos o más computadoras conectadas entre sí para compartir recursos. La interconexión puede realizar mediante cables, líneas de teléfono, ondas electromagnéticas o rayos infrarrojos. El funcionamiento de una red requiere del software que posibilita el envío y recepción de datos, y la administración de la propia red.
Ventajas: y
Aprovechamiento de los recursos informáticos
y
Intercambio rápido de documentos
y
Seguridad Informática
y
Simplificación del mantenimiento
y
Correo electrónico interno
y
Trabajo en grupo
y
Acceso a Internet
Desventajas y
Costos de instalación
y
Administración
y
Vulnerabilidad
TIPOS terminales tontas En si las terminales tontas son maquinas que solo puede ser conectadas con un Mouse y el teclado ya que no contiene un chasis con todos los componentes dentro de elsi no que es uno solo para cada una de las maquina, es decir que la terminal tonta solo se maneja un solo Gabinete (servidor) el cual por medio de dispositivos de red se conectan otras maquinas y se controlan por medio de este servidor. En pocas palabras todo se trabaja en un mismo sistema de una misma computadora aunque halla 50 o 100 monitos no hay 50 o 100 gabinetes por cada computadora, si no que esos 50 o 100 monitores estan interconectado a un dispositivo el cual se conecta al unico gabinete que las controla y les indica que operaciones van a realizar cada uno o en que partes del sistema pueden acceder (es decir como privilegios)
En otros casos todas las computadoras conectadas a la red tienen capacidad de procesamiento ( procesamiento d istribuid o) aunque todas no tienen obligatoriamente que tener la misma capacidad ni cumplir las mismas funciones.
Según
la relación que hay entre sus miembros, las redes se subdividen en dos grandes grupos: las
redes con servidor y las redes entre iguales. En una "red basada en un servidor" (server-based), los recursos a compartir se centralizan en una máquina denominada "servidor "(server). Las demás máquinas, denominadas "estaciones de trabajo" (workstations), sólo pueden usar recursos propios o del server. A su vez, las redes basadas en servidor, aceptan dos subclases: con servidor "dedicado" o "no dedicado". En el segundo, la máquina que funciona como servidor, lo hace también como estación de trabajo.
En una "red entre iguales" o ³red igual-a-igual´ (peer-to-peer) cualquier estación puede ofrecer recursos para compartir. Las que no ofrecen recursos se llaman "clientes" (client) y las que lo hacen "anfitrión / cliente" (host/client).
Las ventajas y desventajas de un tipo de red frente al otro, son los derivados de la centralización de recursos. En general, las redes importantes tienden a ser basadas en servidores dedicados, ya que presentan las siguientes ventajas:
y
Un servidor dedicado tiene más capacidad de trabajo que una máquina que opera además como estación.
y
Más seguridad contra accesos no autorizados.
y
Mayor seguridad contra pérdidas accidentales de información.
y
Facilidad
y
La red continúa trabajando sin mayores dificultades aun cuando una máquina deja de
para hacer actualizaciones de programas y copias de respaldo.
hacerlo. y
Admite máquinas con diferentes sistemas operativos.
Las redes entre pares suelen presentar las siguientes ventajas: y
Sistema
y
Es mucho más fácil reconfigurar.
y
No
operativo de menor costo.
requiere de un ³administrador de la red´.
Existen redes que tienen más de un servidor, en algunos casos dedicados a una sola función (servidor de archivos, servidor de impresoras, etc).
SERVIDORES DE ARCHIVO En a mediados de los años ochenta las empresas llegaron a estar cada vez más interesadas en maneras de conectar a una población en crecimiento rápidamente de ordenadores personales. Novell propuso un acercamiento usando software para conectar cada sitio de trabajo con un servidor de archivo de la red que manejaría la red y tendría acceso a los recursos de la red. Al mismo tiempo corporación 3Com creaba Ethernet tarjetas del adaptador, conectividad constructiva del hardware necesitada para tal acercamiento. Novell
creció sobre la fuerza de su Netware el sistema operativo, usado para la porción del archivo,
y por el final de los '80 tenía una cuota de mercado del 50% de redes de área local. Ver el crecimiento potencial en esta arena IBM y Microsoft ambos introdujeron sus propias estrategias del servidor de archivo. Veinte años después de su pico,
Novell
y 3Com han desaparecido virtualmente del mercado del
servidor; hoy los servidores de disco (una
NAS
o un SA N) proveídos por uno de los vendedores
principales tales como EMC o NetApp se unen típicamente a un servidor de archivo que funciona los sistemas operativos del Microsoft Windows o de Linux. Grande centros de datos, millones de ese servicio de clientes (por ejemplo Google's), funcionamiento granjas del servidor en el equipo especializado con los sistemas operativos propietarios. El servidor de archivo es una computadora unida a una red de la cual tenga el propósito primario de proporcionar una localización para el almacenaje compartido ficheros informáticos (por ejemplo documentos, archivos de los sonidos, fotografías, películas, imágenes, bases de datos, etc.) que se puede alcanzar por los sitios de trabajo que se unen a red de ordenadores. El término servid or destaca el papel de la máquina en servidor de cliente esquema, donde clientes son los sitios de trabajo usando el almacenaje. Un servidor de archivo no está realizando generalmente ninguna cálculos, y no funciona ninguna programas a nombre de los clientes.
Se
diseña sobre todo para
permitir el almacenaje y la recuperación rápidos de los datos donde el cómputo pesado es proporcionado por los sitios de trabajo.
TIPOS DE SERVIDORES DE ARCHIVO
Un servidor de archivo puede ser dedicado o genérico. Un servidor dedicado se diseña generalmente específicamente para el uso como servidor de archivo, con los sitios de trabajo unidos para la lectura y los archivos y las bases de datos de la escritura. Un sitio de trabajo puede compartir archivos con otros sitios de trabajo en la red directamente sin embargo dando vuelta en su servicio del ³servidor´ y entonces creando una ³parte´ -- este proceso crea un servidor de archivo genérico que se esté utilizando sobre todo como sitio de trabajo. Los servidores de archivo se pueden también categorizar por el método de acceso: Los servidores de archivo del Internet son de acceso frecuente cerca File Transfer Protocol ( Ftp) o por el HTTP (pero sea diferente de servidores de la tela, eso proporciona a menudo el contenido dinámico de la
tela además de archivos estáticos). Los servidores en un LA N están alcanzados generalmente cerca SMB/CIFS
protocolo (Windows y Unix-como) o NFS protocolo (Unix-como sistemas). Servidores
de la base de datos, eso proporciona el acceso a una base de datos compartida vía un driver de dispositivo de la base de datos, es no mirado como servidores de archivo. La mayoría de los servidores de archivo están simultáneamente print servers también, como proporcionan el acceso a las impresoras vía red. Una sola computadora de la porción del archivo puede ser accesible por medios múltiples: puede funcionar un ftp server, un servidor de CI FS, el etc., sirviendo los mismos archivos.
DISEÑO DE LOS SERVIDORES DE ARCHIVO
En negocios modernos el diseño de los servidores de archivo es complicado por las demandas competentes para el espacio de almacenaje, velocidad del acceso, recuperabilidad, facilidad de la administración, seguridad, y presupuesto. Esto es complicada más a fondo por un ambiente constantemente que cambia, donde el hardware nuevo y la tecnología hace anticuado rápidamente el viejo equipo, pero debe seamlessly venir en línea en una manera compatible con la maquinaria más vieja. Para manejar rendimiento de procesamiento, cargas máximas, y tiempo de reacción, vendedores puede utilizar teoría el hacer cola [1] para modelar cómo la combinación del hardware y del software responderá sobre varios niveles de la demanda. Los servidores pueden también emplear dinámico el balancear de la carga proyecte distribuir peticiones a través de varios pedazos de hardware. El pedazo primario de equipo del hardware para los servidores durante los pares pasados de décadas ha demostrado ser impulsión de disco duro. Aunque otras formas de almacenaje son viables (por ejemplo cinta magnética y E SPOLÓ N) los accionamientos de disco han continuado ofreciendo el mejor ajuste para el coste, el funcionamiento, y la capacidad.
Almacenaje Puesto que la función crucial de un servidor de archivo es almacenaje, el hardware se ha desarrollado para funcionar accionamientos de disco múltiples juntos en equipo, formando a ar senal de disco. Un arsenal de disco tiene típicamente escondrijo (almacenaje temporal de la memoria que es más rápido que los discos magnéticos), así como funciones avanzadas como I NCURSIÓ N y virtualización del almacenaje. Típicamente nivel del aumento de los órdenes de disco de disponibilidad usando componentes redundantes con excepción de la I NCURSIÓ N, por ejemplo
fuentes de alimentación. Los órdenes de disco se pueden consolidar o virtualized en ared del almacén (SA N).
Limadores En los años 90, introducción de los dispositivos especializados de la porción del archivo, Limadores de NetApp, popularizado el concepto de almacenaje red-unido ( NAS). A este tiempo, los servidores de archivo todavía fueron puestos en ejecución con los servidores de uso general y
OSes. NetApp
cambió esto con introducir especializado aplicaciones de la red, con un software propietario y scalable a los recintos de disco múltiples que sostienen diez o centenares de discos agrupados en órdenes de disco múltiples. Los limadores extendieron más adelante a los protocolos del no-archivo, por ejemplo iSCSI, pero todavía la NAS se percibe popular como principalmente tecnología de la porción del archivo.
Seguridad Los servidores de archivo ofrecen generalmente una cierta forma de seguridad del sistema para limitar el acceso a los archivos a los usuarios o a los grupos específicos. En organizaciones grandes, esto es una tarea delegada generalmente se conoce a qué como servicios del directorio por ejemplo openLDAP, Novell eDirectory o Microsoft Directorio activo. Estos servidores funcionan dentro del ambiente que computa jerárquico que tratan usuarios, directorios, las computadoras, los usos y los archivos como entidades distintas pero relacionadas en el acceso de la red y de la concesión basado en las credenciales del usuario o del grupo. En muchos casos, el servicio del directorio atraviesa muchos servidores de archivo, potencialmente centenares para las organizaciones grandes. En el pasado, y en organizaciones más pequeñas, la autentificación puede ocurrir directamente al servidor sí mismo. Una de las mayores ventajas de tener un servidor de archivos, es que toda la información importante puede quedar centralizada en un solo lugar, lo cual facilita la administración y el respaldo de la información; de esta manera no quedan archivos importantes aislados en terminales de escritorio y se tiene la posibilidad de acceder a los archivos remotamente, fuera de la oficina, desde casa o cualquier otro lugar con internet, mediante una VP N.
CLIENTE-SERVIDOR
Cliente: Se le representa por un software de aplicación y lo utilizan los usuarios de Internet para acceder a un determinado servicio.
Servidor: En cambio un servidor tiene un software de servidor que lo utiliza para ofrecer al cliente toda la funcionalidad utilizada por el cliente. El cliente y el servidor se comunican a través de Internet por un protocolo que ellos mismos definen. Donde el cliente es una máquina que solicita un determinado servicio y se denomina servidor a la máquina que lo proporciona. Los servicios pueden ser:
y
Ejecución de un determinado programa.
y
Acceso a un determinado banco de información.
y
Acceso a un dispositivo de hardware.
Beneficios: y
Mejor aprovechamiento de la potencia de cómputo ( R eparte el trabajo).
y
R educe
y
O pera
y
Permite el uso de interfaces gráficas variadas y versátiles.
el tráfico en la R ed. (Viajan requerimientos).
bajo sistemas abiertos.
Categorías de Servidores: A continuación se presenta una lista de los servidores más comunes:
Servidores de archivos Servidores de Base de Datos Servidores de impresión
Servidores de Software de
Grupo.-
El software de grupo es aquel, que permite organizar el
trabajo de un grupo. El servidor gestiona los datos que dan soporte a estas tareas. Por ejemplo: almacenar las listas de correo electrónico. El Cliente puede indicarle, que se ha terminado una tarea y el servidor se lo envía al resto del grupo.
Servidores WEB.- Son los que guardan y proporcionan Páginas HTML. El cliente desde un browser o link hace un llamado de la página y el servidor recibe el mensaje y envía la página correspondiente.
Servidores de correo.- Gestiona el envío y recepción de correo de un grupo de usuarios (el servidor no necesita ser muy potente). El servidor solo debe utilizar un protocolo de correo.
Servidor de objetos.- Permite almacenar objetos que pueden ser activados a distancia. Los clientes pueden ser capaces de activar los objetos que se encuentran en el servidor.
Servidores de aplicación.- Se dedica a una única aplicación. Es básicamente una aplicación a la que pueden acceder los clientes.
Que es lo que debe hacer el Cliente: Conjunto de Software y Hardware que invoca los servicios de uno o varios servidores. Características: El Cliente oculta al Servidor y la R ed. Detecta e intercepta peticiones de otras aplicaciones y puede redireccionarlas. Dedicado a la cesión del usuario ( Inicia-Termina ). El método más común por el que se solicitan los servicios es a través de (R emoteProcedureCalls).
R PC
Funciones
Comunes del Cliente:
y
Mantener y procesar todo el dialogo con el usuario.
y
Manejo de pantallas.
y
Menús e interpretación de comandos.
y
Entrada de datos y validación.
y
Procesamiento de ayudas.
y
R ecuperación
de errores.
CLIENTE/SERVIDOR DE TRES CAPAS
Clasificación de los sistemas cliente servidor: A continuación mostramos la clasificación de de los sistemas cliente/servidor de acuerdo al nivel de abstracción del servicio que ofrecen:
Representación distribuida.- La interacción con el usuario se realiza en el servidor, el cliente hace de pasarela entre el usuario y el servidor.
Representación Remota.-La lógica de la aplicación y la base de datos se encuentran en el servidor. El cliente recibe y formatea los datos para interactuar con el usuario.
Lógica Distribuida.- El cliente se encarga de la interacción con el usuario y de algunas funciones triviales de la aplicación. Por ejemplo controles de rango de campos, campos obligatorios, etc. Mientras que el resto de la aplicación, junto con la base de datos, están en el servidor.
Gestión
Remota de Datos.- El cliente realiza la interacción con el usuario y ejecuta la aplicación y
el servidor es quien maneja los datos.
Base de Datos Distribuidas.- El cliente realiza la interacción con el usuario, ejecuta la aplicación, debe conocer la topología de la red, así como la disposición y ubicación de los datos.
Se
delega
parte de la gestión de la base de datos al cliente.
Cliente servidor a tres niveles .- El cliente se encarga de la interacción con el usuario, el servidor de la lógica de aplicación y la base de datos puede estar en otro servidor.
Ventajas: y
Procesadores más poderosos y a menos costos
y
Desarrollo de Estaciones con más capacidades
y
Las estaciones satisfacen las necesidades de los usuarios.
y
Uso de nuevas interfaces.
y
Avances en la Tecnología de Comunicaciones.
y
Disponibilidad de elementos de Comunicación.
y
Desarrollo de nuevas técnicas.
y
Compartición de R ecursos.
y
Dispositivos (Hardware).
y
Programas (Software).
y
Eficiencia y Flexibilidad.
y
R espuesta R ápida.
y
Ejecución Concurrente de procesos (En varias computadoras).
y
Empleo de técnicas de procesamiento distribuido.
Disponibilidad y Confiabilidad. y
Sistema
poco propenso a fallas (Si un componente no afecta a la disponibilidad del
sistema). y
Mayores servicios que elevan la funcionalidad (Monitoreo, Telecontrol, Correo Eléctrico, Etc.).
y
Crecimiento Modular.
y
Es inherente al crecimiento.
y
Inclusión rápida de nuevos recursos.
y
Los recursos actuales no afectan.
Seguridades:
La seguridad tiene tres componentes: Confidencialidad: protección contra individuos no autorizados Integridad: protección contra la alteración o corrupción Disponibilidad: protección contra la interferencia que impide el acceso a los recursos
Desventajas:
y
R equerimientos
de mayores controles de procesamiento.
y
Velocidad de propagación de información (Muy lenta a veces).
y
Servicios
y
Mayores controles de acceso y proceso (Commit).
y
Administración más compleja.
y
Costos.
de replicación de datos y servicios con posibilidades de fallas.
CONCLUSIONES Los sistemas distribuidos abarcan una cantidad de aspectos considerables, por lo cual su desarrollo implica mucha complejidad. Existen ciertos aspectos que requieren extremo cuidado al desarrollarse e implantarse como el manejo de fallos, el control de la concurrencia, etc. Existen muchos temas de investigaciónrelacionados con los sistemas distribuidos, por ejemplo los planteados en el apartado de Desafíos. Se
nota también que muchas tecnologías están en constante desarrollo y maduración, lo cual
implica un minucioso estudio previo de muchos factores antes de apostar por alguna tecnología en especial.