Sistemas Distribuidos
Objetivo:
Dotar al alumno de conocimientos para que pueda comprender y aplicar los Sistemas distribuidos, tanto en el área de base de datos, como en el área de aplicaciones de red, como manejo de protocolos, sistemas operativos, bajo diferentes tipos de enlaces, diferentes arquitecturas de cómputo distribuido (Cliente/Servidor). Se analizarán las principales tecnologías de programación para sistemas distribuidos utilizando Middlewares como RPCs, RMIs, Corba y Servicios Web.
Contenido
1. Introducción a los Sistemas Distribuidos
a. Caracterización de los sistemas distribuidos
b. Ejemplos de sistemas distribuidos
c. Recursos compartidos
d. La Web
2. Modelos de sistema
a. Modelos arquitectónicos
b. Modelos fundamentales
3. Comunicación en sistemas distribuidos
a. Mecanismos básicos de comunicación (IPC)
b. Comunicación cliente/servidor
c. Sockets y RPCs
d. Presentación externa de datos y empaquetado (xdr, cdr, xml)
e. Comunicación en grupo
f. Middlewares
g. Manejo de procesos e hilos
4. Sistemas de archivos distribuidos
a. Conceptos básicos y estructura
b. Servicios de directorio y archivos
c. Replicación
d. Manejo de transacciones
e. Caso de estudio: NFS, AFS
5. Sincronización y coordinación
a. Mecanismos de sincronización entre procesos
b. Algoritmos de sincronización de relojes
c. Manejo de estado global
d. Coordinación y acuerdo: exclusión mutua, elección y multidifusión
6. Objetos distribuidos e invocación remota (middlewares)
a. Introducción
b. Comunicación entre objetos distribuidos
c. Llamadas a procedimientos/métodos remotos (RPC/RMI)
d. Eventos y notificaciones
e. RMIs
7. Aplicaciones Web
a. Aplicaciones con clientes pesados (desarrollo del lado del cliente: DHTML)
b. Aplicaciones con clientes ligeros (desarrollo del lado del servidor: JSP)
c. Arquitectura de aplicaciones Web usando MVC
d. Servicios Web
8. Seguridad
a. Introducción
b. Técnicas de seguridad: firewalls, criptografía, certificados
c. Algoritmos criptográficos: simétricos y asimétricos
d. Firmas digitales
Bibliografía
1. Distributed Systems: Concepts and Design** . G. Coulouris, J. Dollimore, T. Kindberg, Editorial: Addison Wesley,2005, 4th edition. ISBN: 0321263545
2. Sistemas Distribuidos (español -versión anteior -). George Coulouris; Jean Dollimore; Sebastián Dormido; Tim Kindberg Editorial: Addison Wesley | 3era Edición Idioma: Español ISBN: 8478290494.
3. From P2P to Web Services and Grids: Peers in a Client/Server World Ian J. Taylor and Andrew Harrison Editorial Springer; 1 edición (Octubre 21, 2004) ISBN-10: 1852338695
4. ISBN-13: 978-1852338695
5. Distributed Systems: Principles and Paradigms** Andrew S. Tanenbaum, Maarten van Oteen
6. Editorial: Prentice Hall; United States 2nd edition (Oct 2, 2006) ISBN: 0132392275
7. Concurrent and Distributed Computing in Java ** Vijay K. Garg Editorial: Wiley-IEEE Press (February 4, 2004) ISBN: 047143230X
8. Java in Distributed Systems: Concurrency, Distribution and Persistence Marko Boger
9. Editorial: John Wiley & Sons; 1 edition (May 16, 2001) ISBN: 0471498386
10. Sistemas Operativos Distribuidos** Andrew S. Tanenbaum Editorial: Prentice Hall; ISBN: 9688806277
11. Distributed Operating Systems Andrew S. Tanenbaum Editorial: Prentice Hall; US Ed edition August 25, 1994) ISBN: 0132199084
12. Distributed Operating Systems: Concepts and Practice Doreen L. Galli Editorial: Prentice Hall; 1st edition (August 31, 1999) ISBN: 0130798436
13. Vijay K. Garg. Concurrent and Distributed Computing in Java. Editorial: Wiley-IEEE Press (February 4, 2004). ISBN: 047143230X.
14. Marko Boger. Java in Distributed Systems: Concurrency, Distribution and Persistence. Editorial: John Wiley & Sons; 1 edition (May 16, 2001). ISBN: 0471498386.
15. Doreen L. Galli Distributed Operating Systems: Concepts and Practice Editorial: Prentice Hall; 1st edition (August 31, 1999) ISBN: 0130798436