Modulo II: PROCESAMIENTO Y APLICACIONES DISTRIBUIDAS

 

MODULO II: PROCESAMIENTO Y APLICACIONES DISTRIBUIDAS

ESPACIO DEL VÍDEO DEL MODULO

TABLA DE CONTENIDO DE ESTE MODULO:

1. Procesamiento Distribuido.

2. Avances tecnológicos de los Sistemas Distribuidos.   

3. Funciones de aplicaciones Distribuidas. 

4. Evolución de los Sistemas de Procesamiento de Datos Distribuidos. 

1. Procesamiento Distribuido.

Se puede definir como toda forma con la que es posible conectar distintas maquinas por medio de algún tipo de red de comunicaciones donde generalmente se trata de una LAN (Red de área local) o WAN (Red de área amplia), logrando así, que una sola tarea o actividad de procesamiento de datos pueda ser realizada o ejecutada entre  las distintas máquinas de la red, es decir, que un solo proceso se pueda realizar entre varias máquinas diferentes y conectadas a una red, esta colaboración puede ser tan sencilla como distribuir la carga de trabajo entre procesos idénticos, o tan compleja como multitud de procesos distintos.

El procesamiento distribuido permite una mejor utilización de equipos computacionales y mejora el balanceo del procesamiento dentro de una aplicación, este último tiene una gran importancia ya que en algunas aplicaciones simplemente no hay una máquina que sea capaz de realizar todo el procesamiento. Otro beneficio del procesamiento distribuido es que la actividad de procesamiento se puede asignar a la ubicación o ubicaciones donde sea posible realizarlo con más eficiencia, por ejemplo en una empresa, cada oficina puede organizar y manipular los datos para satisfacer sus necesidades específicas, así como compartir el producto de su trabajo con el resto de la organización.

2. Avance tecnológico.

Desde su aparición en el mercado los Sistemas Distribuidos se convirtieron en una necesidad para muchas compañías, ya sea utilizando redes de computadoras o computadoras personales de alto rendimiento. Esta necesidad condujo al desarrollo practico de Ingeniería de Software que apunten a los distintos aspectos del desarrollo de Sistemas desde la captura de requerimientos y la planificación, pasando por las metodologías de desarrollo, hasta la verificación y simulación de procesos distribuidos incluyendo el aseguramiento de calidad. En particular un sistema distribuido de tiempo real donde se debe interactuar con el mundo real, en puntos físicamente distantes y no necesariamente  fijos en periodos de tiempo que vienen determinados por el contexto o las restricciones de las especificaciones.

Algunas dificultades principales del desarrollo software para sistemas distribuidos de tiempo real son:

·         Modelar condiciones de concurrencia y paralelismo.

·         Manejar las comunicaciones inter-procesos e inter-procesadores.

·         Tratamiento de señales en tiempo real.

·         Tratamiento de interrupciones y mensajes asincrónicos con diferente prioridad.

·         Asegurar la confiabilidad de los datos y analizar su migración en condiciones de funcionamiento normal o de falla.

·         Organizar y despachar la atención de procesos, manejando las restricciones de tiempo especificadas.

·         Testear (probar) y poner a punto un sistema físicamente distribuido.

Todas estas dificultades para el desarrollo software de estos sistemas condicen a la utilidad de tecnologías de Ingeniería de Software orientadas a STR (Sistemas en tiempo real) y SDTR (Sistemas distribuidos en tiempo real), de modo de trabajar en la modelización, especificación y verificación del software considerando las restricciones temporales. En la siguiente imagen se presenta la arquitectura básica de una aplicación distribuida:


 

3. Funciones de aplicaciones Distribuidas.

Las aplicaciones distribuidas son aquellas que cuentan con diversos componentes que se ejecutan en entornos o unidades de cómputo separadas, normalmente en diferentes plataformas conectadas a través de una red. Las típicas aplicaciones distribuidas son de dos niveles (cliente-servidor), tres niveles (cliente-middleware-servidor) y multinivel. Las aplicaciones distribuidas suelen utilizar una arquitectura cliente-servidor. El cliente y el servidor se dividen el trabajo y cubren las funciones de la aplicación con el software allí instalado. La búsqueda de productos se realiza en los siguientes pasos:

·         El cliente actúa como instancia de entrada e interfaz de usuario, que recibe la solicitud del usuario y la prepara para que pueda pasar a un servidor.

·         El servidor remoto se hace cargo de la mayor parte de la funcionalidad de búsqueda y busca en una base de datos. En el servidor, se da formato al resultado de la búsqueda, y este se devuelve al cliente a través de la red. El resultado final se muestra en la pantalla del usuario.

En cuanto a las aplicaciones que cuentan con middleware, este define el patrón de interacción (lógico) entre los participantes y asegura la mediación y la integración optima en el sistema distribuido. Así pues, se ofrecen interfaces y servidores que cierran las brechas entre las diferentes aplicaciones y permiten y supervisan su comunicación. Para el procesamiento operativo, el middleware proporciona, por ejemplo, la llamada a procedimiento remoto, un método probado de comunicación inter-procesos entre dispositivos, que suele utilizarse en las arquitecturas cliente-servidor para la búsqueda de productos con consultas a bases de datos.

4. Evolución de los Sistemas de procesamiento de Datos Distribuidos.

Los Sistemas distribuidos deben proveer accesos concurrentes a base de datos por parte de muchos usuarios, garantizar tiempos de respuesta, proveer puntos de acceso al servicio que están distribuidos geográficamente, potencial para el crecimiento del sistema para tener una buena expansión de la empresa que lo usa y un marco para la integración de sistemas usados por diferentes compañías y organizaciones de usuarios. Casi cualquier compañía que ha tenido la necesidad de almacenar su información en unidades de cómputo usando sistemas de información ha experimentado las siguientes fases:

·         En la primera fase, se ha agrupado toda la información en un solo lugar, la idea era que todos los accesos a datos podrían ser integrados en un solo lugar usando herramientas de bases de datos tales como lenguajes de descripción de datos, lenguajes de manipulación de datos, mecanismo de acceso, verificadores de restricciones y lenguajes de alto nivel. Para poder tener estos mecanismos de almacenamiento y recuperación de información las organizaciones hicieron fuertes inversiones en equipos computacionales sofisticados y con grandes capacidades. Sin embargo, después de experimentar por un tiempo con este enfoque, muchas organizaciones encontraron que el sistema completo era satisfactorio, en algún grado, para un buen número de usuarios pero muy pocos obtenían un servicio óptimo.

·         En la segunda fase se promovió la descentralización de los sistemas de bases de datos corporativos, se empezaron a adquirir sistemas de software y hardware departamentales. Este enfoque presento grandes beneficios para el control de la seguridad de la información y la disponibilidad de la misma. Permitió que los esquemas de mantenimiento y planeación de los sistemas de información afectara en menor medida al funcionamiento general de la organización. Sin embargo muy pronto empezaron a aparecer inconvenientes con este enfoque. Se presentaron problemas de consistencia de la información entre los sistemas locales y centrales y se hallaron dificultados al transferir información de entre departamentos diferentes de una corporación.

·         En la tercera fase (la cual aún no ha concluido) se ha tratado de formalizar la descentralización de las bases de datos y de sus funciones manteniendo la integridad de la información y quizá algún tipo de control centralizado o distribuido. Donde se empezaron a hacer diferencias de las mismas. Las bases de datos distribuidas corresponden a una base de datos virtual compuesta por varias bases de datos reales que se encuentran ubicadas en lugares físicos diferentes. Cada sitio tiene su base de datos, sus usuarios, su manejador de base de datos con capacidad de procesamiento autónomo, sin embargo también soportan transacciones distribuidas que garantizan la consistencia cuando las aplicaciones accedan más de una sola base de datos en tiempo real.


 


Comentarios

Entradas populares