Índice
Procesamiento Distribuido II
Asignatura
| Modalidad | Electiva |
| Área | Especialización |
| U.C: | 3 |
| Código | 2120360001980 |
Justificación
La solución de problemas complejos en ingeniería usualmente requiere la utilización de herramientas de software que se ejecuten acopladamente. Dicho software debe estar integrado en el sentido que la data producida por un programa es la data de entrada de otro programa. En un escenario típico, un ingeniero o investigador tiene algunos paquetes de optimización y modelado y quizás algún código desarrollado por él mismo, los cuales han sido desarrollados en diferentes lenguajes de programación para diferentes plataformas de hardware y software. La ejecución acoplada de este software usualmente requiere portar el código entre plataformas y, cuando esto no es posible, mover la data de una computadora a otra mediante archivos o la red. Estas tareas consumen tiempo y desvían la atención a otros problemas que no están relacionados con el interés del ingeniero o investigador. Además, la solución obtenida es raramente reutilizable.
En los últimos años han emergido y evolucionado tecnologías para el desarrollo de sistemas de procesamiento distribuido que permiten solventar estas dificultades mediante la integración de software a través de plataformas de hardware y software disímiles.
Objetivos del Curso
Dominar los aspectos teóricos, metodológicos y tecnológicos requeridos para diseñar y desarrollar sistemas de procesamiento distribuidos multiplataforma orientados a la solución de problemas complejos en ingeniería.
- Analizar los aspectos teóricos, metodológicos y tecnológicos necesarios para el diseño y desarrollo de sistemas de procesamiento distribuido multiplataforma.
- Desarrollar la capacidad de diseñar e implementar sistemas de procesamiento distribuidos multiplataforma orientados a la solución de problemas complejos en ingeniería.
Prerequisitos
Haber aprobado los cursos Técnicas de programación, Técnicas de Programación Avanzadas, Redes de Computadoras y Procesamiento Distribuido I.
Contenido Programático
Unidad 1: Diseño de Sistemas de Procesamiento Distribuido
- Servicio de nombres y directorios. Conceptos fundamentales. Tecnologías existentes.
- Persistencia. Conceptos fundamentales. Tecnologías existentes..
- Eventos. Conceptos fundamentales. Tecnologías existentes.
- Tolerancia a fallas y alta disponibilidad. Conceptos fundamentales. Tecnologías existentes.
- Balance de carga. Conceptos fundamentales. Tecnologías existentes.
- Recolección de basura. Conceptos fundamentales. Tecnologías existentes.
- Transacciones distribuidas. Conceptos fundamentales. Tecnologías existentes.
- Seguridad. Conceptos fundamentales. Técnicas de Seguridad. Algortimos criptográficos.
- Casos de estudio.
Unidad 2: Modelos de Componentes Distribuidos
- Introducción.
- Programación del lado del servidor.
- Modelo de Componentes.
- Contenedor. Arquitectura. Servicios primarios.
- Tipos de componentes.
- Implementación de componentes.
- Estrategias de diseñ.
- Casos de estudio.
Metodología de la Enseñanza
Entre las estrategias instruccionales empleadas se incluyen la exposición por parte del docente del contenido teórico y ejemplos de aplicación, y se asignarán trabajos prácticos.
Intensidad Horaria
La intensidad horaria es de 3 horas/semana durante 16 semanas (48 horas/semestre).
Bibliografía
- G. Coulouris, J. Dellimore and T. Kinderg. Distributed Systems: Concepts and Design. 3rd edition. Addison Wesley. 2000.
- M. Henning and S. Vinoski. Advanced CORBA Programming with C++. Addison Wesley. 1999.
- G. Brose, A. Vogel and K. Duddy. Java Programming with CORBA. Advanced Techniques for Building Distributed Applications. Third Edition. John Wiley y Sons. 2001.
- Object Management Group. CORBA 3 Release Information. http://www.omg.org/technology/corba/corba3releaseinfo.htm.
- B. Stroustrup. C++ Programming Language. Third Edition. Addison Wesley. 1999.
- E. Gamma, R. Helm, R. Johnson and J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley. 1995.
- D.R. Butenhof. Programming with Posix Threads. Addison-Wesley. 1997.
- The Java Tutorial. A practical guide for programmers. http://java.sun.com. 2001.
- Object Management Group. CORBA 2.4.2 specification. http://www.omg.org/technology/documents/formal/corbaiiop.htm.
