Servicios Web

Créditos
6
Tipos
Complementaria de especialidad (Ingeniería de Servicios)
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
ESSI
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.

Profesorado

Responsable

  • Carles Farre Tost ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
7.11

Competencias

Competencias Técnicas de cada especialidad

Service engineering

  • CEE5.1 - Capacidad para participar en proyectos de mejora o creación de sistemas de servicios, aportando especialmente: a) propuestas de innovación e investigación basadas en nuevos usos y desarrollos de las tecnologías de la información b) la aplicación de los principios de la ingeniería del software y las bases de datos en el desarrollo de los sistemas de información que sean más adecuados, c) la determinación, instalación y gestión de la infraestructura/plataforma informática necesaria para el funcionamento eficiente de los sistemas de servicio.
  • CEE5.3 - Capacidad para trabajar en equipos interdisciplinarios de ingeniería de servicios y, disponiendo de la experiencia de dominio necesaria, capacidad para trabajar autónomamente en sistemas de servicios concretos.

Competencias Técnicas Genéricas

Genéricas

  • CG5 - Capacidad para aplicar soluciones innovadoras y realizar avances en el conocimiento que exploten los nuevos paradigmas de la Informática, particularmente en entornos distribuidos.

Competencias Transversales

Trabajo en equipo

  • CTR3 - Ser capaz de trabajar como miembro de un equipo, ya sea como un miembro más, o realizando tareas de dirección con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB9 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Objetivos

  1. 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,
  2. Conocer las tecnologías web fundamentales que son la base para el desarrollo de los servicios web
    Competencias relacionadas: CB6, CB8, CB9,
  3. Conocer los diferentes protocolos y estándares de comunicación de los servicios web
    Competencias relacionadas: CB6, CB8, CB9,
  4. 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,
  5. 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

  1. Introducción
  2. Orígenes y Precedentes
    Fundamentos de Sistemas Distribuidos. Middleware. SOA
  3. 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.
  4. Protocolos para Servicios Web
    SOAP i WSDL. Servicios Web RESTful.
  5. 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.
  6. Seguredad de Servicios Web
    Conceptos generales. Seguridad en servicios Web RESTful. Estándares de Seguridad XML. Protección de los servicios web WS- *
  7. Temas Avanzados
    Evolución, gestión, supervisión y pruebas de Servicios Web. Transacciones. Composición y Coordinación.

Actividades

Actividad Acto evaluativo


Teoría
20h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
10h

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:
Teoría
6h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
25h

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:
Teoría
0h
Problemas
0h
Laboratorio
18h
Aprendizaje dirigido
0h
Aprendizaje autónomo
27h

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:
Teoría
0h
Problemas
0h
Laboratorio
10h
Aprendizaje dirigido
0h
Aprendizaje autónomo
20h

Examen Final

Examen escrito de los contenidos de la asignatura
Objetivos: 1 2 3 4 5
Semana: 16
Tipo: examen final
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
12h

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:

Web links

Capacidades previas

Fundamentos de Programación e Ingienería del Software
Fundamentos de Redes de Ordenadores e Internet