Información



SISTEMAS DISTRIBUIDOS

CINVESTAV-Tamaulipas
Instructor:  Dr. Víctor J. Sosa Sosa

         email:  vjsosa(at)tamps.cinvestav.mx

NOTA:  Para el periodo Ene-Abr/2014, el curso será los:
Martes: 16-18hrs  y Viernes de  10-12hrs.

Este temario está sujeto a actualizaciones...

Objetivo:


Ofrecer a los estudiantes los conocimientos que les permitan comprender y aplicar los sistemas distribuidos, sus retos y potenciales. El curso aborda un enfoque especial en el desarrollo de sistemas de información distribuida, procesamiento y almacenamiento distribuido, sistemas heterogeneos, middlewares, manejo de protocolos, arquitecturas cliente/servidor, paso de mensajes y objetos distribuidos. El alumno desarrollará habilidades para programar aplicaciones en sistemas distribuidos a gran escala, por ejemplo sobre Internet y la Web. Comprenderá y aplicará tecnologías middlewares como Sockets, RPCs, RMIs, Corba, y Servicios Web. El curso incluyen como caso especial de estudio el framework de procesamiento y almacenamiento a gran escala utilizando la plataforma de Hadoop.

 
 Contenido:

1.  Introducción a los Sistemas Distribuidos  (pdf).
2. Modelos de Sistemas (modelos arquitectónicos)   (.pdf 180KB)
3. Repaso de Comunicación entre procesos (Unix)(.pdf 250KB)
     3.1 Ejemplo de programación: Comunicación entre procesos -IPCs, señales, semaforos - (zip)
     3.2 Ejemplo de programación: Uso de PThreads (zip )
     3.3 Ejemplo de programación: Exclusión mutua. (zip) (descripcion)
4.  Middlewares:
     Evolución en el desarrollo de aplicaciones distribuidas (.pdf  )
5. Programación distribuida
      5.1.- Programacion con Sockets
              5.1.1 Sockets de Berkeley (notas .pdf )
              5.1.2 Sockets Java (notas .pdf)
      5.2.- Programación RPCs (Remote Procedure Call)  (presentación)  (notas) (ejemplo)
      5.3.- RMI (Remote Method Invocation) (presentación)
                Ejemplos: (Chat)  (HolaMundoApplet)
                Sugerencias para Compilar
      5.4.- Objetos Distribuidos:   CORBA  (presentacion)
      5.5.- Servicios Web (SOAP, WSDL, UDDI, instar Axis) (presentacion SW-OpenSource y larga)
6.  Aplicaciones Web
      6.1 Introducción (.pdf  420KB) (english)
      6.2 Desarrollo de programación del lado del servidor (Clientes Delgados)
      6.3 Arquitectura de aplicaciones Web usando MVC  (MVC)
      6.4 Curso breve de Java Serve Pages (JSPs)
      6.5 Curso extendido de JSP(JSP-E)
7. Sistemas de Archivos Distribuidos (.pdf )
8. Representación de documentos y cálculo de similaridad (pdf)
9. Algorimos de busqueda Top-K (TABPA)
10. Caso de estudio:  Plataforma Hadoop: HDFS + Map/Reduce
  10.1 Introducción
  10.2 Map/Reduce framework
  10.3 Programación con Map/Reduce
  10.4 Algoritmos comunes para Map/Reduce
  10.5 Ecosistema de Hadoop: Pig, Hive, HBase, Flume, Oozie, Sqoop

 Descripción del Proyecto Final.


Anexos:
A.1  Introducción DHTML: HTML,JavaScript, DOM, CSS. ( Ejemplos DHTML )
A.2  XML Temas Complemetarios
A.3 Presentación de la Arquitectura .NET 
A.4 Presentación de MONO como implementación de .NET
       Presentacion: ppt   Ejemplo:  ppt
A.5 Sitio para descargar Tomcat
A.6 Tutoriales de introducción a Tomcat:  españolenglishoriginal documentation,...

A.7 Documentos que explica como crear servicios Web con Java utilizando AXIS.
        versión 1,   versión 2.
A.8 Presentación de diferentes métodos de invocar servicios web utilizando Axis (ppt)
A.9 Presentación de MapReduce (ppt). El artículo original esta aquí..
A.10 Presentación de Crawlers en la Web. Algunas sugerencia de Crawlers Open Sources
A.11Ejemplo de indexado de documentos utilizando Lucene.
A12 Discusión acerca de REST vs SOAP Web Services por Rafael Navarro (UPV)

 

 Evaluación:

Tareas:  40%
Examenes: 30%
Proyecto final: 30%

Software:

* Compilador GCC
* Máquina Virtual Java con JSDK

* Servidor de aplicaciones Tomcat

* Módulo para servicios Web: AXIS
* EDIs:  Netbeans  Eclipse


Bibliografía:


Libros:

Distributed Systems: Concepts and Design. **
George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair.
Addison Wesley; 5 edition (May 7, 2011).
ISBN-10: 0132143011
ISBN-13: 978-0132143011

Distributed Systems: Principles and Paradigms**
Andrew S. Tanenbaum, Maarten van Oteen
Editorial: Prentice Hall; United States 2nd edition (Oct 2, 2006)
 ISBN: 0132392275
 
Sistemas Distribuidos (español –versión antigua-)
George Coulouris; Jean Dollimore; Sebastián Dormido; Tim Kindberg

Editorial: Addison Wesley  |  3era  Edición
 Idioma: Español
ISBN: 8478290494.
 

Concurrent and Distributed Computing in Java
Vijay K. Garg
Editorial: Wiley-IEEE Press (February 4, 2004)
ISBN: 047143230X

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
ISBN-13: 978-1852338695

Distributed Systems: An Algorithmic Approach.
Sukumar Ghos.
Chapman & Hall/CRC, Taylor & Francis Group, LLC (2007).
ISBN-10: 1584885645
ISBN-13: 978-1584885641
 
Java in Distributed Systems: Concurrency, Distribution and Persistence
Marko Boger
Editorial: John Wiley & Sons; 1 edition (May 16, 2001)
ISBN: 0471498386
 
Sistemas Operativos Distribuidos**
Andrew S. Tanenbaum
Editorial: Prentice Hall; 
ISBN: 9688806277
 
Distributed Operating Systems
Andrew S. Tanenbaum
Editorial: Prentice Hall; US Ed edition (August 25, 1994)
ISBN: 0132199084
 
Distributed Operating Systems: Concepts and Practice
Doreen L. Galli
Editorial:
Prentice Hall; 1st edition (August 31, 1999)
ISBN: 0130798436

Artículos:

Andrew S. Tanenbaum and Robbert Van Renesse, Distributed Operating Systems.
ACM Computing Surveys (CSUR), Volume 17,  Issue 4. Pags. 419-470. ISSN:0360-0300.
The MIT Press scientific computation series.  1985.

Eliezer Levy and Abraham Silberschatz, Distributed file systems: concepts and examples.
ACM Computing Surveys (CSUR), Volume 22,  Issue 4. Pags. 321-374. ISSN:0360-0300. 1990.

Wolfgang Emmerich, Mikio Aoyama and Joe Sventek, The impact of research on the development of middleware technology. ACM Transactions on Software Engineering and Methodology (TOSEM), Volume 17,  Issue 4, Article No. 19.  ISSN:1049-331X. 2008.