S I S T E M A S   D I S T R I B U I D O S 
C U R S O   2 0 0 4   -   2 0 0 5

o b j e t i v o s

t e o r í a

p r á c t i c a s

e v a l u a c i ó n

b i b l i o g r a f í a

v a r i o s

c e n t r o Escuela Universitaria de Informática 
t i t u l a c i ó n Ingeniería Técnica en Informática de Gestión
c u r s o 3º (optativa)
c r é d i t o s 6 (3 T + 3P)
p r o f e s o r
r e s p o n s a b l e
Fernando Díaz Gómez
o b j e t i v o s El objetivo de la asignatura se centra en dar a conocer los paradigmas de computación distribuida más habituales, en particular, el modelo cliente/servidor y el modelo de objetos distribuidos. Además se pretende dar al alumno una visión de las tecnologías disponibles para el desarrollo de aplicaciones distribuidas. Otra parte del temario se centra en otros aspectos relevantes de los sistemas distribuidos: sistemas de ficheros distribuidos, servicios de nombre y directorio,  tiempo y coordinación distribuida, seguridad, etc.
y

t e o r í a

Tema Título Breve descripción
[SD_TE01] Introducción Definiciones. Ventajas e inconvenientes de la computación distribuida. Conceptos básicos. Paradigmas de computación distribuida.
[SD_TE02] El modelo Cliente/Servidor Tecnologías cliente/servidor. Arquitecturas cliente/servidor de 2, 3 ó N niveles. Características del Servidor. Características del Cliente. El Middleware.
[SD_TE03] Comunicación entre procesos Introducción. Protocolos de comunicación. Comunicación por sockets.
[apoyo::java.net.pdf]
[SD_TE04] Invocación Remota Introducción. Llamadas a Procedimientos Remotos (RPC). Invocación de Métodos Remotos (RMI). [apoyo::rpc.zip][apoyo::rmi.pdf]
[SD_TE05] Objetos Distribuidos (CORBA) Introducción. Invocación remota en CORBA. Un ejemplo en Java. Ejemplo con retrollamadas. Ejemplo con objetos persistentes.  
[apoyo::corba.pdf][apoyo::JavaIDL.pdf(english)]
[SD_TE06] XML en Sistemas Distribuidos Introducción. Estructura de XML. Estructura de una DTD. Utilización de XML. Acceso a ficheros XML. Ejemplo de programación con SAX. Ejemplo de Programación con DOM. Ejemplo de programación con XSLT. SOAP y servicios web. [Ejemplos >>]
[SD_TE07] Servicios de Ficheros Introducción. Arquitectura de un sistema de ficheros genérico. Sun NFS.
[SD_TE08] Servicios de Nombres y de Directorios Servicio de nombres: Introducción. Generalidades de los servicios de nombres. El sistema de nombres de dominio: DNS. Servicios de directorio: Introducción. El servicio de directorio X.500. El servicio de directorio LDAP. El servicio de directorio NIS.
[SD_TE09] Tiempo y Coordinación Distribuida Introducción. Relojes lógicos. Algoritmos de coordinación: exclusión mutua y elección. 
[SD_TE10] Seguridad en Sistemas Distribuidos Introducción. Criptografía. Algoritmos de cifrado/descifrado. Firma Digital. Autenticación.  
     
y

p r á c t i c a

ID Breve descripción Comentarios
[SD_PR00] Java Lenguaje de programación Java
- Estructura general aplicación Java
[apoyo::Sesion1.zip]
- Streams
[apoyo::Sesion2.zip]
- Serialiazación y Threads
[apoyo::hilos.pdf][apoyo::Sesion3.zip]
[SD_PR01] Sockets I Utilización de sockets en C y Java
[SD_PR02] Sockets II Utilización de sockets en C y Java: consulta de notas
[SD_PR03] SunRPC Ejemplos de uso de llamadas a procedimientos remotos utilizando SunRPC. [apoyo::rpc.zip]
[SD_PR04] JavaRMI Invocación remota de métodos en Java, Java RMI. [apoyo::rmi.pdf]
[SD_PR05] CORBA y JavaRMI Comparación ejemplo de uso CORBA y JavaRMI. [apoyo::corba.pdf][apoyo::JavaIDL.pdf(english)]
[SD_PR06] XML El estándar XML como lenguaje de descripción de datos, Integración con las tecnologías vistas: Java, JavaRMI, CORBA [Soporte >>]
     

[Notas de practicas >>]

y
e v a l u a c i ó n La calificación total consta de tres partes: 
  • Test con preguntas teórico-prácticas, sobre aspectos fundamentales de la asignatura. Esta parte supone 1/3 de la calificación total y evalúa los conocimientos sobre la materia. 
  • Preguntas teórico-prácticas, cada una con un espacio limitado para su contestación. Se valorará especialmente la precisión y concisión de la respuesta. En estas preguntas el alumno deberá relacionar distintos conceptos de la asignatura. Esta parte supone 1/3 de la calificación total y evalúa la comprensión del programa. 
  • Informe de prácticas, se valorarán especialmente los razonamientos, desarrollos y explicaciones que hagan los alumnos para llegar al desarrollo de la práctica. Esta parte supone 1/3 de la calificación total. Se entregará en los períodos establecidos.  
  •  

Examenes: Jun/2005 [ex20050624.pdf][notas200506.pdf]

y
b i b l i o g r a f í a

Coulouris, G., Dollimore, J. y Kindberg, T.: Sistemas distribuidos: Conceptos y Diseño (3ª Edición), Editorial Addison-Wesley, 2001.

Liu, M. L.: Computación Distribuida: Fundamentos y Aplicaciones. Editorial Addison-Wesley, 2004.

Arnold, K.,  Gosling, J. y Holmes, D. El Lenguaje de Programación Java (3ª Edición). Editorial Addison-Wesley, 2001. 

y
v a r i o s Manual de C. Breve manual de C basado en el libro de (Llanos, 2001).  [CursoC.pdf] .
Referencia de C. Útil y breve (2 hojas) guía de C. [c-refcard-a4.pdf].
Manual de Java . Aprenda Java como si estuviese en primero (Univ. de Navarra).
[java2.pdf].

Recursos Software:
JDK 1.4.2_03 (Windows): entorno de desarrollo aplicaciones Java

JavaDoc 1.4.2: documentación on-line JDK 1.4.2 (inglés)
JavaTraceIt!: depurador y optimizador de aplicaciones Java
JCreator 2.5 LE : editor de texto

Información sobre instalación del Software 

y

S I S T E M A S   D I S T R I B U I D O S 
C U R S O   2 0 0 4   -   2 0 0 5