RSD-1202 Sistemas Distribuidos I

Anuncio
Dirección General de Educación Superior Tecnológica
1. Datos Generales de la asignatura
Nombre de la asignatura: Sistemas Distribuidos I
Clave de la asignatura: RSD-1202
Créditos (HT - HP créditos): 2-3-5
Carrera: Ingeniería en Sistemas Computacionales
2. Presentación
Caracterización de la asignatura
Esta asignatura aporta al perfil del Ingeniero en Sistemas Computacionales la capacidad para
analizar, diseñar y desarrollar aplicaciones distribuidas que atiendan y resuelvan las necesidades de
información de las organizaciones mediante el uso de diversas tecnologías.
Intención didáctica
En la primera unidad el alumno conocerá la definición, características y naturaleza de las aplicaciones
distribuidas, así como los principales problemas en el desarrollo y utilización de las aplicaciones
distribuidas.
En la segunda unidad se analiza el modelo de programación cliente/servidor y se describen los
principales modelos y tecnologías de la computación distribuida.
En la tercera unidad el estudiante se introduce al conocimiento de modelos computacionales
distribuidos analizando el uso de la invocación remota de métodos usando el lenguaje de
programación Java o .NET, para desarrollar una aplicación cliente/servidor.
En la cuarta unidad el estudiante se introduce al conocimiento programación orientada a servicios
usando el lenguaje de programación Java o .NET, para desarrollar una aplicación cliente/servidor.
3. Participantes en el diseño y seguimiento curricular del programa
Lugar y fecha de
elaboración o revisión
Instituto Tecnológico de Estudios
Superiores
de
la
Región
Carbonífera, Noviembre de 2012
Participantes
Instituto
Tecnológico
de
Estudios Superiores de la
Región Carbonífera
Observaciones
Asignatura elaborada para
especialidad de Redes
Sistemas Distribuidos de
carrera de Ingeniería
Sistemas Computacionales.
la
y
la
en
4. Competencias a desarrollar
Competencia general de la asignatura
Diseñar y desarrollar soluciones mediante sistemas distribuidos empleando arquitecturas y tecnologías
diversas.
Competencias específicas
•
Conocer los distintos aspectos de las aplicaciones distribuida.
•
Conocer, diseñar y desarrollar aplicaciones distribuidas.
Competencias genéricas

Competencias Instrumentales
 Capacidad de análisis y síntesis.
 Habilidad y uso de las tecnologías de la información y comunicación.
 Habilidades de gestión de información (habilidad para buscar y analizar información
proveniente de fuentes diversas).
 Solución de problemas.
 Toma de decisiones.
 Capacidad para identificar, plantear
 y resolver problemas.
 Capacidad para gestionar y formular proyectos.

Competencias interpersonales
 Capacidad crítica y autocrítica.
 Trabajo en equipo.
 Compromiso ético.

Competencias sistémicas
 Capacidad de aplicar los conocimientos en la práctica.
 Habilidades de investigación.
 Capacidad de aprender.
 Búsqueda del logro.
5. Competencias previas de otras asignaturas
- Lenguajes de programación
- Diseñar bases de datos relacionales en distintos DBMS.
- Conocimientos de redes de computadoras
- Conocimiento del protocolo TCP/IP
6. Temario
Temas
No.
Subtemas
Nombre
1.
Introducción a los sistemas distribuidos
1.1 Definición
1.2 Ventajas y desventajas
1.3 Tecnologías
1.4 Problemas comunes
2.
Arquitectura cliente/servidor.
2.1 Arquitectura del modelo cliente/servidor.
2.2 Usos y aplicaciones
2.3 Modelos de dos y tres capas.
2.4 Comunicación entre programas
3.
Tecnologías de invocación de métodos
remotos
2.1 Definiciones
2.2 Opciones Tecnológicas (RMI, .NET Remoting,
COM )
2.3 Seguridad
4.
Tecnologías orientadas a servicios
3.1 SOA
3.2 Ventajas
3.3 Escenarios y estándares
3.4 Tecnologías
7. Actividades de aprendizaje
Competencia específica y genéricas (a desarrollar y fortalecer por tema)
Conocer los conceptos fundamentales de las aplicaciones distribuidas y sus
características.
Tema
1. Introducción a los sistemas distribuidos
Actividades de aprendizaje
Investigar los temas y conceptos clave sobre
las funciones distribuidas que incluyan su
importancia, características y su aplicación.
Elaborar un reporte escrito y/o multimedia
sobre los temas de la presente unidad.
Identificar un problema que pueda ser
resuelto mediante el desarrollo de una
aplicación distribuida.
Competencia específica y genéricas (a desarrollar y fortalecer por tema)
Conocer los conceptos básicos relacionados con el modelo cliente servidor.
Tema
2. Arquitectura cliente/servidor
Actividades de aprendizaje
Desarrollar una aplicación bajo la arquitectura
cliente/servidor de 2 capas con el objetivo de
reconocer los elementos de una aplicación
distribuida.
Investigar en diversas fuentes de información
las principales tecnologías y estándares que
se requieren en una aplicación distribuida,
elaborar un informe para su discusión en el
aula.
Competencia específica y genéricas (a desarrollar y fortalecer por tema)
Identificar las características, ventajas y desventajas del modelo para la intercomunicación de
aplicaciones mediante la invocación de métodos remotos.
Desarrollar aplicaciones empleando Java RMI, .NET Remoting, o COM/DCOM.
Tema
3. Tecnologías de invocación de métodos
remotos
Actividades de aprendizaje
Desarrollar
programas
cliente-servidor
utilizando invocación de métodos remotos
como tecnología de base, e incluyendo
serialización de objetos utilizando un lenguaje
de programación orientada a objetos.
Competencia específica y genéricas (a desarrollar y fortalecer por tema)
Identificar las características, ventajas y desventajas del modelo de aplicaciones orientadas a
servicios.
Desarrollar aplicaciones orientadas a servicios.
Tema
4. Tecnologías orientadas a servicios
Actividades de aprendizaje
Desarrollar
aplicaciones
orientadas
servicios
utilizando
un
lenguaje
programación orientada a objetos
a
de
8. Prácticas (para fortalecer las competencias de los temas y de la asignatura)



Proyecto. Desarrolle una aplicación chat que le permita comunicarse a los usuarios de una
red local.
Proyecto. Desarrolle una aplicación cliente en donde se haga consumo de datos a través de
una arquitectura orientada a servicios.
Proyecto. Desarrollar una aplicación que obtenga información de una computadora de
manera remota y genere reportes.
9. Proyecto integrador (Para fortalecer las competencias de la asignatura con otras
asignaturas)
Realizar un proyecto para resolver un problema de juego clásico de uno o más jugadores
(gato, ahorcado, timbiriche) utilizando una aplicación distribuida.
Objetivo: aplicar las tecnologías cliente servidor así como el consumo de datos de otro
computador así como Identificar las características, ventajas y desventajas del modelo
para la intercomunicación de aplicaciones mediante la invocación de métodos remotos.
Desarrollar aplicaciones empleando Java RMI, .NET Remoting, o COM/DCOM
Desarrollo:
Analizar en equipo las reglas de un juego para dos personas.
Elaborar una interfaz gráfica.
Desarrolle una aplicación cliente en donde se haga consumo de datos a través de una
arquitectura orientada a servicios.
Desarrollar una aplicación que obtenga información de una computadora remota y
genere reportes
Conectar dos dispositivos con el mismo juego.
Registrar los resultados.
Aportación al perfil: la capacidad para analizar, diseñar y desarrollar aplicaciones
distribuidas que atiendan y resuelvan las necesidades de información de las
organizaciones mediante el uso de diversas tecnologías. Configuración de aplicaciones
Diseño y configuración de servicios
Capacidad para el análisis
Capacidad de organizar y planificar.
Toma de decisiones.
Capacidad crítica y autocrítica.
Capacidad de trabajar en equipo.
Habilidades Interpersonales.
Capacidad de comunicarse con profesionales de otras áreas
Conocer los distintos aspectos de las aplicaciones distribuida.
Conocer, diseñar y desarrollar aplicaciones distribuidas
10. Evaluación por competencias (específicas y genéricas de la asignatura)






Tareas relacionadas con la solución de problemas que requieren aplicaciones
distribuidas.
Elaboración de soluciones a problemas reales que tiene significado para el
estudiante y que son producto de su iniciativa.
Seguimiento de los avances y documentación del proyecto propuesto.
Reportes escritos de las soluciones a problemas desarrollados fuera de clase.
Exámenes teórico-prácticos para comprobar la efectividad del estudiante en la resolución
de casos prácticos.
11. Fuentes de información (actualizadas considerando los lineamientos de la APA*)
1. Orfali Robert, Harkey Dan, Edwards Jeri, México, 2002Cliente,/servidor y objetos Guía de
supervivencia; Tercera Edición Ed. Oxford.
2. Decker, Hirshfield. (2001). Programación con Java. 2ª. Edición. México: International
Thomsom Editores.
3. Ryan, Timothy W. Distributed Object Technology. Prentice Hall.
4. Microsoft. Ed. 1998,Mastering Distributed Application Design. Student Workbook,.
Descargar