Datos Identificativos 2013/14
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
Prerrequisitos
Departamento Tecnoloxías da Información e as Comunicacións
Coordinación
Pan Bermudez, Carlos Alberto
Correo electrónico
alberto.pan@udc.es
Profesorado
Álvarez Díaz, Manuel
Bellas Permuy, Fernando
Losada Perez, Jose
Montoto Castelao, Paula
Pan Bermudez, Carlos Alberto
Raposo Santiago, Juan
Correo electrónico
manuel.alvarez@udc.es
fernando.bellas@udc.es
jose.losada@udc.es
paula.montoto@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 da titulación
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.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
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

Contidos
Temas Subtemas
Tema 1. Introducción a las Aplicaciones Distribuidas. El problema de la integración de aplicaciones
Arquitecturas multicapa
Tema 2. Acceso a Datos Acceso a base de datos: JDBC
Acceso a datos de otras aplicaciones
Tema 3. Capa Modelo Conceptos generales de diseño basado en capas
DAOs y Persistencia
Diseño del API de Casos de Uso
Tema 4. Introducción a los Servicios Web Integración de Plataforma: Servicios Web
El estilo RPC
El estilo REST
Tema 5. Lenguajes de intercambio de datos: XML Intercambio de datos entre aplicaciones
El lenguaje XML
Introducción a los esquemas XML
Parsing de documentos XML
Tema 6: Diseño e Implementación de Servicios Web SOAP Diseño de servicios web SOAP
Implementación de servicios web SOAP: JAX-WS
Tema 7: Introducción al Diseño e Implementación de Servicios Web REST Diseño por capas aplicado a la integración de aplicaciones
Diseño de servicios REST
Implementación de clientes REST: HTTP
Implementación de servicios REST: Servlets
Seminario 1: Frameworks para crear interfaces web Concepto de Sistema de Plantillas
Concepto de framework orientado a componentes
Concepto de aplicación AJAX

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 30 39.9 69.9
Prácticas de laboratorio 20 30 50
Traballos tutelados 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 por el profesor mediante la proyección de transparencias. Las clases tienen un enfoque totalmente práctico, explicando los conceptos teóricos mediante el uso de ejemplos sencillos y casos de estudio. Las transparencias y el código fuente de los ejemplos y los casos de estudio están disponibles en la página Web de la asignatura en Campus Virtual
Prácticas de laboratorio A lo largo del cuatrimestre se realiza una práctica (en Java), en grupo, en las que el alumno utiliza la mayor parte de los conocimientos teóricos de manera integrada. La práctica se realiza en tres iteraciones, realizándose una entrega obligatoria en cada una. El objetivo de las dos primeras iteraciones es intentar garantizar que el alumno enfoca bien la resolución de la práctica. Para ello, el profesor intenta detectar errores importantes, y en ese caso, orienta al alumno hacia su resolución. En la tercera iteración el alumno corrige los errores detectados en las anteriores y añade el resto de funcionalidades.
Traballos tutelados Se realiza el seguimiento en detalle a cada grupo de la elaboración de la práctica de la asignatura

Atención personalizada
Metodoloxías
Prácticas de laboratorio
Traballos tutelados
Descrición
Tutorías para contestar dudas específicas.
Presencia del profesor en el laboratorio y trabajos tutelados para contestar dudas de la práctica.

Avaliación
Metodoloxías Descrición Cualificación
Prácticas de laboratorio La práctica se estructura en 3 partes (llamadas iteraciones). Es obligatorio presentar las tres iteraciones. La corrección se realiza mediante una defensa de los miembros del grupo con el profesor. La corrección de las dos primeras iteraciones de la primera iteración no llevan asociada una nota (pero su entrega es obligatoria). Por el contrario, se pretende asegurar que el alumno enfoque bien el desarrollo de la práctica. El profesor pone la nota de la práctica durante la corrección de la tercera iteración. 40
Sesión maxistral El examen será tipo test y puede constar tanto de cuestiones directas como de pequeños problemas de diseño que el alumno debe resolver utilizando los conceptos impartidos en teoría y practicados en la parte práctica 60
Traballos tutelados Evaluación incluida en la parte práctica 0
 
Observacións avaliación

La nota final se compone de dos partes: 60% para el examen teórico y 40% para el práctico. Sin embargo, para aprobar la asignatura es necesario además tener una nota mínima de 5 en la práctica y de 4 en el examen.


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
Programación Avanzada/614G01030
Integración de Aplicacións/614G01080

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario
Deseño Software/614G01015
Redes/614G01017

Observacións


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