Créditos
6
Tipos
Complementaria de especialidad (Tecnologías de la información)
Requisitos
- Prerrequisito: XC
Departamento
AC
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 ( silvia.llorente@upc.edu )
Otros
- Jaime M. Delgado Merce ( jaime@ac.upc.edu )
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0.4
Aprendizaje autónomo
5.6
Competencias
Competencias técnicas comunes
- 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.2 - Evaluar sistemas hardware/software en función de un criterio de calidad determinado.
- 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.
Especialidad tecnologías de la informació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.1 - Dirigir, planificar y coordinar la gestión de la infraestructura informática: hardware, software, redes y comunicaciones.
- 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.
Espíritu emprendedor e innovador
- 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.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
Actividad Acto evaluativo
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
- Aprendizaje autónomo: Preparación de la práctica
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
2h
Aprendizaje dirigido
0h
Aprendizaje autónomo
1h
Desarrollo del tema: Desarrollo de aplicaciones y servicios basados ​​en HTTP
Comprensión de los contenidos para poder aplicarlos en el laboratorio asociado al tema.Objetivos: 2 3 4 5 6 10 11
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h
Laboratorio del tema: Desarrollo de aplicaciones web
Comprensión de la configuración y funcionamiento de un servidor de aplicaciones para poder desarrollar aplicaciones web sencillas.- Laboratorio: Sesión presencial de laboratorio: Semanas 2 a 4
- Aprendizaje autónomo: Preparación de la práctica
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h
Desarrollo del tema: Representación e intercambio de contenidos digitales
Comprensión de los contenidos para poder aplicarlos en el laboratorio asociado al tema.- Aprendizaje dirigido: Actitud adecuada ante el trabajo
Contenidos:
Teoría
6h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
1h
Aprendizaje autónomo
4h
Laboratorio del tema: Desarrollo servicios web
Comprensión de la configuración y funcionamiento de un servidor de aplicaciones para poder desarrollar servicios web.- Laboratorio: Sesión presencial de laboratorio: Semanas 5 a 7
- Aprendizaje autónomo: Preparación de la práctica
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
9h
Desarrollo del tema: Sistemas de transmisión y distribución de contenidos multimedia
Comprensión de los contenidos para poder aplicarlos en el laboratorio asociado al tema.Objetivos: 13
Contenidos:
Teoría
5h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
5h
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
- Aprendizaje autónomo: Preparación de la práctica
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Primer Control teoría
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: 1 4 7 8 9 10 11 16 18
Semana: 10
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
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
- Aprendizaje dirigido: Fuera de horas de clase
- Aprendizaje autónomo: Preparación entrevista
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
4h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
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: 1 2 4 19
Contenidos:
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h
Laboratorio del tema: Práctica exploratoria
Comprensión de la información encontrada sobre el tema escogido y redacción de un informe que describa los resultados.- Laboratorio: Sesión presencial de laboratorio: Semanas 11 to 14
- Aprendizaje dirigido: Emprendeduría e innovación
- Aprendizaje autónomo: Preparación de la práctica
Contenidos:
Teoría
0h
Problemas
0h
Laboratorio
6h
Aprendizaje dirigido
2h
Aprendizaje autónomo
8h
Sesiones de repaso
Planteamiento de dudas sobre la materia al profesorado. Preparación del control y del examen finalContenidos:
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h
Segundo Control Teoría
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 distribuidasObjetivos: 1 2 7 10 13 19
Semana: 14
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
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á:
NF = MAX(0.3*EF1, 0.3*C1) + MAX(0,3*EF2, 0.3*C2) + 0.4 * NL
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).
Bibliografía
Básico
-
Computer networking: a top-down approach
- Kurose, J.F.; Ross, K.W,
Pearson Education Limited,
2022.
ISBN: 9781292405469
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005149378006711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Computer networks
- Tanenbaum, A.S.; Feamster, N.; Wetherall, D.J,
Pearson,
2021.
ISBN: 9781292374062
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005067577106711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Web services essentials
- Cerami, E,
O'Reilly Media,
2002.
ISBN: 0596002246
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991002417459706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementario
-
Next generation wireless applications: creating mobile applications in a web 2.0 and mobile 2.0 world
- Golding, P,
John Wiley & Sons,
2008.
ISBN: 9780470725061
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003400539706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Web design in a nutshell: [a desktop quick reference]
- Niederst Robbins, J,
O'Reilly,
2006.
ISBN: 9780596009878
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003598059706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Designing interfaces: patterns for effective interaction design
- Tidwell, J,
O'Reilly Media, Inc.,
2020.
ISBN: 9781492051916
-
Web application architecture: principles, protocols, and practices
- Shklar, L.; Rosen, R,
John Wiley,
2009.
ISBN: 9780470518601
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003630939706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Apache Axis2 web services : create secure, reliable, and easy-to-use web services using Apache Axis2
- Jayasinghe, D.; Azeez, A,
Packt Publishing,
2011.
ISBN: 9781849511568
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991004053669706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Web W3C on parla de tecnologies relacionades amb serveis web http://www.w3.org/standards/webofservices/
- REpresentational State Transfer (REST) https://openaccess.uoc.edu/bitstream/10609/151345/2/REpresentationalStateTransfe
- Web W3C on parla de tecnologies relacionades amb dispositius https://www.w3.org/standards/webofdevices/
Capacidades previas
- Conocimientos avanzados de programación en lenguaje Java.- No se requiere saber HTML, XML o JSON, pero se utilizarán 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, bases de datos.