Tipos
Complementaria de especialidad (Ingeniería de Servicios)
Este curso se centra en la necesidad de interoperabilidad entre sistemas y cómo los servicios Web, un concepto que engloba diferentes soluciones multiplataforma basadas en estándares Web, intentan superar los muchos desafíos que los sistemas distribuidos han abordado de varias maneras en el pasado y en la actualidad. Al final del curso, los estudiantes habrán aprendido los conceptos relevantes relacionados con la naturaleza, características y tipos de Servicios Web y adquirido experiencia en el consumo, diseño, construcción y mantenimiento de servicios ubicados en la web.
Horas semanales
Aprendizaje autónomo
7.11
Objetivos
-
Capacidad para diseñar e implementar software que interactúe con servicios y APIs web públicos o privados
Competencias relacionadas:
CEE5.1,
CEE5.3,
CB6,
CB9,
CTR3,
CG5,
-
Conocer las tecnologías web fundamentales que son la base para el desarrollo de los servicios web
Competencias relacionadas:
CB6,
CB8,
CB9,
-
Conocer los diferentes protocolos y estándares de comunicación de los servicios web
Competencias relacionadas:
CB6,
CB8,
CB9,
-
Capacidad para diseñar e implementar servicios web, seleccionando y utilizando las tecnologías y herramientas más adecuadas en cada caso
Competencias relacionadas:
CEE5.1,
CEE5.3,
CB6,
CB8,
CB9,
CTR3,
CG5,
-
Capacidad para probar y monitorizar servicios web, seleccionando y utilizando las tecnologías y herramientas más adecuadas en cada caso
Competencias relacionadas:
CEE5.1,
CEE5.3,
CB6,
CB8,
CB9,
CTR3,
CG5,
Contenidos
-
Introducción
-
Orígenes y Precedentes
Fundamentos de Sistemas Distribuidos. Middleware. SOA
-
Tegnologías Web
Los fundamentos: URIs. HTTP. Proxies, cachés, cookies. Computación basada en navegador: JavaScript, DOM, AJAX. Computación en el servidor: CGI, PHP, Java Servlets. Formatos de intercambio de datos Web: XML, JSON.
-
Protocolos para Servicios Web
SOAP i WSDL. Servicios Web RESTful.
-
Desarrollo de Servicios Web
Propiedades de una metodología de desarrollo de servicios. Cualidades de la metodología de desarrollo de servicios. Ciclo de vida de desarrollo de servicios web. Análisis de servicios, diseño y construcción. Patrones de diseño para el desarrollo de servicios web.
-
Seguredad de Servicios Web
Conceptos generales. Seguridad en servicios Web RESTful. Estándares de Seguridad XML. Protección de los servicios web WS- *
-
Temas Avanzados
Evolución, gestión, supervisión y pruebas de Servicios Web. Transacciones. Composición y Coordinación.
Actividades
Actividad
Acto evaluativo
Clases de Teoria
Participa activamente en la clase de teoría.
Objetivos:
2
3
Contenidos:
Presentaciones
En grupos de 3-4, prepara un tema para ser presentado con la ayuda de transparencias. Entrega las transparencias antes del plazo fijado. Hace la presentación y responde las preguntas del profesor y de sus compañeros de clase. Evalúa las presentaciones de los otros grupos.
Objetivos:
2
3
Contenidos:
Laboratorio: Sesiones semanales
Por parejas, trabaja (instala, configura, programa) para llevar a cabo una serie de tareas preestablecidas en el enunciado entregado al inicio de la sesión, utilizando el lenguaje, herramientas y recursos indicados. Con antelación, y de manera autónoma, se ha familiarizado e introducido en el uso de estas tecnologías.
Objetivos:
1
2
3
4
Contenidos:
Laboratorio: Proyecto
En grupos de 3-4, diseña, implementa y despliega servicios web. Cada semana acude a la sesión de laboratorio para trabajar en el proyecto, indicar el grado de consecución de los hitos establecidos para esa sesión, (re) planificar los hitos para las próximas sesiones, presentar resultados i reportar dudas y problemas. Al final del proyecto, evalua el trabajo de sus compañeros de proyecto.
Objetivos:
1
2
3
4
5
Contenidos:
Examen Final
Examen escrito de los contenidos de la asignatura
Objetivos:
1
2
3
4
5
Semana:
16
Metodología docente
La docencia de la asignatura está estructurada en clases de teoría y clases de laboratorio.
Clases de teoría: 2 horas de clase por semana.
Los instructores pueden presentar algunos de los contenidos del curso utilizando diapositivas o algún otro material disponible en Atenea. Habrá también sesiones en las que los estudiantes serán requeridos para preparar por su cuenta y presentar ante la clase algún tema.
Clases de laboratorio: 2 horas de laboratorio por semana.
Durante las 9 primeras semanas de curso, yi tras una breve introducción sobre las tareas a realizar, los alumnos las llevarán a cabo usando el ordenador de acuerdo con un plan de trabajo preestablecido y una lista de objetivos.
Durante el resto de semanas del curso, los alumn0s, en grupos de 3-4, diseñarán e implementarán un proyecto de servicios web. Las sesiones de laboratorio servirán per trabajar en el proyecto, discutir i resolver dudas y problemas, fijar y gestionar objetivos y presentar resultados.
Método de evaluación
30% Examen Final
30% Sesiones de laboratorio semanales
20% Proyecto de laboratorio
20% Presentaciones
Bibliografía
Básica:
-
Service design patterns: fundamental design solutions for SOAP/WSDL and RESTful Web services -
Daigneau, Robert,
Addison-Wesley, cop. 2012. ISBN: 9780321544209
http://cataleg.upc.edu/record=b1409220~S1*cat
-
SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST (The Prentice Hall Service Technology Series from Thomas Erl) -
Erl, Thomas et al.,
Prentice Hall, 2012. ISBN: 9780137012510
-
Web services: principles and technology -
Papazoglou, M,
Pearson, cop. 2008. ISBN: 978-0-321-15555-9
http://cataleg.upc.edu/record=b1319474~S1*cat
Complementaria:
Capacidades previas
Fundamentos de Programación e Ingienería del Software
Fundamentos de Redes de Ordenadores e Internet