Datos Identificativos 2021/22
Asignatura (*) Internet y Sistemas Distribuidos Código 614G01023
Titulación
Grao en Enxeñaría Informática
Descriptores Ciclo Periodo Curso Tipo Créditos
Grado 1º cuatrimestre
Tercero Obligatoria 6
Idioma
Castellano
Modalidad docente Presencial
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinador/a
Raposo Santiago, Juan
Correo electrónico
juan.raposo@udc.es
Profesorado
Álvarez Díaz, Manuel
Bellas Permuy, Fernando
Losada Perez, Jose
Montoto Castelao, Paula
Raposo Santiago, Juan
Correo electrónico
manuel.alvarez@udc.es
fernando.bellas@udc.es
jose.losada@udc.es
paula.montoto@udc.es
juan.raposo@udc.es
Web http://campusvirtual.udc.gal
Descripción general Esta materia céntrase no desenvolvemento de aplicacións distribuídas empregando un enfoque de deseño multicapa. No lado servidor, en primeiro lugar deseñase unha capa de acceso de datos, posteriormente unha capa de lóxica de negocio (para completar a capa modelo) e, finalmente, unha capa que expón a funcionalidade da aplicación como un servizo que pode ser empregado por outras aplicacións. Explícanse os principais estilos arquitectónicos para deseñar aplicacións distribuídas: REST e RPC. Para ilustrar todos estes conceptos xerais, empréganse tecnoloxías utilizadas habitualmente na industria para estes propósitos, como JDBC, XML, JSON, Servlets, HTTP e Apache Thrift. O enfoque da materia é fundamentalmente práctico.
Plan de contingencia 1. Modificacións nos contidos
Ningunha.

2. Metodoloxías
*Metodoloxías docentes que se manteñen
Todas.

*Metodoloxías docentes que se modifican
Ningunha.
As sesións maxistrais impartiríanse a través de Teams en tódolos grupos de teoría.
A docencia correspondente á parte práctica (prácticas de laboratorio e traballos tutelados) impartiríase tamén a través de Teams, con sesións grupais cando fose preciso explicar contidos e sesións privadas para atender dúbidas individuais de cada estudante ou grupo de prácticas (de maneira semellante a como se procede nos laboratorios de prácticas).

3. Mecanismos de atención personalizada ao alumnado
- Moodle: tódolos recursos docentes (diapositivas, exemplos, enunciado da práctica e traballos tutelados, anuncios, software, etc.) están dispoñibles a través de Moodle.
- Teams. As titorías aténdense por Teams nos horarios oficiais de cada profesor.
- Correo electrónico.

4. Modificacións na avaliación
A proba de resposta múltiple realizaríase a través de Moodle.
Os pesos asignados a cada metodoloxía non cambiarían.

*Observacións de avaliación:
Mantéñense as recollidas no apartado correspondente da guía docente.

5. Modificacións da bibliografía ou webgrafía
Ningunha.

Competencias del título
Código Competencias del título
A17 Conocimiento y aplicación de las características, funcionalidades y estructura de los sistemas distribuidos, las redes de computadores e internet, y diseñar e implementar aplicaciones basadas en ellas.
B1 Capacidad de resolución de problemas
B3 Capacidad de análisis y síntesis
C2 Dominar la expresión y la comprensión de forma oral y escrita de un idioma extranjero.
C3 Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida.
C4 Desarrollarse para el ejercicio de una ciudadanía abierta, culta, crítica, comprometida, democrática y solidaria, capaz de analizar la realidad, diagnosticar problemas, formular e implantar soluciones basadas en el conocimiento y orientadas al bien común.
C6 Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse.

Resultados de aprendizaje
Resultados de aprendizaje Competencias del título
Conocimiento y aplicación de las características, funcionalidades y estructura de los sistemas distribuidos, las redes de computadores e internet, y diseñar e implementar aplicaciones basadas en ellas. A17
B1
B3
C2
C3
C4
C6

Contenidos
Tema Subtema
Bloque 1. Introducción Tema 1. Introducción al Desarrollo de Aplicaciones Empresariales Multicapa
Bloque 2. Diseño de la Capa Modelo Tema 2. JDBC
Tema 3. Diseño e Implementación de la Capa Modelo
Tema 4. Pruebas de Integración de la Capa Modelo

Bloque 3. Diseño de Aplicaciones Distribuidas Tema 5. Lenguajes de Intercambio de Datos: XML y JSON
Tema 6. Diseño e Implementación de Servicios Web REST
Tema 7. Diseño e Implementación de Servicios RPC

Bloque 4. Interfaces Gráficas Web Tema 8. Introducción al Desarrollo de Aplicaciones Web

Planificación
Metodologías / pruebas Competéncias Horas presenciales Horas no presenciales / trabajo autónomo Horas totales
Sesión magistral A17 B3 C6 30 22 52
Prácticas de laboratorio A17 B1 B3 C3 C2 29 46 75
Prueba de respuesta múltiple A17 B1 B3 C3 C6 2 5 7
Trabajos tutelados A17 B1 B3 C3 C4 1 10 11
 
Atención personalizada 5 0 5
 
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos

Metodologías
Metodologías Descripción
Sesión magistral Clases impartidas por el profesor mediante la proyección de diapositivas. Las clases tienen un enfoque práctico, explicándose los conceptos teóricos mediante el uso de ejemplos sencillos y casos de estudio. Las diapositivas y el código fuente de los ejemplos y los casos de estudio están disponibles a través de la plataforma de docencia de la universidad.
Prácticas de laboratorio A lo largo del cuatrimestre se realiza una práctica (en Java), en grupo, en la que el/la alumno/a utiliza la mayor parte de los conocimientos teóricos de la asignatura de forma integrada. La práctica se realiza en dos iteraciones, siendo obligatoria la entrega de las dos.
Prueba de respuesta múltiple Se realizará un examen de tipo test, cuyo objetivo es comprobar que el/la alumno/a ha asimilado los conceptos correctamente. El examen tipo test se compone de un conjunto de preguntas con varias respuestas posibles, de las que sólo una es correcta. Las preguntas no contestadas no puntúan, y las contestadas erróneamente puntúan negativamente.
Trabajos tutelados Se proponen trabajos tutelados opcionales (no es necesario obtener una nota mínima en ellos para aprobar la asignatura), consistentes en aplicar tecnologías o técnicas de diseño adicionales a la práctica. Requerirán que el estudiante, de manera autónoma, estudie esas tecnologías o soluciones de diseño adicionales y las aplique a la práctica.

Atención personalizada
Metodologías
Prácticas de laboratorio
Descripción
Tutorías y consultas vía correo electrónico o Teams para dudas específicas.
Presencia del profesor en el laboratorio para ayudar al estudiante en el desarrollo de la práctica.

Evaluación
Metodologías Competéncias Descripción Calificación
Prácticas de laboratorio A17 B1 B3 C3 C2 La práctica se estructura en 2 partes (llamadas iteraciones). Para desarrollar la segunda iteración será necesario haber desarrollado la primera. La corrección de cada una de las dos iteraciones lleva asociada una nota, y la nota global de la práctica se calcula a partir de ellas. Para aprobar la asignatura es obligatorio presentar ambas iteraciones y obtener una nota mínima en cada una de ellas. 32
Prueba de respuesta múltiple A17 B1 B3 C3 C6 El examen será tipo test y puede constar tanto de cuestiones directas como de pequeños problemas de diseño que el/la alumno/a debe resolver con los conceptos explicados en teoría y que fueron usados en la parte práctica. 60
Trabajos tutelados A17 B1 B3 C3 C4 La realización de los trabajos tutelados es opcional (no es necesario obtener una nota mínima para aprobar la asignatura). Se pueden presentar con la segunda iteración de la práctica. 8
 
Observaciones evaluación

Para aprobar la asignatura es preciso obtener:

  • Un mínimo de 2,5 puntos sobre 5 en la evaluación de cada una de las dos iteraciones de la práctica (la nota final de la práctica será la suma de las notas de las dos iteraciones).
  • Un mínimo de 4 puntos sobre 10 en el examen tipo test.
  • Un mínimo de 5 puntos (sobre 10) en la nota final, que se calcula como: 
    • Nota práctica = nota iteración 1 + nota iteración 2.
    • Nota final = 0,60 * nota examen + 0,32 * nota practica + 0,08 * nota trabajos tutelados.

Para los/las alumnos/as con matrícula a tiempo parcial el tamaño de la práctica y los trabajos tutelados será menor, sin que ello suponga un perjuicio en su calificación.


Fuentes de información
Básica J. Crupi, D. Alur, D. Malks (2003). Core J2EE Patterns. Prentice-Hall
Martin Kalin (2009). Java Web Services: Up and Running. O'Reilly
R. Abernethy (2019). Programmer’s Guide to Apache Thrift. Manning
Leonard Richardson, Sam Ruby (2007). RESTFul Web Services. O'Reilly
E. R. Harold, W. S. Means (2004). XML in a Nutshell: A Desktop Quick Reference, Third edition. O'Reilly

Recursos adicionales:

Tutorial JDBC:http://docs.oracle.com/javase/tutorial/jdbc/index.html

Tutorial Servlets:http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

Introducing JSON: https://www.json.org/

JSON Schema Reference: https://json-schema.org/understanding-json-schema/reference/index.html

Apache Thrift: http://thrift.apache.org/

Complementária

E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addisson-Wesley, 1994.

H. Schildt, Java 8, Anaya Multimedia, 2015.

G. Booch, I. Jacobson, J. Rumbaugh, Unified Modeling Language User Guide, 2nd edition, Addison-Wesley, 2005.


Recomendaciones
Asignaturas que se recomienda haber cursado previamente
Bases de Datos/614G01013
Diseño Software/614G01015
Redes/614G01017

Asignaturas que se recomienda cursar simultáneamente

Asignaturas que continúan el temario
Programación Avanzada/614G01030
Integración de Aplicaciones/614G01080

Otros comentarios

Es necesario tener soltura en la lectura de información en inglés (una parte importante de la bibliografía, recursos Web y libros, está en Inglés).



(*) La Guía Docente es el documento donde se visualiza la propuesta académica de la UDC. Este documento es público y no se puede modificar, salvo cosas excepcionales bajo la revisión del órgano competente de acuerdo a la normativa vigente que establece el proceso de elaboración de guías