Asignatura donde se trabaja con protocolos de nivel de aplicación de las redes de computadores y aplicaciones distribuidas, incluyendo aplicaciones para dispositivos móviles.
En concreto, se mostrará el funcionamiento de aplicaciones y servicios basados en el protocolo HTTP y otros protocolos de nivel de aplicación, indicando algunos aspectos diferenciales de las aplicaciones móviles.. También se tratará la representación e intercambio de contenidos multimedia (audio, vídeo, etc.) en streaming y descarga.
Finalmente, se explicarán algunos de los mecanismos utilizados para proporcionar seguridad a nivel de aplicación.
Profesorado
Responsable
Silvia Llorente Viejo (
)
Otros
Jaime M. Delgado Merce (
)
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.4
Aprendizaje autónomo
5.6
Competencias
Competencias Técnicas
Competencias técnicas comunes
CT6 - Demostrar conocimiento y comprensión del funcionamiento interno de un computador y del funcionamiento de las comunicaciones entre ordenadores.
CT6.4
- Demostrar conocimiento y capacidad de aplicación de las características, las funcionalidades y la estructura de los Sistemas Distribuidos, de las Redes de Computadores y de Internet que permita su uso y su administración, así como el diseño y la implementación de aplicaciones basadas en ellas.
CT7 - Evaluar y seleccionar plataformas de producción hardware y software para la ejecución de aplicaciones y de servicios informáticos.
CT7.2
- Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
CT8 - Planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha, su mejora continua y valorando su impacto económico y social
CT8.1
- Identificar tecnologías actuales y emergentes y evaluar si son aplicables, y en qué medida, para satisfacer las necesidades de los usuarios.
CT8.4
- Elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y la normativa vigente.
Competencias Técnicas de cada especialidad
Especialidad tecnologías de la información
CTI1 - Definir, planificar y gestionar la instalación de la infraestructura TIC de la organización.
CTI1.4
- Seleccionar, diseñar, desplegar, integrar, evaluar, construir, gestionar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de costo y calidad adecuados.
CTI2 - Garantizar que los sistemas TIC de una organización funcionan de forma adecuada, son seguros y están adecuadamente instalados, documentados, personalizados, mantenidos, actualizados y sustituidos, y que las personas de la organización reciban un soporte TIC correcto.
CTI2.1
- Dirigir, planificar y coordinar la gestión de la infraestructura informática: hardware, software, redes y comunicaciones.
CTI3 - Diseñar soluciones que integren tecnologías de hardware, software y comunicaciones (y capacidad de desarrollar soluciones específicas de software de sistemas) para sistemas distribuidos y dispositivos de computación ubícua.
CTI3.1
- Concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación ubicua.
CTI3.2
- Implementar y gestionar sistemas ubicuos (mobile computing systems).
CTI3.3
- Diseñar, implantar y configurar redes y servicios.
CTI4 - Emplear metodologías centradas en el usuario y la organización para el desarrollo, la evaluación y la gestión de aplicaciones y sistemas basados en tecnologías de la información que aseguren la accesibilidad, la ergonomía y la usabilidad de los sistemas.
Competencias Transversales
Espíritu emprendedor e innovador
G1 [Avaluable] - Conocer y comprender la organización de una empresa y las ciencias que rigen su actividad; capacidad de comprender las reglas laborales y las relaciones entre la planificación, las estrategias industriales y comerciales, la calidad y el beneficio. Desarrollar la creatividad, el espíritu emprendedor y la tendencia a la innovación.
G1.3
- Ser resolutivo. Utilizar conocimientos y habilidades estratégicas para la creación y gestión de proyectos, aplicar soluciones sistémicas a problemas complejos, y diseñar y gestionar la innovación en la organización. Demostrar flexibilidad y profesionalidad en el desarrollo de su trabajo.
Actitud frente al trabajo
G8 [Avaluable] - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.
G8.3
- Tener motivación para el desarrollo profesional y para afrontar nuevos retos. Tener motivación para la mejora continua. Disponer de capacidad de trabajo en situaciones de falta de información.
Objetivos
Ser capaz de predecir el funcionamiento de los protocolos e interpretar el contenido de los mensajes que utilizan las aplicaciones web.
Competencias relacionadas:
CT6.4,
CT7.2,
Ser capaz de interpretar los datos en forma de documentos XML y JSON que intercambian los servicios web.
Competencias relacionadas:
CT8.1,
CT7.2,
Ser capaz de configurar un servidor de aplicaciones y poner en marcha una aplicación web.
Competencias relacionadas:
CTI3.3,
CTI2.1,
CT6.4,
CTI1.4,
Ser capaz de interpretar los datos que intercambian las aplicaciones distribuidas.
Competencias relacionadas:
CT8.1,
Ser capaz de configurar un servidor de aplicaciones y poner en marcha servicios web.
Competencias relacionadas:
CTI3.3,
CTI2.1,
CT6.4,
CTI1.4,
Ser capaz de configurar un servidor de aplicaciones y poner en marcha aplicaciones web que hacen uso de servicios web.
Competencias relacionadas:
CTI3.3,
G1.3,
CTI3.2,
Ser capaz de describir formatos de información existentes y explicar su uso habitual.
Competencias relacionadas:
CT8.1,
Ser capaz de describir el paradigma cliente / servidor y dar ejemplos de protocolos que lo siguen.
Competencias relacionadas:
CT6.4,
Ser capaz de explicar qué es una librería de comunicaciones y poner ejemplos de librerías existentes.
Competencias relacionadas:
CT8.1,
Ser capaz de explicar qué es un servidor de aplicaciones y poner ejemplos de servidores de aplicaciones existentes.
Competencias relacionadas:
CT8.1,
Ser capaz de describir a alto nivel las características específicas de las aplicaciones móviles.
Competencias relacionadas:
CTI3.1,
Ser capaz de desarrollar una aplicación distribuida completa.
Competencias relacionadas:
G1.3,
CT8.1,
CT7.2,
CT8.4,
CTI4,
Ser capaz de enumerar las diferencias entre los diferentes métodos de transmisión de contenidos multimedia.
Competencias relacionadas:
CTI3.1,
CT8.1,
CT6.4,
Ser capaz de explicar los resultados obtenidos en la práctica "Desarrollo de aplicaciones web que hacen uso de servicios web".
Competencias relacionadas:
CTI3.1,
G1.3,
CTI2.1,
CT8.1,
CT6.4,
CT7.2,
CTI1.4,
CTI4,
Ser capaz de buscar información sobre un tema concreto, aplicarla en el laboratorio y redactar un informe que describa los resultados obtenidos.
Competencias relacionadas:
CTI3.1,
G1.3,
CT8.1,
CT6.4,
Capacidad de adaptación ante situaciones donde hay falta de información y / o cambios en los requerimientos iniciales.
Competencias relacionadas:
G8.3,
Capacidad de responder a cuestiones relacionadas con el trabajo hecho en las prácticas de la asignatura.
Competencias relacionadas:
G8.3,
Adquirir conciencia de cómo se debe trabajar para obtener unos resultados de calidad.
Competencias relacionadas:
G8.3,
Capacidad para enumerar los distintos mecanismos de seguridad que se pueden aplicar a las aplicaciones distribuidas.
Competencias relacionadas:
CT8.1,
CT6.4,
CTI1.4,
Contenidos
Introducción
Nivel de aplicación. Modelo cliente-servidor. Invocación remota de operaciones / métodos / procedimientos. Librerías de comunicaciones existentes. Formatos de información.
Desarrollo de aplicaciones y servicios basados en HTTP
Programación portales web. Servicios web. Servidores de aplicaciones.
Características de las redes móviles. Programación de aplicaciones distribuidas en el entorno móvil.
Representación e intercambio de contenidos digitales
Formatos: texto, documentos, imagen, vídeo y metadatos.
Sistemas de transmisión y distribución de contenidos multimedia
Streaming / Descarga. Servidores de distribución.
Seguridad en aplicaciones distribuidas
Mecanismos de seguridad a nivel de aplicación.
Actividades
ActividadActo evaluativo
Desarrollo del tema: Introducción
Comprensión de los contenidos para poder aplicarlos en el laboratorio asociado al tema. Objetivos:89 Contenidos:
Laboratorio del tema: Conceptos básicos de aplicaciones web
Comprensión de las aplicaciones web que se desarrollaran en la asignatura. Uso de las herramientas de programación para comprobar y modificar su funcionamiento.
Laboratorio: Sesión presencial de laboratorio: Semana 1
Laboratorio del tema: Desarrollo aplicaciones web que hacen uso de servicios web
Comprensión de la configuración y funcionamiento de un servidor de aplicaciones para poder desarrollar aplicaciones web que hacen uso de servicios web.
Laboratorio: Sesión presencial de laboratorio: Semanas 8 y 9
Control de 2 horas de duración. Se evalúa el contenido de los temas 1. Introducción, 2. Desarrollo de aplicaciones y servicios basados ¿¿en HTTP, 3. Representación e intercambio de contenidos. Objetivos:1478910111618 Semana:
10 Tipo:
examen de teoría
Teoría
1.5h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h
Entrevistas laboratorio (En clase de laboratorio)
Explicación del trabajo realizado en la práctica "Desarrollo aplicaciones web que hacen uso de servicios web"
Laboratorio: Sesión presencial de laboratorio: Semana 10
Entrevistas para evaluar la práctica de laboratorio "Desarrollo aplicaciones web que hacen uso de servicios web" Objetivos:6121417 Semana:
11 Tipo:
entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
3h
Aprendizaje autónomo
2h
Desarrollo del tema: Seguridad en aplicaciones distribuidas
Compresión de los distintos mecanismos de seguridad que se pueden utilizar a nivel de aplicación, como por ejemplo, firma digital, cifrado, claves simétricas y asimétricas, privacidad o autenticación. Objetivos:12419 Contenidos:
Control de 2 horas de duración. Se evalúa el contenido de parte del tema 3. Representación e intercambio de contenidos digitales y los temas 4. Sistemas de transmisión y distribución de contenidos multimedia y 5. Seguridad en aplicaciones distribuidas Objetivos:127101319 Semana:
14 Tipo:
examen de teoría
Teoría
1.5h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h
Examen final de la asignatura
Objetivos:123456789101112131719 Semana:
15 (Fuera de horario lectivo) Tipo:
examen de teoría
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h
Metodología docente
La asignatura está formada por clases teóricas y de laboratorio. En las clases teóricas se introducirán los conceptos necesarios para realizar las prácticas y se plantearán problemas y casos relacionados con la materia. El alumno dispondrá de una colección de problemas que se resolverán en clase.
El laboratorio es una parte importante de la asignatura, ya que permitirá alcanzar los conceptos teóricos desde una vertiente de carácter más práctico. El alumno dispondrá del enunciado de la práctica antes de asistir al laboratorio. Los enunciados se colgarán en la web de la asignatura. Para cada práctica habrá una breve explicación teórica y un guión de cada práctica. Las sesiones de laboratorio presenciales estarán programadas para que se hagan después de haber visto los conceptos relacionados en las clases teóricas. En caso de no ser así, se hará una breve explicación al laboratorio para su correcto funcionamiento. El alumno deberá preparar la práctica, repasando los conceptos teóricos relacionados antes de la sesión presencial.
Método de evaluación
La evaluación de la asignatura tendrá dos componentes: Teoría (60%) y laboratorio (40%).
La nota de laboratorio se calculará a partir de la nota obtenida en las prácticas y la nota de las entrevistas de laboratorio.
La nota de teoría se calculará a partir de los controles y/o el examen final, que se divide en dos partes, como los controles.
La fórmula para calcular la nota de la asignatura será:
Donde:
NF = Nota final de la asignatura.
EF1 = Examen Final de teoría, primera parte, mismo temario C1.
EF2 = Examen Final de teoría, segunda parte, mismo temario C2.
C1 = Nota del Primer Control de teoría.
C2 = Nota del Segundo Control de teoría.
NL = Nota de Laboratorio. Se calculará en base a la nota media de las prácticas (50%) y la nota de los informes y entrevistes de prácticas (50%). En caso de no entregar los informes de prácticas, se deberá realizar un control de laboratorio (50%). Las prácticas disponen de rúbricas de corrección.
Evaluación de competencias:
Las competencias genéricas de la asignatura se evalúan en el laboratorio y valen el 40% de la nota total de la asignatura. Además, de algunas actividades prácticas, se extraerá la nota de las competencias genéricas, tal y como se explica a continuación.
La competencia genérica Emprendeduria e Innovación se evaluará en la práctica exploratoria.
La competencia genérica Actitud Adecuada Ante el Trabajo se evaluará en las entrevistas de laboratorio.
Calificación de las competencias genéricas: Pueden tener valores A, B, C o D (donde A corresponde a un nivel excelente, B corresponde a un nivel deseado, C corresponde a un nivel suficiente y D corresponde a un nivel no superado). En caso de no realizar las actividades correspondientes, la nota será N/A (no aplicable).
- Conocimientos avanzados de programación en lenguaje Java.
- No se requiere saber HTML, pero se utilitzarà durante todo el curso.
- Inglés técnico como para leer documentación, manuales y estándares.
- Conocimientos básicos sobre redes de computadores: Protocolos de nivel de red y transporte, funciones nivel de aplicación, especialmente protocolo HTTP.
- Conocimientos básicos sobre sistemas operativos: UNIX a nivel de usuario, Windows a nivel de usuario, organización de un SO, drivers, procesos, comunicación entre procesos, estructuras de datos.