El objetivo de este curso es que el estudiante adquiera conocimientos para entender el funcionamiento y hacer uso de los sistemas modernos de computación distribuida que posibilitan muchos de los servicios populares que son ofrecidos y consumidos por millones de usuarios en todo el mundo, como pueden ser Dropbox, Spotufy, Youtube, Google Search Engine
La filosofía de esta asignatura es facilitar el aprendizaje práctico de la computación distribuida a partir del uso de interfaces reales de servicios conocidos y actuales. Para lograr este objetivo, el alumno debe adquirir una serie de conocimientos y capacidades.
Conocimientos
Los conocimientos adquiridos al cursar esta asignatura son:
1. Conocer de la estructura de un sistema de comunicaciones distribuidas modernas, sus características internas y sus interfaces con las aplicaciones móviles, de escritorio y otros sistemas
2. Conocer los mecanismos básicos de comunicación en sistemas distribuidos mediante protocolos usados actualmente para interactuar con ellos como HTTP para interfaces REST o WebServices
3. Conocer los sistemas modernos de distribución de carga desde Enterprise Service Bus a los modernos sistemas de Map Reduce usados, por ejemplo, por Google, Amazon y muchos otros.
4. Conocer escenarios reales para aplicaciones web con muchas visitas (amazon, periódicos), arquitecturas de cloud para el desarrollo de aplicaciones y/o almacenamiento.
5. Conocer las ventajas y desventajas de estos sistemas y cuando una determinada aplicación debe ser implementada de forma distribuida (escalado de recursos y economía de centro de datos). Conocer casos reales de data sets que necesitan procesamiento distribuido.
Capacidades específicas
Las capacidades específicas que adquirirá el alumno al finalizar el curso:
1. Utilizar mecanismos básicos de comunicación en sistemas distribuidos.
2. Conocer aplicaciones centralizadas y distribuidas en red mediante prácticas demostrativas
3. Modelar y desplegar un sistema distribuido y hacer uso de aplicaciones y clouds existentes
Capacidades generales
En cuanto a las capacidades generales que adquirirá:
1. Habilidad para aplicar conocimientos de tecnologías de telecomunicación e ingeniería. Esta capacidad se trabajará especialmente en las prácticas de laboratorio así como en la resolución de ejercicios en las clases teóricas.
2. Habilidad para usar técnicas y herramientas de ingeniería necesarias para el ejercicio profesional
3. Habilidad para comunicarse de forma efectiva tanto de manera oral, escrita o gráfica tanto en español como en inglés a lo largo del
desarrollo de las actividades propuestas en la asignatura (ejercicios, trabajos sobre nuevas tecnologías, etc.).
4. Reconocimiento de la necesidad de un aprendizaje continuo y la habilidad de obtener y aplicar la información requerida accediendo a literatura técnica relacionada con el ámbito de la asignatura tanto en español como en inglés
5. Conocimiento de nuevas tecnologías y tendencias en el campo de estudio