PROGRAMA SINTÉTICO
UNIDAD ACADÉMICA: Escuela Superior de Cómputo
PROGRAMA ACADÉMICO:
Ingeniería en Sistemas Computacionales
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos NIVEL: IV
PROPÓSITO DE LA UNIDAD DE APRENDIZAJE :
Implementa sistemas distribuidos sobre plataformas heterogéneas, con base en estrategias de diseño que satisfagan requerimientos de robustez, confiabilidad, disponibilidad y seguridad.
CONTENIDOS:
I. Introducción.
II. Sincronización y coordinación.
III. Sistemas basados en objetos distribuidos. IV. Servicios de nombres, archivos y replicación. V. Computo de Malla.
ORIENTACIÓN DIDÁCTICA:
En la presente unidad se utilizarán las estrategias de aprendizaje orientado a proyectos y aprendizaje colaborativo, el profesor aplicará el método de enseñanza heurístico.
El docente deberá estructurar las actividades de aprendizaje de manera que los miembros del grupo participen de manera equitativa, cooperativa y de apoyo mutuo en el aprendizaje. De este modo se desarrollaran competencias académicas como de trabajo en equipo.
Las actividades para el aprendizaje colaborativo pueden constar de: lluvia de ideas, grupos de conversación, celdas de aprendizaje, equipos de exámenes, resolución estructurada de problemas, equipos de análisis e investigación en grupos.
Los proyectos serán propuestos por el docente, y estarán asociados con el desarrollo de sistemas distribuidos, los cuales deberán diseñarse y programarse en equipos de trabajo.
EVALUACIÓN Y ACREDITACIÓN
La presente Unidad de Aprendizaje se evaluará a partir del portafolio de evidencias, el cual se conforma de: evaluación formativa, sumativa y rubricas de autoevaluación, coevaluación y heteroevaluación.
Esta unidad de aprendizaje también se puede acreditar mediante:
Acreditación en otra UA del IPN ú otra institución educativa ó internacional.
BIBLIOGRAFÍA:
Andreas, E. Stefan F. (2002). Java Tools Using XML, EJB, CORBA, Servlets and SOAP. USA: Ed. John Wiley & Sons. ISBN: 0 471 48666 3.
Coulouris, G. Dolimore, J. Kindberg, T. (2001). Sistemas Distribuidos Conceptos y Diseño. (3ª Ed). Madrid: Ed. Pearson Educación. ISBN: 978-84-7829-049-9.
Puder, A. Romer, K. Pilhofer, F.( 2006). Distributed Systems Architecture. USA: Ed. Morgan Kaufmann. ISBN: 978-1-55860-648-7.
Silva, V. ( 2006). Grid Computing for Developers. USA: CHARLES RIVER MEDIA, INC. ISBN: 1-58450-424-2.
Tanenbaum, A. Van Steen, M.( 2008). Sistemas Distribuidos. Principios y paradigmas. (2ª Ed.). México: Ed. Pearson Educación. ISBN: 978-970-26-1280-3.
UNIDAD ACADÉMICA: Escuela Superior de Cómputo
PROGRAMA ACADÉMICO:Ingeniería en Sistemas Computacionales
SALIDA LATERAL: Analista Programador de Sistemas de Información
ÁREA DE FORMACIÓN: Terminal y de integración.
MODALIDAD: Presencial
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos.
TIPO DE UNIDAD DE APRENDIZAJE: Teórico – práctica Obligatoria.
VIGENCIA: Agosto 2011
NIVEL: IV
CRÉDITOS: 7.5 TEPIC – 4.39 SATCA
INTENCIÓN EDUCATIVA
Esta unidad de aprendizaje contribuye al perfil del egresado en Ingeniería en Sistemas Computacionales, al desarrollar las habilidades pensamiento creativo y lógico para el diseño de sistemas computacionales distribuidos que hagan uso óptimo de los recursos.
Así mismo motiva la habilidad de auto aprendizaje, junto con actitudes participativas y de colaboración en la solución de problemas y la programación de proyectos en grupos de trabajo. Competencias específicas
Requiere de haber cursado las unidades de aprendizaje Redes de Computadoras, Aplicaciones para comunicaciones en Red, Sistemas Operativos y Programación orientada a Objetos, así como poseer habilidades en diseño y programación de lenguajes de alto nivel orientados a objetos.
PROPÓSITO DE LA UNIDAD DE APRENDIZAJE:
Implementa sistemas distribuidos sobre plataformas heterogéneas, con base en estrategias de diseño que satisfagan requerimientos de robustez, confiabilidad, disponibilidad y seguridad.
TIEMPOS ASIGNADOS HORAS TEORÍA/SEMANA: 3.0 HORAS PRÁCTICA/SEMANA: 1.5 HORAS TEORÍA/SEMESTRE: 54 HORAS PRÁCTICA/SEMESTRE: 27 HORAS DE APRENDIZAJE AUTÓNOMO: 54 HORAS TOTALES/SEMESTRE: 81
UNIDAD DE APRENDIZAJE DISEÑADA POR: Academia de Sistemas Distribuidos. REVISADA POR:
Dr. Flavio Arturo Sánchez Garfias Subdirección Académica APROBADA POR:
Ing. Apolinar Francisco Cruz Lázaro Presidente del CTCE.
AUTORIZADO POR: Comisión de Programas Académicos del Consejo General Consultivo del IPN. 2011
______________________________ Ing. Rodrigo de Jesús Serrano
Domínguez
Secretario Técnico de la Comisión de Programas Académicos
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 3 DE 11
N° UNIDAD TEMÁTICA: I NOMBRE: Introducción
UNIDAD DE COMPETENCIA
Determina las características deseables de un sistema distribuido por medio de la clasificación de las aplicaciones distribuidas existentes. No. CONTENIDOS HORAS con docente HORAS (Aprendizaje
Autónomo) BIBLIOGRÁFICA CLAVE
T P T P 1.1 1.1.1 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.4 1.4.1 1.4.2 1.4.2.1
Definición de un sistema distribuido. Ejemplos de sistemas distribuidos: WWW, Napster, NFS, P2P, SETI. Objetivos y desafíos. Heterogeneidad. Extensibilidad. Escalabilidad. Transparencia. Seguridad. Requisitos de diseño. Calidad de respuesta. Productividad. Balance de carga. Calidad de servicio (QoS). Uso de caché y replicación. Tolerancia a fallos. Seguridad.
Tipos de sistemas distribuidos. Sistemas en Clúster Sistemas en GRID Middleware 0.5 0.5 0.5 0.5 0.5 1.0 1.0 1.5 1.0 1.0 3B,9B,2C Subtotales: 2.0 0.5 4.5 1.0 ESTRATEGIAS DE APRENDIZAJE
Encuadre del curso, formación de equipos y orientación sobre el aprendizaje colaborativo.
En la presente unidad se utilizara principalmente la estrategia de aprendizaje colaborativo, y el método de enseñanza heurístico. Las principales técnicas a utilizar son: lluvia de ideas, grupos de conversación, celdas de aprendizaje, mapas conceptuales, resolución estructurada de problemas, realización de prácticas, equipos de análisis e investigación en grupos.
EVALUACIÓN DE LOS APRENDIZAJES
Evaluación diagnóstica Portafolio de evidencias: Ficha de trabajo Mapa conceptual Problemario Investigación en equipo Reportes de práctica Rúbricas de autoevaluación Rúbrica de coevaluación Evidencia de aprendizaje 5% 10% 20% 20% 10% 5% 5% 25%
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 4 DE 11
N° UNIDAD TEMÁTICA: II NOMBRE: Sincronización y coordinación
UNIDAD DE COMPETENCIA
Programa mecanismos para la sincronización de sistemas distribuidos, con base en los algoritmos y esquemas de sincronía. No. CONTENIDOS HORAS con docente HORAS (Aprendizaje
Autónomo) BIBLIOGRÁFICA CLAVE
T P T P 2.1 2.2 2.2.1 2.3 2.3.1 2.4 2.5 2.5.1 2.6 2.6.1 2.6.2 2.7 2.7.1 2.7.2 2.8 2.8.1 2.8.2 2.8.3 2.9 2.9.1 2.9.2 Importancia de la sincronización. Relojes físicos.
Tiempo Universal Coordinado (UTC). Algoritmos de sincronización de relojes. Algoritmo de Berkeley.
Casos de estudio: NTP, SNTP. Relojes lógicos.
Algoritmo de Lamport.
Comunicación en grupo confiable. Esquemas de multitransmisión básicos.
Control de retroalimentación jerárquico y no jerárquico. Multitransmisión atómica.
Sincronía virtual.
Ordenamiento de los mensajes. Exclusión mutua.
Algoritmo centralizado. Algoritmo distribuido. Algoritmo de token. Algoritmos de elección. Algoritmo del abusón. Algoritmo de anillo. 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 1.5 1.5 0.5 1.0 1.0 1.0 1.5 1.5 2.5 1.0 2.5 9B Subtotales: 2.5 1.5 9.5 5.5 ESTRATEGIAS DE APRENDIZAJE
En la presente unidad se utilizara principalmente la estrategia de aprendizaje basado en proyectos, y el método de enseñanza heurístico. Las principales técnicas a utilizar son: lluvia de ideas, grupos de conversación, celdas de aprendizaje, mapas conceptuales, resolución estructurada de problemas, realización de prácticas, equipos de análisis e investigación en grupos. Se debe desarrollar un proyecto en equipo correspondiente a la unidad temática, o un único proyecto para la unidad de aprendizaje que incorpore elementos de cada unidad temática.
EVALUACIÓN DE LOS APRENDIZAJES
Portafolio de evidencias: Ficha de trabajo Problemario Investigación en equipo Reportes de práctica Rúbricas de autoevaluación Rúbrica de coevaluación Proyecto en equipo Evidencia de aprendizaje 5% 10% 10% 10% 5% 5% 40% 15%
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 5 DE 11
N° UNIDAD TEMÁTICA: III NOMBRE: Sistemas basados en objetos distribuidos UNIDAD DE COMPETENCIA
Programa aplicaciones que incorporan objetos distribuidos, con base en las tecnologías y modelos disponibles en el mercado. No. CONTENIDOS HORAS con docente HORAS (Aprendizaje
Autónomo) BIBLIOGRÁFICA CLAVE
T P T P 3.1 3.1.1 3.1.2 3.2 3.2.1 3.2.2 3.2.3 3.3 Introducción. Middleware.
Interfaces y lenguajes de definición de interfaces. Comunicación entre objetos distribuidos. El modelo de objetos.
Objetos distribuidos.
El modelo de objetos distribuido.
Casos de estudio: Microsoft DCOM, CORBA, SOAP, .NET Remoting. 0.5 0.5 0.5 1.0 1.0 2.0 3.5 2.5 2.0 3B, 2C Subtotales: 1.0 1.5 6.5 4.5 ESTRATEGIAS DE APRENDIZAJE
En la presente unidad se utilizara principalmente la estrategia de aprendizaje basado en proyectos, y el método de enseñanza heurístico. Las principales técnicas a utilizar son: lluvia de ideas, grupos de conversación, celdas de aprendizaje, mapas conceptuales, resolución estructurada de problemas, realización de prácticas, equipos de análisis e investigación en grupos. Se debe desarrollar un proyecto en equipo correspondiente a la unidad temática, o un único proyecto para la unidad de aprendizaje que incorpore elementos de cada unidad temática.
EVALUACIÓN DE LOS APRENDIZAJES
Portafolio de evidencias: Ficha de trabajo Problemario Investigación en equipo Reportes de práctica Rúbricas de autoevaluación Rúbrica de coevaluación Proyecto en equipo Evidencia de aprendizaje 5% 10% 10% 10% 5% 5% 40% 15%
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 6 DE 11
N° UNIDAD TEMÁTICA: IV NOMBRE: Servicios de nombres, archivos y replicación
UNIDAD DE COMPETENCIA
Programa un sistema de replicación de archivos, con base en los servicios y tecnologías existentes.
No. CONTENIDOS
HORAS con docente
HORAS (Aprendizaje
Autónomo) BIBLIOGRÁFICA CLAVE
T P T P 4.1 4.2 4.3 4.3.1 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.10.1 4.11 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 Introducción.
Nombres, direcciones, Identificadores de Recurso Unificado.
Servicio de nombres. Espacios de nombres. Resolución de nombres. Caso de estudio: DNS.
Sistemas de archivos distribuidos. Características de los sistemas de archivos. Requisitos del sistema de archivos distribuido. Casos de estudio: NFS, AFS, CODA, SMB/CIFS, GFS (Google Fyle System), WebDAV, GmailFS.
Replicación.
Replicación como técnica de escalamiento. Administración de réplicas.
Ubicación del servidor.
Ubicación y replicación del contenido. Replicas permanentes.
Réplicas iniciadas por servidores. Réplicas iniciadas por el cliente.
0.5 0.5 1.0 0.5 0.5 1.0 1.0 0.5 1.0 1.0 1.5 0.5 1.0 2.5 1.0 2.0 2.0 2.0 3B,9B,1C,6C Subtotales: 3.0 2.0 11.0 4.0 ESTRATEGIAS DE APRENDIZAJE
En la presente unidad se utilizara principalmente la estrategia de aprendizaje basado en proyectos, y el método de enseñanza heurístico. Las principales técnicas a utilizar son: lluvia de ideas, grupos de conversación, celdas de aprendizaje, mapas conceptuales, resolución estructurada de problemas, realización de prácticas, equipos de análisis e investigación en grupos. Se debe desarrollar un proyecto en equipo correspondiente a la unidad temática, o un único proyecto para la unidad de aprendizaje que incorpore elementos de cada unidad temática.
EVALUACIÓN DE LOS APRENDIZAJES
Portafolio de evidencias: Ficha de trabajo Problemario Investigación en equipo Reportes de práctica Rúbricas de autoevaluación Rúbrica de coevaluación Proyecto en equipo Evidencia de aprendizaje 5% 10% 10% 10% 5% 5% 40% 15%
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 7 DE 11
N° UNIDAD TEMÁTICA: V NOMBRE: Computo de Malla
UNIDAD DE COMPETENCIA
Programa un sistema de cómputo de malla, con base en las tecnologías y servicios existentes. Programa aplicaciones con base en la tecnología de cómputo de malla.
No. CONTENIDOS
HORAS con docente
HORAS (Aprendizaje
Autónomo) BIBLIOGRÁFICA CLAVE
T P T P 5.1 5.1.1 5.1.2 5.1.3 5.2 5.3 5.3.1 5.3.2 5.3.3 5.4 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5 5.4.6 5.5 Arquitecturas de malla. Organizaciones virtuales.
Mallas en aplicaciones científicas y tecnológicas. Mallas en los sistemas de cómputo empresarial. Arquitectura abierta de servicios de malla (OGSA). Middleware de malla
P2P ventajas y desventajas. P2Pcontra modelo cliente-servidor. Arquitecturas P2P.
Servicios WEB Principios de XML.
Descripción de servicios a través de WSDL. Mapeo del lado del servidor.
Interoperabilidad mediante SOAP. Descripción de servicios con UDDI. CORBA o Servicios WEB
Casos de estudio: Globus toolkit, Open PBS/PBS Pro, Condor - G Sun Grid Engine,
0.5 0.5 1.0 1.0 1.0 1.5 1.5 6.0 3.0 2.0 2.0 8C, 7C Subtotales: 2.0 2.0 12.0 4.0 ESTRATEGIAS DE APRENDIZAJE
En la presente unidad se utilizara principalmente la estrategia de aprendizaje basado en proyectos, y el método de enseñanza heurístico. Las principales técnicas a utilizar son: lluvia de ideas, grupos de conversación, celdas de aprendizaje, mapas conceptuales, resolución estructurada de problemas, realización de prácticas, equipos de análisis e investigación en grupos. Se debe desarrollar un proyecto en equipo correspondiente a la unidad temática, o un único proyecto para la unidad de aprendizaje que incorpore elementos de cada unidad temática.
EVALUACIÓN DE LOS APRENDIZAJES
Portafolio de evidencias: Ficha de trabajo Problemario Investigación en equipo Reportes de práctica Rúbricas de autoevaluación Rúbrica de coevaluación Proyecto en equipo Evidencia de aprendizaje 5% 10% 10% 10% 5% 5% 40% 15%
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 8 DE 11
RELACIÓN DE PRÁCTICAS
PRÁCTICA No.
NOMBRE DE LA PRÁCTICA UNIDADES
TEMÁTICAS
DURACIÓN LUGAR DE REALIZACIÓN 1 2 3 4 5 6 7 8 9 10 Sockets C++ y Java
Sincronización de un sistema distribuido Respaldo en un sistema distribuido Elección distribuida
Objetos distribuidos CORBA
Enterprise JavaBeans
Tolerancia a fallas en aplicaciones distribuidas
Clúster
Sistema distribuido basado en WEB
I II II II III III IV IV V V 1.5 3.0 1.5 3.0 3.0 3.0 3.0 3.0 3.0 3.0 Salas de cómputo de la Escuela. TOTAL DE HORAS 27.0 EVALUACIÓN Y ACREDITACIÓN:
Las prácticas aportan el 10% de la calificación de cada unidad temática.
Las prácticas se consideran requisito indispensable para acreditar esta unidad de aprendizaje.
Comentario [I1]: Checar las horas, en la
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 9 DE 11
PERÍODO UNIDAD PROCEDIMIENTO DE EVALUACIÓN
1 2 3 I II III IV V Evaluación continua 75% Evidencia de aprendizaje 25% Evaluación continua 85% Evidencia de aprendizaje 15% Evaluación continua 85% Evidencia de aprendizaje 15% Evaluación continua 85% Evidencia de aprendizaje 15% Evaluación continua 85% Evidencia de aprendizaje 15%
La Unidad I aporta el 10% de la calificación final. La Unidad II aporta el 23% de la calificación final. La Unidad III aporta el 17% de la calificación final. La Unidad IV aporta el 25% de la calificación final. La Unidad V aporta el 25% de la calificación final.
Esta unidad de aprendizaje también se puede acreditar mediante:
Acreditación en otra UA del IPN ú otra institución educativa nacional ó internacional.
UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos HOJA: 10 DE 11 CLAVE B C BIBLIOGRAFÍA 1 2 3 4 5 6 7 8 9 X X X X X X X X X
Andreas, E. Stefan F. ( 2002). Java Tools Using XML, EJB,CORBA, Servlets and SOAP. USA: Ed. John Wiley & Sons. ISBN: 0 471 48666 3 Cameron, H. Hughes, T.( 2003). Parallel and Distributed Programming Using C++. USA: Ed. Addison Wesley. ISBN: 0-13-101376-9. Coulouris, G. Dolimore, J. Kindberg, T.( 2001). Sistemas Distribuidos Conceptos y Diseño. (3ª Ed). Madrid: Ed. Pearson Educación. ISBN: 978-84-7829-049-9.
Farley, J.( 2001). Java™ Distributed Computing. USA: Ed. O'Reilly & Associates, Inc. ISBN: 1−56592−206−9E.
Freeman, S. Pryce, N. ( 2009). Growing Object-Oriented Software, Guided by Tests. USA: Ed. Addison-Wesley. ISBN: 978-0321503626.
Kopper, K. ( 2005). Linux Enterprise Cluster. USA: Ed. Starch Press. ISBN: 978-1593270360.
Puder, A. Romer, K. Pilhofer, F.( 2006). Distributed Systems Architecture. USA: Ed. Morgan Kaufmann. ISBN: 978-1-55860-648-7.
Silva, V. ( 2006). Grid Computing for Developers. USA: CHARLES RIVER MEDIA, INC. ISBN: 1-58450-424-2.
Tanenbaum, A. Van Steen, M.( 2008). Sistemas Distribuidos. Principios y paradigmas. (2ª Ed.). México: Ed. Pearson Educación. ISBN: 978-970-26-1280-3.
PERFIL DOCENTE POR UNIDAD DE APRENDIZAJE
1. DATOS GENERALES
UNIDAD ACADÉMICA: Escuela Superior De Cómputo
PROGRAMA ACADÉMICO:
Ingeniería en Sistemas Computacionales
NIVEL IV
ÁREA DE FORMACIÓN: Institucional Científica Básica
Profesional Terminal y de Integración
ACADEMIA: Sistemas Distribuidos. UNIDAD DE APRENDIZAJE: Desarrollo de Sistemas Distribuidos
ESPECIALIDAD Y NIVEL ACADÉMICO REQUERIDO: Maestro en Computación ó Doctor en Computación
2. PROPÓSITO DE LA UNIDAD DE APRENDIZAJE:
Implementa sistemas distribuidos sobre plataformas heterogéneas, con base en estrategias de diseño que satisfagan requerimientos de robustez, confiabilidad, disponibilidad y seguridad.
3. PERFIL DOCENTE: CONOCIMIENTOS EXPERIENCIA PROFESIONAL HABILIDADES ACTITUDES Sistemas operativos. Redes de computadoras y aplicaciones en red. Programación en Lenguajes C++ y Java. Programación de sistemas UNIX. Diseño orientado a objetos y UML. Conocimientos de CORBA y Web services. MEI. Idioma Inglés Experiencia de un año en programación de aplicaciones distribuidas.
Experiencia de dos años en el manejo de grupos y en el trabajo colaborativo.
Experiencia de un año como Docente de Nivel Superior. Análisis y síntesis. Liderazgo. Toma de decisiones. Manejo de Conflictos. Manejo de grupos.
Fluidez verbal de ideas.
Habilidades didácticas. Responsable. Honesto. Respetuoso. Tolerante. Asertivo. Colaborativo. Participativo.
ELABORÓ REVISÓ AUTORIZÓ
M. en C. Ukranio Coronilla Contreras M. en C. Jorge Cortés Galicia Dr. José Alfredo Jiménez Benítez
Profesores Colaboradores
Dr. Flavio Arturo Sánchez Garfias Subdirector Administrativo
Ing. Apolinar Francisco Cruz Lázaro Director