Curso de postgrado: “Sistemas distribuidos”

A partir del 3 de marzo próximo comenzará a dictarse el curso de postgrado de actualización y profundización (s/Ordenanza “C.S.” N° 291), “Sistemas Distribuidos”, a cargo del Dr Fernando Gustavo Tinetti.(*)
Está dirigido a graduados profesionales de carreras de Licenciatura en Sistemas, Informática o afines.
El objetivo principal del curso es exponer los fundamentos de la tecnología de sistemas distribuidos de computación y su aplicación en el diseño de sistemas informáticos distribuidos.
Además, se enfatizan los aspectos tecnológicos de la arquitectura Cliente /Servidor y sus extensiones, especialmente en bases de datos distribuidas. Se dedica al estudio de las tecnologías de conexión de los clientes y servidores por redes de computadoras – middleware – y de las tecnologías de implantación de sistemas de archivos y sistemas de administración de bases de datos distribuidas.
(*) BREVE REFERENCIA: Fernando G. Tinetti
Doctor en Informática, Universidad Autónoma de Barcelona, Barcelona, España. Sobresaliente Cum Laude. Profesor Titular en la Facultad de Informática de la UNLP; cátedras Bases de Datos Distribuidas y Taller de Proyecto II. Cuenta con una extensa experiencia docente universitaria en diversas cátedras su especialidad, como así también en  investigación y dirección de proyectos. 
Ha publicado libros, capítulos de libros, trabajos de investigación y artículos . Integrante del Comité Científico del Grupo de Trabajo TOP 50 para América Latina “LARTop50” .  Fue co director y miembro del consejo editorial de diversas publicaciones especializadas en informática, entre otras actividades. 
 
Síntesis del curso:
Introducción y actualización conceptual y tecnológica de/en sistemas distribuidos, su arquitectura, implementación y utilización en producción, incluyendo bases de datos distribuidas
 
Duración y carga horaria: 96 Horas.
 
Contenidos Mínimos: 
a. Introducción. Definición y características de un sistema distribuido; ventajas y desventajas. b. Fundamentos de computación distribuida. Modelos. c.  Programación distribuida. Paradigmas de programación; protocolos de comunicación; paso de mensajes; multicasting; memoria distribuida. d. Tolerancia a fallas. Enfoques; transacciones distribuidas; replicación; comunicación confiable. e. Servicios y aplicaciones distribuidas. Plataformas de distribución; sistemas operativos distribuidos; sistemas de archivos distribuidos; bases de datos distribuidas (BDD); desarrollo de software distribuido. Internet. f. Diferentes tipos de sistemas de BDD. Ventajas y desventajas de la distribución de datos. g. Arquitecturas de BDD. Transparencia. Consideraciones de diseño en la administración de datos: distribución, fragmentación y asignación h. BDD: control semántico, vistas, restricciones de integridad i. Control de concurrencia distribuida. Optimización de consultas distribuidas. j. Administración de transacciones. Propiedades ACID. Integridad y seguridad. Recuperación. k. Evolución de las BDD a bases de datos NoSQL: razones, ventajas y desventajas, aspectos de desarrollo y puesta en marcha de sistemas de información distribuidos usando bases de datos NoSQL.
 
Programa:
Unidad I: Introducción. Definición. Características y Fundamentos de un sistema distribuido; ventajas y desventajas. Evolución de los sistemas distribuidos. Modelos/arquitecturas de sistemas distribuidos. Nociones de transparencia. Práctica de revisión de comunicaciones.
Unidad II: Programación distribuida. Paradigmas de programación. Sistemas y Protocolos de comunicación. Impacto de las comunicaciones en la programación y/o puesta en producción de los sistemas distribuidos. Práctica de llamadas a procedimientos remotos.
Unidad III: Aspectos relevantes de los sistemas distribuidos. Fallas y tolerancia a fallas. Transacciones distribuidas. Comunicación confiable y comunicación sincrónica. Identificación y seguridad: uso de sistemas de criptografía, autenticación, autorización y control de acceso. Relación entre los sistemas distribuidos y los sistemas móviles.
Unidad IV: Servicios y aplicaciones distribuidas. Sistemas operativos distribuidos, Sistemas operativos de Red, Middleware. Sistemas de archivos distribuidos, bases de datos distribuidas. Impacto de Internet y uso extensivo de aplicaciones como sistemas de nombres de dominio. Práctica de utilización de objetos remotos.
Unidad V: Bases de datos distribuidas. Motivaciones. Arquitecturas de manejadores de bases de datos distribuidas. Aspectos tradicionales de diseño: fragmentación, replicación y asignación y su impacto en operaciones-SQL. Integridad, control de acceso. Bases de datos NoSQL: relación con cómputo en la nube (cloud computing) y procesamiento masivo de datos (big data). Configuraciones de distribución y replicación. 
Unidad VI: transacciones distribuidas. Diseño y visión desde la perspectiva de bases de datos distribuidas. Visión desde la perspectiva de los sistemas distribuidos en general. Propiedades ACID. Control de concurrencia. Protocolos de finalización (commit/abort) de transacciones.
 
Metodología de trabajo:
Clases teórico prácticas.
Trabajos a realizar bajo tutoría (parcialmente presencial y parcialmente a distancia).
Preparación y exposición de temas específicos por parte de grupos de trabajo.
Evaluaciones parciales de tareas teórico-prácticas de implementación y análisis de casos de aplicación específicos.
 
Estrategias pedagógicas y comunicacionales:
Se utilizarán tanto las herramientas tradicionales como las nuevas de trabajo a distancia usando el campus UNER y equipo de videoconferencia. 
Las actividades presenciales incluirán clases con contenidos conceptuales/teóricos, contenidos teórico/práctico con participación directa de los estudiantes y exposiciones puntuales de trabajo específico a cargo de grupos de estudiantes. Se utilizarán los medios audiovisuales disponibles (pizarra, computadora con proyección-cañón, exposición de videos relevantes de acuerdo a la temática). 

Modalidad de evaluación
Presentación de trabajos prácticos en tiempo y forma durante el desarrollo del curso.
Examen final teórico-práctico.
 
Criterios para la acreditación:
Asistencia a instancias presenciales del 75%
Cumplimiento en tiempo y forma de actividades e instancias de evaluación.
 
Inscripción:
Departamento Alumnado (planta baja de la Facultad)
Cupo de alumnos: 25.
 
Certificación:
El alumno deberá cumplir con la asistencia estipulada, los trabajos consignados y aprobar la evaluación para recibir el certificado de aprobación. 
 
Fechas del curso:
Marzo – abril 2017. 
Inicio: 3 de marzo de 2017
Encuentros presenciales:  
3,  4,  17 y 18 de marzo de 2017.
7, 8, 21, 22, 28 y 29 de abril de 2017.
 
Costo de Inscripción:
a) Graduados de la Universidad $ 3.500.
b) Matrícula en general $ 5.000.
c) Docentes de la carrera de Licenciatura en Sistemas: sin costo.