Datos Identificativos 2020/21
Asignatura (*) Internet e sistemas distribuidos Código 614G01023
Titulación
Grao en Enxeñaría Informática
Descriptores Ciclo Período Curso Tipo Créditos
Grao 1º cuadrimestre
Terceiro Obrigatoria 6
Idioma
Castelán
Modalidade docente Híbrida
Prerrequisitos
Departamento Ciencias da Computación e Tecnoloxías da Información
Computación
Coordinación
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
Descrición xeral 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 continxencia 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 alumno 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 cambiarían:
- Proba de resposta múltiple: 40
- Prácticas de laboratorio: 48
- Traballos tutelados: 12

*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 do título
Código Competencias do título
A17 Coñecemento e aplicación das características, funcionalidades e estrutura dos sistemas distribuídos, as redes de computadores e internet, e deseñar e implementar aplicacións baseadas nelas.
B1 Capacidade de resolución de problemas
B3 Capacidade de análise e síntese
C2 Dominar a expresión e a comprensión de forma oral e escrita dun idioma estranxeiro.
C3 Utilizar as ferramentas básicas das tecnoloxías da información e as comunicacións (TIC) necesarias para o exercicio da súa profesión e para a aprendizaxe ao longo da súa vida.
C4 Desenvolverse para o exercicio dunha cidadanía aberta, culta, crítica, comprometida, democrática e solidaria, capaz de analizar a realidade, diagnosticar problemas, formular e implantar solucións baseadas no coñecemento e orientadas ao ben común.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.

Resultados de aprendizaxe
Resultados de aprendizaxe Competencias do título
Coñecemento e aplicación das características, funcionalidades e estrutura dos sistemas distribuídos, as redes de computadores e Internet, e deseñar e implementar aplicacións baseadas nelas. A17
B1
B3
C2
C3
C4
C6

Contidos
Temas Subtemas
Bloque 1. Introdución Tema 1. Introdución ó Desenvolvemento de Aplicacións Empresariais
Bloque 2. Deseño da Capa Modelo Tema 2. JDBC
Tema 3. Deseño e Implementación da Capa Modelo
Tema 4. Probas de Integración da Capa Modelo
Bloque 3. Deseño de Aplicacións Distribuídas Tema 5. Linguaxes de Intercambio de Datos: XML e JSON
Tema 6. Deseño e Implementación de Servizos Web REST
Tema 7. Deseño e Implementación de Servizos RPC

Bloque 4. Interfaces Gráficas Web Tema 8. Introdución ó Desenvolvemento de Aplicacións Web

Planificación
Metodoloxías / probas Competencias Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral A17 B3 C6 30 22 52
Prácticas de laboratorio A17 B1 B3 C2 C3 28 46 74
Proba de resposta múltiple A17 B1 B3 C3 C6 2 5 7
Traballos tutelados A17 B1 B3 C3 C4 2 10 12
 
Atención personalizada 5 0 5
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Sesión maxistral Clases impartidas pólo profesor mediante a proxección de diapositivas. As clases teñen un enfoque práctico, explicando os conceptos teóricos mediante o uso de exemplos sinxelos e casos de estudo. As diapositivas e o código fonte dos exemplos e os casos de estudo están dispoñibles a través da plataforma de docencia da universidade.
Prácticas de laboratorio Ó longo do cuadrimestre realízase unha práctica (en Java), en grupo, na que o alumno utiliza a maior parte dos coñecementos teóricos da materia de xeito integrado. A práctica realízase en dúas iteracións, sendo obrigatoria a entrega das dúas. Na corrección da primeria iteración, o profesor intenta garantir que o alumno enfoca ben a resolución da práctica. Para elo, o profesor tenta detectar erros importantes, e nese caso, orienta ó alumno cara a súa resolución. Na segunda iteración o alumno corrixe os erros detectados na primeira e engade as funcionalidades restantes.
Proba de resposta múltiple Farase un exame tipo test, co obxectivo de comprobar que o alumno asimilou os conceptos correctamente. O exame tipo test componse dun conxunto de preguntas con varias respostas posibles, das que só unha é correcta. As preguntas non contestadas non puntúan, e as contestadas erroneamente puntúan negativamente.
Traballos tutelados Propóñense traballos tutelados opcionais, consistentes en aplicar algunhas tecnoloxías ou técnicas de deseño adicionais á práctica. Requirirán que o alumno, de maneira autónoma, deba estudar esas tecnoloxías ou solucións de deseño adicionais e aplicalas á práctica.

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Traballos tutelados
Descrición
Titorías e consultas vía correo electrónico para dúbidas específicas.
Presenza do profesor no laboratorio para axudar ó estudante no desenvolvemento da práctica.

Avaliación
Metodoloxías Competencias Descrición Cualificación
Prácticas de laboratorio A17 B1 B3 C2 C3 A práctica estrutúrase en 2 partes (chamadas iteracións). É obrigatorio presentar ambas iteracións. A corrección da primeira iteración non leva asociada unha nota, pero a súa entrega é obrigatoria, e debe obrigatoriamente cumprir cos requisitos establecidos no enunciado da práctica para a devandita iteración. O profesor pon a nota da práctica despois da corrección da segunda iteración. 32
Proba de resposta múltiple A17 B1 B3 C3 C6 O examen será tipo test e pode constar tanto de cuestións directas como de pequenos problemas de deseño que o alumno debe resolver cos conceptos explicados en teoría e que foron usados na parte práctica. 60
Traballos tutelados A17 B1 B3 C3 C4 A realización dos traballos tutelados é opcional. Pódense presentar ca segunda iteración da práctica. 8
 
Observacións avaliación

Para aprobar a materia é preciso obter:

  • Un mínimo de 5 puntos (sobre 10) na avaliación da práctica.
  • Un mínimo 4 puntos (sobre 10) no exame tipo test.
  • Un
    mínimo de 5 puntos (sobre 10) na nota final, que se calcula coma: 0,60*notaExame + 0,32*notaPractica + 0,08*notaTraballosTutelados.

Para os alumnos con matrícula a tempo parcial o tamaño da práctica y e os traballos tutelados será menor, sen que elo supoña un prexuízo na súa cualificación.


Fontes de información
Bibliografía 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 adicionais:

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/

Bibliografía complementaria

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.


Recomendacións
Materias que se recomenda ter cursado previamente
Bases de Datos/614G01013
Deseño Software/614G01015
Redes/614G01017

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario
Programación Avanzada/614G01030
Integración de Aplicacións/614G01080

Observacións

É preciso ter soltura na lectura de información en Inglés (toda a bibliografía, recursos Web e libros, está en Inglés). 



(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías