| Titulación | Máster Universitario en Ingeniería de Telecomunicación |
| Curso | 2º |
| Cuatrimestre | 1º |
| Tipo | Optativa |
| Créditos | 3 ECTS |
| Horas a la semana | 1.5 |
| Horario | Martes 19:45-21:15h |
| Aulas | Teoría: 1.0.B03 Prácticas: 4.S.D01 |
| Profesores |
Norberto Fernández
(Teoría, Prácticas y Coordinación) |
El objetivo de este curso es que el alumno se familiarice con las últimas tendencias en tecnologías para la distribución de contenidos y prestación de servicios digitales. Entre las competencias que el alumno debería adquirir para superar con éxito la asignatura se encuentran:
- Entender la importancia de las tecnologías de distribución de contenidos y prestación de servicios en el contexto de los sistemas de información actuales.
- Conocer mecanismos de prestación de servicios a través de tecnologías Web (como los Web Services).
- Conocer protocolos de distribución de contenidos entre pares (Peer to peer).
- Conocer otras tecnologías y tendencias actuales, como podrían ser el MOM (middleware orientado a mensaje), REST (Representational State Transfer) o las CDNs (Content Distribution Networks).
- Utilizar herramientas y librerías software que faciliten el desarrollo de sistemas de distribución de contenidos y prestación de servicios.
- Desarrollar servicios y sistemas de distribución de contenidos simples basados en las tecnologías antes mencionadas.
La asignatura hace un especial hincapié en las prácticas, que suponen aproximadamente un 25% de la carga crediticia total, para que el alumno tenga no sólo un amplio conocimiento teórico sino también aplicado.
El curso se estructura en cuatro bloques. El primero servirá como marco introductorio, los dos siguientes profundizarán en los aspectos técnicos de los mecanismos de prestación de servicios basados en tecnologías Web y de los sistemas de distribución de contenidos peer to peer. Por último, el cuarto bloque mostrará con menor detalle algunas tecnologías alternativas y tendencias actuales. El contenido inicialmente previsto para estos cuatro bloques se detalla a continuación:
- Introducción y conceptos básicos
- Servicios Web:
- Formato de mensajes: SOAP
- Descripción de servicios: WSDL
- Directorios de servicios: UDDI
- Composición de servicios: WS-BPEL
- Peer to peer:
- Sistemas de 1ª generación: Napster
- Sistemas de 2ª generación: Gnutella
- Sistemas de 3ª generación:
- Redes jerárquicas (Gnutella 2)
- Swarming (BitTorrent)
- Tablas hash distribuidas (Chord)
- Tecnologías alternativas y tendencias:
- Servicios:
- Middleware orientado a mensaje y JMS (Java Message Service)
- REST (Representational State Transfer)
- Distribución de contenidos:
- CDNs (Content Distribution Networks)
- Servicios:
El calendario inicialmente previsto de sesiones se presenta a continuación. Téngase en cuenta que puede sufrir ligeras modificaciones, de las que se notificará debidamente. Más información al respecto, así como la descripción del trabajo personal del alumno para cada sesión se puede encontrar en el cronograma del curso.
| Sesión | Fecha | Contenido inicialmente previsto | Aula |
| 1 | 27 Sept |
Presentación de la asignatura Introducción a las tecnologías de distribución de contenidos |
1.0.B03 |
| 2 | 04 Oct |
Servicios Web (I) (Introducción a los Servicios Web Servicios Web, SOAP, WSDL (I)) |
1.0.B03 |
| 3 | 11 Oct | FESTIVO | -- |
| 4 | 18 Oct |
Servicios Web (II) (WSDL (II), UDDI, WS-BPEL) |
1.0.B03 |
| 5 | 25 Oct | Práctica de Servicios Web (I) | 4.S.D01 |
| 6 | 01 Nov | FESTIVO | -- |
| 7 | 08 Nov | Práctica de Servicios Web (II) | 4.1.B01 |
| 8 | 15 Nov |
Examen parcial (I) Tecnologías y protocolos peer to peer (I) (Introducción, Napster, Gnutella) |
1.0.B03 |
| 9 | 22 Nov |
Tecnologías y protocolos peer to peer (II) (Mecanismos de swarming: BitTorrent) |
1.0.B03 |
| 10 | 29 Nov |
Tecnologías y protocolos peer to peer (III) (Sistemas jerárquicos: Gnutella 2; Tecnologías de tabla hash distribuida: Chord) |
1.0.B03 |
| 11 | 06 Dic | FESTIVO | -- |
| 12 | 13 Dic | Práctica de Peer to peer | 4.1.B02 |
| 13 | 20 Dic |
Examen parcial (II) Otras tecnologías (MOM, JMS, REST, CDNs) Tendencias futuras. |
1.0.B03 |
| 14 | 10 Ene (2012) | Presentación de trabajos de tecnologías de distribución de contenidos | 1.0.B03 |
| Extra 1 | 17 Ene (2012) | Sesión de resolución de ejercicios / repaso | 4.S.D01 |
| Extra 2 | 24 Ene (2012) | Examen de laboratorio de la asignatura | 4.1.B01 |
| Evaluación | 10 Feb (2012) | Examen de la convocatoria ordinaria | |
| Evaluación | 13 Jul (2012) | Examen de la convocatoria extraordinaria |
- Los días y aulas de prácticas se indican de forma detallada en la planificación.
- Los alumnos podrán acceder al laboratorio de forma remota conectándose a los equipo del laboratorio por ssh desde cualquier ordenador de Internet, cualquier día de la semana a cualquier hora.
-
Para poder acceder a los ordenadores del laboratorio es necesario tener
una cuenta abierta.
- Si ya se dispone de cuenta en otra asignatura impartida por el Depto. de Ingeniería Telemática se puede utilizar directamente.
- En el caso en que no se disponga de cuenta, es posible solicitar la apertura de una a través del siguiente formulario (usuario: alumno, clave: curso11_12). Las cuentas se solicitarán individualmente (cada alumno tiene derecho a tener una cuenta). Esta cuenta servirá además para el resto de las asignaturas que curse en el Depto. de Ingeniería Telemática.
La evaluación de la asignatura se basará en una metodología de evaluación continua que utilizará las siguientes herramientas de evaluación:
- Exámenes parciales teóricos a lo largo del período lectivo de la asignatura, en los que se evaluará el grado de compresión de los conceptos y contenidos de naturaleza teórica (10% de la calificación final)
- Examen de laboratorio, que tendrá en cuenta la aplicación de los conocimientos y el aprendizaje de las tecnologías y herramientas de desarrollo (15% de la calificación final)
- Preparación, exposición y defensa de una presentación técnica (15% de la calificación final)
- Prueba escrita teórico-práctica final, en la que se evaluará tanto la adquisición de conocimientos teóricos como de habilidades y capacidades de resolución de problemas más prácticos (60% de la calificación)
Es necesario tener conocimientos básicos del lenguaje Java para comprender adecuadamente parte del temario. Dado que es posible que algunos de los alumnos no hayan estudiado este lenguaje previamente en asignaturas de programación, se proporcionan al final de la página algunos enlaces que pueden resultar de utilidad.
- Sanjiva Weerawarana, Francisco Curbera, Frank Leymann, Tony Storey, Donald F. Ferguson: Web Services Platform Architecture. Prentice Hall, 2005. ISBN: 0-131-48874-0.
- Vivek Chopra, Zaev Zoran, Gary Damschen, Chris Dix, Patrick Cauldwell, Rajesh Chawla, Kristy Saunders, Glenn Olander, Francis Norton, Tony Hong, Uche Ogbuji, Mark A. Richman: Professional XML Web Services. Worx Press Ltd., 2001. ISBN: 1-861005-09-1.
- Ralf Steinmetz, Klaus Wehrle (Eds.): Peer-to-Peer Systems and Applications. LNCS 3485. Springer, 2005. ISBN: 3-540-29192-X.
- Andy Oram (Ed.): Peer-to-peer: Harnessing the Benefits of a Disruptive Technology. O'Reilly, 2001. ISBN: 0-596-00110-X.
- Leonard Richardson, Sam Ruby: RESTful Web Services. O'Reilly Media, 2007. ISBN:: 978-0-596-52926-0.
- Mark Richards, Richard Monson-Haefel, David A Chappell: Java Message Service, Second Edition. O'Reilly Media, 2009. ISBN: 978-0-596-52204-9.
Java
Cursos / tutoriales
- ¿Qué es Java? (es) de javaHispano
- Tutorial de Java (es) "Aprende Java como si estuviera en primero" de la Universidad de Navarra
- Tutorial de Java (en) de Sun (ahora parte de Oracle)
- Curso sobre aspectos esenciales del lenguaje Java (en) de jGuru
- Curso del "Java Developer Connection" titulado "Essentials of the JavaProgramming Language: A Hands-On Guide" por Monica Pawlan, Part 1 (en), Part 2 (en)
- Tutorial de Java Web Services (en)
API de Java