Download aplicaciones distribuidas

Document related concepts
no text concepts found
Transcript
APLICACIONES
DISTRIBUIDAS
Código de asignatura: 3871
Grado en Ingeniero en Informática
Curso: 2011/2012
1
Datos asignatura
•  Profesor (Teo/Pra): Francisco Javier Bermúdez Ruiz
•  Seminario: Miércoles 15:15h – 15:45h : Aula A.0.5bis
•  Teoría: Miércoles 15:45h – 17:45h : Aula A.0.5bis
•  Prácticas: Viernes 9:30h – 11:30h : Lab. 2.0
•  Correo: [email protected]
•  Tutorías 1er cuatrimestre:
•  Martes :10:30h – 13:30h
•  Electrónicas por SUMA
2
Contenidos
•  Introducción
•  Metodología
•  Objetivos
•  Carga para el alumno
•  Conocimientos Previos
•  Evaluación
•  Programa de Teoría
•  Bibliografía
•  Programa de Prácticas
•  Cronograma
•  Seminarios
3
Introducción
•  Importancia del desarrollo de aplicaciones web en el
mercado actual
•  Capa de presentación
•  Capa de persistencia
•  Capa de negocio
•  Uso de una arquitectura de n-capas con capa de
negocio distribuida
•  Desarrollo sobre la plataforma Java: tecnologías y
herramientas
4
Objetivos
•  Conocer los fundamentos de la programación distribuida y
aplicar las distintas tecnologías para tal propósito.
•  Aplicar tecnologías Java para el desarrollo de aplicaciones web.
•  Aplicar tecnologías Java para el desarrollo de aplicaciones web
en entornos distribuidos.
•  Optimizar las aplicaciones distribuidas a través del uso de
arquitecturas y patrones de diseño.
•  Capa de presentación.
•  Capa de negocio.
5
Conocimientos previos
•  Programación Orientada a Objetos
•  Fundamentos básicos del paradigma OO.
•  Lenguaje Java
•  Programación básica con el lenguaje Java.
•  No es necesario, pero si conveniente, disponer de
conocimientos básicos de HTML y UML (diagramas de
clases e interacción)
6
Programa de Teoría
•  T1 – T2: Introducción a la Programación Distribuida
•  Sistemas distribuidos (sistemas orientados a mensajes y servicios web)
•  Plataformas desarrollo: J2EE, .Net
•  Aplicación empresarial (SI)
•  Aplicación web (HTTP, HTML, Sesiones, JavaScript, AJAX)
•  T3: Ajax (Asynchronous Javascript and XML)
•  Procesamiento asíncrono de peticiones en el lado del cliente:
XMLHttpRequest
•  JSON
•  Técnicas comunes con Ajax
•  T4: Servlet
•  Modelo Petición-Respuesta
•  Otros: ciclo de vida, sesión, cookie…
7
•  T5: JDBC (Java DataBase Connection)
•  Patrón DAO
•  T6: Hibernate y JPA (Java Persistence API)
•  T7: JSP (Java Server Page)
•  JSP 2.0 y JSTL
•  Diseño Capa Presentación
•  Arquitectura MVC (modelo 2)
•  T8: JSF (Java Server Faces)
•  Arquitectura, componentes UI, beans, renders, eventos,
navegación, conversores, …
8
•  T9: RMI (Remote Method Invocation)
•  Interface Remota, Registro RMI
•  T10: EJB (Enterprise JavaBeans)
•  EJB 2.X
•  EJB 3.0
•  Patrones de diseño para el uso de objetos
distribuidos: Factoria Homes, Service Locator,
Iterator, Value Object, Bussines Delegates
9
Prácticas
•  12 sesiones aprox. de laboratorio para
elaborar 9 guiones prácticos (NO entregables).
•  Las sesiones del laboratorio son presenciales
pero no obligatorias (no hay entregables)
•  Trabajo práctico final.
•  Seguimiento progresivo del trabajo tras la
implementación de guiones prácticos.
•  ? entregas parciales y entrevistas (seguimiento y final)
10
Programa de Prácticas
•  P1 : AA.Web y entornoo
desarrollo
•  P6 : JSP
•  P7 : JSF
•  P2 : HTML y Ajax
•  P8 : RMI
•  P3 : Servlet
•  P9 : EJB
•  P4 : JDBC
•  P5 : JPA e Hibernate
11
TEO
LAB
21-S
T0-Presen, T1-Intro
28-S
T2-AAWeb, T3-Ajax
30-S
P1-AAWeb+entorno
5-O
T3-Ajax, T4-Servlet
7-O
P2-Html+Ajax
14-O
P3-Servlet
19-O
T5-Jdbc
21-O
P4-Jdbc
26-O
T6-JPA+Hib
28-O
P5-JPA+Hib
2-N
T6-JPA+Hib, T7-JSP
4-N
P5-JPA+Hib
9-N
T7-JSP
11-N
P6-JSP
16-N
T7-JSP, T8-JSF
23-N
T8-JSF
25-N
P6-JSP, P7-JSF
30-N
T8-JSF, T9-RMI
2-D
P7-JSF
7-D
T9-RMI, T10-EJB
9-D
P8-RMI
14-D
T10-EJB
16-D
P9-EJB
21-D
T10-EJB
23-D
P9-EJB
12
Seminarios
•  Se usarán los seminarios para diversos propósitos:
•  Explicar enunciados de prácticas
•  Complemento de tecnologías (orientativo):
•  Seminario de HTML
•  Seminario de JavaScript
•  Mostrar herramientas a emplear en laboratorio (orientativo):
• 
• 
• 
• 
• 
Entorno de desarrollo: Eclipse
Eclipse e Hibernate
Eclipse y MyFaces
Eclipse y JSP
Eclipse y EJB
13
Metodología
•  Seguimiento de la asignatura por AulaVirtual
•  Comunicación con el profesor mediante las tutorías presenciales o
electrónicas
•  Material de la asignatura en el área de recursos
•  Avisos/noticias en anuncios
•  Sesiones de Teoría de 2 horas
•  Seminarios de 1/2h: Herramientas y explicar enunciados
prácticos
•  Sesiones de Prácticas en el laboratorio: presenciales y no
obligatorias
•  Practica Final
•  Entrevistas de las entregas: parcial y final.
14
Carga para el alumno
• 
• 
• 
• 
• 
Clases de teoría:
Seminarios:
Clases Prácticas:
Preparar examen:
Proyecto:
26 horas
6 horas
24 horas
50 horas
50 horas
•  Total: 156 horas
15
Evaluación
• 
Teoría
•  Examen: prueba escrita de comprensión y desarrollo sobre las tecnologías vistas
en clase (y aplicadas tanto en los laboratorios como en la práctica final) : 50%
• 
Práctica Final
•  Práctica sobre un dominio de problema establecido por el profesor donde el
alumno aplicará lo aprendido en las sesiones de laboratorio : 50%
•  En cada enunciado de cada parte de la práctica final se darán los indicadores
precisos sobre la forma de evaluación parcial de cada enunciado
•  Todas las prácticas parciales son de entrega obligatoria
•  Los alumnos podrán formar grupos de 2 (o desarrollar la práctica
individualmente, según su criterio). La evaluación y el desarrollo en ambos casos
es el mismo
• 
Nota de práctica final y teoría se mantiene en las 3 convocatorias de
un curso.
•  Para hacer media, es necesario obtener al menos un 4 en cada una de las partes.
16
Bibliografía recomendada
• 
Programación Java Server con J2EE Edición 1.3., ed.Anaya/Wrox,
Subrahmanyam Allamaraju, Cedric Beust y John Davies (ISBN
9788441513587)
• 
Profesional Ajax, ed.Anaya/Wrox, Nicholas C. Zakas, Jeremy McPeak y Joe
Fawcett (ISBN 9788441520776)
• 
Murach's Java Servlets and JSP (2nd Edition), Joel Murach and Andrea
Steelman (ISBN 9781890774448)
• 
Pro EJB 3: Java Persistence API (Expert's Voice in Java), Mike Keith (ISBN
9781590596456)
• 
Mastering JavaServer Faces, Bill Dudney (ISBN 9780471462071)
• 
Enterprise JavaBeans 3.0 (5th Edition), Richard Monson-Haefel (ISBN
9780596009786)
17