guía docente 2017/2018 · nº de créditos: 6 ects. ... 1. introducción 2. arquitectura de los...

12
hola Universidad Católica San Antonio de Murcia – Tlf: (+34) 968 278 160 [email protected] – www.ucam.edu Guía Docente 2017/2018 Desarrollo de Aplicaciones Distribuidas II Distributed Computing I Grado en Ingeniería Informática A distancia

Upload: vobao

Post on 20-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

hola

Universidad Católica San Antonio de Murcia – Tlf: (+34) 968 278 160 [email protected] – www.ucam.edu

Guía Docente 2017/2018 Desarrollo de Aplicaciones

Distribuidas II Distributed Computing I

Grado en Ingeniería Informática

A distancia

Page 2: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

1

ÍndiceDesarrollo de Aplicaciones Distribuidas II ........................................................................ 3

Breve descripción de la asignatura ................................................................................... 3

Requisitos Previos .............................................................................................................. 4

Objetivos .............................................................................................................................. 4

Competencias y resultados de aprendizaje ...................................................................... 4

Metodología ......................................................................................................................... 5

Temario ................................................................................................................................. 6

Relación con otras asignaturas del plan de estudios ...................................................... 7

Sistema de evaluación ........................................................................................................ 7

Bibliografía y fuentes de referencia ................................................................................... 8

Web relacionadas ................................................................................................................ 9

Recomendaciones para el estudio ..................................................................................... 9

Material necesario ............................................................................................................... 9

Tutorías .............................................................................................................................. 10

Page 3: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

2

Page 4: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

3

Desarrollo de Aplicaciones Distribuidas II Módulo: Tecnologías de la información. Materia: Tecnologías de la programación. Carácter: Obligatoria. Nº de créditos: 6 ECTS. Unidad Temporal: 3º curso – 2º semestre Profesor de la asignatura: Miguel Ángel Guillén Navarro Email: [email protected] Horario de atención a los alumnos/as: Lunes y Jueves de 19:00 a 20:00. Fuera de este horario se

atenderán tutorías a petición del alumno mediante mensaje privado (en el campus virtual) o correo

electrónico. Profesor coordinador de módulo: Francisco Arcas Túnez Profesor coordinador de curso: José María Cecilia Canales

Breve descripción de la asignatura En esta asignatura, que es la continuación de Desarrollo de Aplicaciones I, se trabajarán dos

conceptos fundamentales: desarrollo basado en componentes y arquitecturas orientadas a servicios.

Para el primero de ellos se explicará en que es un componente y sus diferencias con un objeto y los distintos modelos de componentes. Se profundizará en el desarrollo de un componente web mediante las tecnologías Enterprise Java Beans (EJB) y Servlet. Todos estos conceptos se enmarcarán dentro de una arquitectura de tres capas haciendo hincapié en la lógica de negocio.

Respecto a la parte correspondiente al estudio de la arquitectura orientada a servicio, se definirá, desarrollará y desplegará un servicio web como parte fundamental de la misma. Una vez conocida esta pieza fundamental se explicará cómo encajarla dentro de la arquitectura y como garantizar la seguridad de la comunicación entre todas las piezas.

Brief Description

In this subject, which is a continuation of Application Development I, we will work two fundamental concepts: component-based development and service-oriented architectures. For the first one will explain what a component is and its differences with an object, also explain the different component models. We will develop a web component technology using Enterprise Java Beans (EJB) and Servlet. All these concepts will be included in a three-tier architecture with a focus on business logic.

Regarding the share to the study of service-oriented architecture, we define, develop and deploy a Web service as a fundamental part of this architecture. Once known this essential elements we will explain how fit it within the architectural.

Page 5: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

4

Requisitos Previos Es importante tener unos buenos conocimientos de programación orientada a objetos.

Objetivos 1. Conocer los diferentes paradigmas de computación distribuida. 2. Adquirir los conocimientos básicos sobre el desarrollo de un componente. 3. Diseñar la arquitectura necesaria para desplegar un componente web. 4. Desarrollar programas que hagan uso de componentes EJB, Servlets y JSP. 5. Usar las librerías más importantes en el desarrollo de aplicaciones web. 6. Resolver problemas comunes en la programación de entornos Web. 7. Adquirir los conocimientos básicos de los servicios web y de las arquitecturas orientadas a

servicios. 8. Desarrollar un servicio web y el cliente que hace uso del mismo.

Competencias y resultados de aprendizaje Competencias transversales

T1 - Capacidad de análisis y síntesis.

T4 - Resolución de problemas.

T5 - Toma de decisiones.

T6 - Trabajo en equipo.

T14 - Aprendizaje autónomo.

T15 - Adaptación a nuevas situaciones.

T16 - Creatividad e innovación.

T22 - Comprender los puntos principales de textos claros y en lengua estándar si tratan sobre cuestiones relacionadas con el ámbito de estudio.

Page 6: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

5

Competencias específicas TI6 - Capacidad de concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil.

Resultados de aprendizaje RA 4.1.1. Diferenciar entre los diferentes paradigmas de computación distribuida.

RA 4.1.2. Describir los elementos que forman parte del modelo distribuido de componentes y de la arquitectura orientada a servicios.

RA 4.1.3. Relacionar los diferentes paradigmas de computación distribuida con su aplicación práctica.

RA 4.1.4. Desarrollar una aplicación informática desde el punto de vista del modelo distribuido de componentes.

RA 4.1.5. Desarrollar una aplicación de Internet desde el punto de vista de un contenedor de objetos/componentes web.

Metodología

Metodología Horas Horas de trabajo presencial

Horas de trabajo no presencial

Evaluación 7,5 7,5 horas (5 %)

Mecanismos de tutorización 15

142,5 horas (95 %)

Estudio personal 45

Búsquedas bibliográficas 7,5

Realización de trabajos 75

TOTAL 150 7,5 142,5

La calendarización de los contenidos, así como la distribución del tiempo en cada una de las metodologías según el tema y la tarea a realizar se encuentra reflejada en el plan de trabajo de la asignatura.

Page 7: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

6

Temario Programa de la enseñanza teórica

Tema 1. Aplicaciones Web. Servlets y JSP.

1. Introducción

2. Arquitectura de los servlets

3. Manejo de peticiones

4. Concepto de JSP

5. Directivas

6. Librería de etiquetas

7. Uso de plantillas

8. Ajax Push

Tema 2. Servicios Web

1. Concepto y elementos de un servicio web

2. Protocolo SOAP

3. Invocación de un servicio web

Tema 3. Arquitecturas orientadas a servicios.

1. Descripción de una arquitectura SOA

2. Arquitectura de Servicios Web

3. Intercambio de mensajes REST

4. Arquitectura de mashups.

Tema 4. Desarrollo de componentes web

1. Principios de desarrollo basado en componentes.

2. Arquitectura Enterprise Java Beans (EJB)

3. Implementación de una solución EJB.

Programa de la enseñanza práctica Práctica 1. Servlets y JSP.

La práctica consistirá en la implementación de una aplicación J2EE propuesta por el profesor. Para la resolución de la misma será necesario utilizar los conceptos de Servlets y

Page 8: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

7

JSP estudiados en el Tema 1. La entrega se realizará a través del campus virtual en la tarea dispuesta para tal efecto.

Práctica 2. Enterprise Java Beans.

La práctica consistirá en la implementación de un sistema basado en componentes mediante la tecnología EJB. Será un caso práctico propuesto por el profesor similar a los ejercicios resueltos en clase. La entrega se realizará a través del campus virtual en la tarea dispuesta para tal efecto.

Práctica 3. Creación de un servicio web.

La práctica consistirá en la implementación de un servicio web mediante la tecnología Apache Axis2 o CXF o REST. Será un caso práctico propuesto por el profesor similar a los ejercicios resueltos en clase. La entrega se realizará a través del campus virtual en la tarea dispuesta para tal efecto.

Un enunciado más detallado de las prácticas, así como las fechas de entrega será mostrado en el campus virtual, en primera instancia en el plan de trabajo de la asignatura, y posteriormente en las tareas correspondientes a cada práctica.

Relación con otras asignaturas del plan de estudios Al ser una asignatura dentro de la materia de tecnologías de programación está ligada a todas las asignaturas de programación, especialmente con Programación Orientada a Objetos y Desarrollo de Aplicaciones Distribuidas I.

También se relaciona con el concepto de patrones de diseño de modelado software.

Sistema de evaluación - Primera prueba parcial: 30% del total de la nota. (Examen presencial)

Se evaluarán los conocimientos teóricos y prácticos de servlets y JSP vistos en el tema 1.

- Prueba final: 20% del total de la nota. (Examen presencial)

Se evaluarán los conocimientos teóricos y prácticos de servicios web y los conceptos de arquitecturas orientadas a servicios vistos en los temas 2 y 3 y de EJB del tema 4. Este examen se dividirá en dos partes relacionadas con los dos parciales de la asignatura. El alumno podrá recuperar las partes previamente no superadas (nota inferior a 5) o no presentadas.

- Evaluación de prácticas y problemas: 40% del total de la nota.

Práctica J2EE (Tema 1): 20%

Práctica EJB (Tema 4): 10%

Page 9: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

8

Práctica Servicios Web (Temas 2 y 3): 10%

- Participación: 10% del total de la nota.

Se valorará a partir de la entrega de diferentes tareas voluntarias, así como de la participación en los diversos mecanismos de tutorización lo que se valorará en el % de participación. Se tendrá en cuenta no solamente la cantidad de la participación, sino la calidad de la misma. Tanto en el planteamiento de dudas como en la resolución de las de los compañeros en herramientas tales como foros y videoconferencias.

El alumno superará la asignatura cuando la media ponderada sea igual o superior a 5 puntos y tenga una nota de, al menos, 4 puntos en todas las partes que componen el sistema de evaluación cuya ponderación global sea igual o superior al 20%.

Si el alumno tiene menos de un 4 en alguna de las partes cuya ponderación sea igual o superior al 20%, la asignatura estará suspensa y deberá recuperar esa/s parte/s en la siguiente convocatoria dentro del mismo curso académico. La/s parte/s superada/s en convocatorias oficiales (Febrero/Junio) se guardarán para las sucesivas convocatorias que se celebren en el mismo curso académico.

En caso de que no se supere la asignatura en la Convocatoria de Septiembre, no contarán las partes aprobadas para sucesivos cursos académicos.

El sistema de calificaciones (RD 1.125/2003. de 5 de septiembre) será el siguiente:

0-4,9 Suspenso (SS)

5,0-6,9 Aprobado (AP)

7,0-8,9 Notable (NT)

9,0-10 Sobresaliente (SB)

La mención de “matrícula de honor” podrá ser otorgada a alumnos que hayan obtenido una calificación igual o superior a 9,0. Su número no podrá exceder del 5% de los alumnos matriculados en una materia en el correspondiente curso académico, salvo que el número de alumnos matriculados sea inferior a 20, en cuyo caso se podrá conceder una sola matrícula de honor.

Bibliografía y fuentes de referencia Bibliografía básica

• Sznajdleder, P. JEE 7 A Fondo. Diseño Y Desarrollo De Aplicaciones Java Enterprise. Marcombo. 2015. ISBN-13: 978-8426722447

• Gupta, A. Java EE 7 Essentials. O’Reilly. 2013. ISBN-13: 978-1449370176

• Kalin, M.; Java Web Services: Up and Running. O’Reilly. 2013. ISBN-13: 978-1449365110.

Page 10: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

9

Bibliografía complementaria • Groussard, T.; Java Enterprise Edition, Desarrollo de Aplicaciones web con JEE 6.

Ediciones ENI. 2010. ISBN: 978-2-7460-0584-4 • Panda, D.; Rahman, R.; Lane, D.; EJB 3 in Action. Manning Publications. 2007. ISBN: 978-

1933988344. • Liu, M. Computación Distribuida. Fundamentos y aplicaciones. 1ª edición. Madrid: Addison

Wesley, 2004. ISBN: 9788478290666. • Gamma, E.; Helm, R.; Jonson, R. Vlisssides, J. Patrones de Diseño. 1ª edición. Madrid:

Addison-Wesley Iberoamericana, 2002. ISBN: 9788478290598. • Rodríguez de la fuente, S. Programación de aplicaciones web. 1ª edición. Madrid: Thomson,

2003. ISBN: 9788497321815 • Cauldwell, P. Servicios Web XML. 1ª edición. Madrid: Anaya Multimedia, 2002. ISBN:

9788441513631.

Web relacionadas Página oficial de Java: http://www.oracle.com/technetwork/java/index.html donde el alumno encontrará toda la documentación oficial sobre el lenguaje de programación utilizado en la asignatura: Java.

Página sobre alta disponibilidad de aplicaciones: http://highscalability.com/. Se trata de una web muy recomendable donde se describen soluciones a problemas/arquitecturas utilizadas en empresas.

Foro de desarrollo web con Java: http://www.javahispano.org/. Si hay alguna duda sobre el lenguaje de programación utilizado en esta web suele estar resuelta.

Recomendaciones para el estudio A la hora de afrontar esta asignatura es recomendable que el alumno vaya adquiriendo los conceptos poco a poco los conceptos teóricos, a la vez que los afianza con los ejercicios prácticos que se proponen. Esta forma de trabajar, teoría y práctica, ayuda a adquirir las competencias de la asignatura de una forma consistente; aprendiendo no sólo de los logros sino también de los errores y problemas surgidos en la implementación práctica de los conceptos estudiados.

Es importante que el alumno tenga claros los conceptos fundamentales de programación orientada a objetos: clase, objeto, herencia, polimorfismo y ligadura dinámica. Si ellos la realización de la parte práctica supondrá un esfuerzo adicional para él o ella.

Material necesario Aplicaciones

Para esta asignatura se necesita el siguiente software:

Page 11: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

10

• Eclipse Juno o superior for Java EE Developers, que se puede descargar en

https://www.eclipse.org/downloads/

• JDK 1.7 o superior, que se puede descargar en

http://www.oracle.com/technetwork/java/javase/downloads/index.html.

• Apache Tomcat 7 o superior, que se puede descargar en:

http://tomcat.apache.org/download-70.cgi

• Apache Axis 2, que se puede descargar en:

http://axis.apache.org/axis2/java/core/download.cgi

Material didáctico

Además de la bibliografía recomendada, en el campus virtual se proporcionará al alumno organizado en unidades el material didáctico necesario para el seguimiento de la misma. Cada una de estas unidades, siguiendo las recomendaciones de la Unidad Online de la Universidad, incluye documentos, vídeos, foros, tareas y videoconferencias programadas.

Tutorías Breve descripción

A través del Campus Virtual se van a establecer diferentes mecanismos de tutorización, soportados por las distintas herramientas disponibles:

• Foro: esta herramienta está dirigida a fomentar el trabajo en grupo, ya que permite desarrollar un tema específico de forma conjunta. Su dinámica permite a los estudiantes ir nutriendo y generando un debate con los diferentes planteamientos e intervenciones que realicen. Estas serán moderadas por el profesor y las reorientará hacia el propósito formativo. Es importante que el alumno revise el foro como mínimo una vez a la semana pero se recomienda que lo haga con más asiduidad, no sólo se trata de exponer sus dudas sino de responder a las que otros compañeros plantean, mejorando su conocimiento y la seguridad en los temas tratados. Y además de esta forma el profesor podrá evaluar adecuadamente la participación en la asignatura.

• Chat: este espacio cabe destacar como estrategia pedagógica de evaluación formativa, al ser considerado como una herramienta interactiva síncrona que permite establecer diálogos de discusión, reflexión para generar conocimiento y retroalimentación inmediata. Los alumnos podrán comunicarse entre ellos de una forma más distendida, sin los formalismos propios que establecen los foros y mejorando la interacción entre los alumnos.

• Videoconferencia: Para la discusión de temas concretos y la aclaración de dudas. El profesor propondrá al menos cuatro videoconferencias: presentación, seguimiento de las

Page 12: Guía Docente 2017/2018 · Nº de créditos: 6 ECTS. ... 1. Introducción 2. Arquitectura de los servlets 3. Manejo de peticiones 4. ... Práctica J2EE (Tema 1): 20%

Desarrollo de Aplicaciones Distribuidas II

Desarrollo de Aplicaciones Distribuidas II- Tlf: (+34)968 27 88 21

11

prácticas y aclaración de dudas previas a cada uno de los exámenes. Además de las propuestas por el profesor los alumnos podrán solicitar la realización de videoconferencias.

• Mensajes privados y/o correo electrónico: Toda la comunicación directa con el profesor puede realizarse mediante estas herramientas. Se realizará diariamente, con un compromiso de respuesta en menos de 48 horas lectivas desde la recepción del mismo. Es importante que el alumno revise el calendario académico a fin de conocer los periodos vacacionales.

• Teléfono: En las horas de tutorías el profesor atenderá a los alumnos por éste método, fuera de ese horario también será posible contactar con el profesor por teléfono o por videoconferencia previa petición.