Datos Identificativos 2017/18
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 Presencial
Prerrequisitos
Departamento Computación
Coordinación
Pan Bermudez, Carlos Alberto
Correo electrónico
alberto.pan@udc.es
Profesorado
Álvarez Díaz, Manuel
Bellas Permuy, Fernando
Losada Perez, Jose
Pan Bermudez, Carlos Alberto
Raposo Santiago, Juan
Correo electrónico
manuel.alvarez@udc.es
fernando.bellas@udc.es
jose.losada@udc.es
alberto.pan@udc.es
juan.raposo@udc.es
Web
Descrición xeral Esta asignatura se centra en el desarrollo de aplicaciones distribuidas. Se utiliza un enfoque de diseño multicapa, en el que en primer lugar se diseña una capa de acceso de datos , posteriormente una capa de lógica de negocio (capa modelo) y, finalmente, una capa que expone la funcionalidad de la aplicación como un servicio que puede ser utilizado por otras aplicaciones. Se explican también los principales estilos arquitectónicos para diseñar aplicaciones distribuidas: RPC y REST. Para ilustrar todos estos conceptos generales, se usarán tecnologías utilizadas habitualmente en la industria para estos propósitos, como JDBC, XML, servlets, HTTP y SOAP. El enfoque de la asignatura es fundamentalmente práctico, por lo que se proporcionan múltiples ejemplos de código durante las clases teóricas, y la práctica tiene un fuerte impacto en la nota final de la asignatura.

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
A17
B1
B3
C2
C3
C4
C6

Contidos
Temas Subtemas
Tema 1. Introducción ás Aplicacións Distribuidas O problema da integración de aplicacións
Arquitecturas multicapa
Tema 2. Acceso a Datos Acceso a base de datos: JDBC
Acceso a datos doutras aplicacións
Tema 3. Capa Modelo Conceptos xeráis de deseño basado en capas
DAOs e Persistencia
Deseño da API de Casos de Uso
Tema 4. Probas de Integración da Capa Modelo Concepto de Probas de Integración
Recordatorio da Implementación de Probas de Integración da Capa Modelo con Junit
Tema 5. Introducción ós Servizos Web Integración de Plataforma: Servizos Web
O estilo RPC
O estilo REST
Tema 6. Linguaxes de intercambio de datos: XML Intercambio de datos entre aplicacións
A linguaxe XML
Introducción ós esquemas XML
Parsing de documentos XML
Tema 7: Introducción o Deseño e Implementación de Servizos Web REST Deseño por capas aplicado á integración de aplicacións
Deseño de servizos REST
Implementación de clientes REST: HTTP
Implementación de servizos REST: Servlets
Tema 8: Deseño e Implementación de Servizos Web SOAP Deseño de servizos web SOAP
Implementación de servizos web SOAP: JAX-WS
Tema 9: Frameworks para facer interfaces web Concepto de Sistema de Plantillas
Concepto de framework dirixido a componentes
Concepto de aplicación AJAX

Planificación
Metodoloxías / probas Competencias Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral A17 B3 C6 30 40 70
Prácticas de laboratorio A17 B1 B3 C2 C3 20 30 50
Traballos tutelados A17 B1 B3 C3 C4 10 20 30
 
Atención personalizada 0 0 0
 
*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 disponibles na páxina Web da asignatura en Campus Virtual
Prácticas de laboratorio Ó longo do cuatrimestre realízase unha práctica (en Java), en grupo, na que o alumno utiliza a maior parte dos coñecementos teóricos de xeito integrado. A práctica realízase en tres iteracións, sendo obrigatoria a entrega das dúas primeiras e opcional a terceira. Na corrección da primeira 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 o alumno cara a súa resolución. Na segunda iteración o alumno corrixe os erros detectados na primeira e engade as funcionalidades restantes. Na terceira iteración, os alumnos que o desexan realizan as funcionalidades opcionáis que permiten acadar unha mellor calificación
Traballos tutelados Realízase o seguimento a cada grupo da elaboración da práctica da asignatura

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Traballos tutelados
Descrición
Tutorías para dúbidas específicas.
Presenza do profesor no laboratorio para contestar dudas da práctica.

Avaliación
Metodoloxías Competencias Descrición Cualificación
Prácticas de laboratorio A17 B1 B3 C2 C3 A práctica estructúrase en 3 partes (chamadas iteracións). É obrigatorio presentar as dúas primeiras iteracións, mentres que a terceira é opcional. A corrección de cada iteración realízase mediante unha defensa dos membros do grupo có profesor. 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 parte obrigatoria da práctica despois da corrección da segunda iteración, e pon a nota da parte opcional despois da corrección da terceira iteración. É necesario obter polo menos un 5 sobre 10 na práctica para que se faga a media coa teoría. O peso da parte opcional da práctica é de 2 puntos sobre 10 40
Sesión maxistral A17 B3 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. É necesario obter polo menos un 4 no exame para que se faga a media coa práctica. 60
Traballos tutelados A17 B1 B3 C3 C4 Evaluación incluida na parte práctica 0
 
Observacións avaliación

Para superar a materia é necesario obter como mínimo un 4 sobre 10 no exame teórico e un 5 sobre 10 na práctica de laboratorio, e ademáis a media ponderada (60% teoría, 40% práctica) ten que alcanzar o 5 

No caso de alumnos matriculados a tempo parcial flexibilizaranse as horas de defensa de prácticas para adaptarse aos horarios laborais dos alumnos, sempre dentro do prazo máximo de entrega fixado para todos os alumnos


Fontes de información
Bibliografía básica J. Crupi, D. Alur, D. Malks (2003). Core J2EE Patterns. Prentice-Hall
B. McLaughlin (2006). Java and XML, Third Edition. O'Reilly
Martin Kalin (2009). Java Web Services: Up and Running. O'Reilly
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.

Bibliografía complementaria

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

K. Arnold, J. Gosling, D. Holmes, The Java Programming Language, 4th edition, Addison-Wesley, 2005.

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
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

Para facilitar que os alumnos con matrícula a tempo parcial poidan cursar a materia, tódolos materiais teóricos e prácticos da asignatura estarán disponibles en liña na aplicación https://campusvirtual.udc.es



(*)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