Universidad de Jaén

Menú local

Guía docente 2019-20 - 13312006 - Desarrollo de aplicaciones empresariales



TITULACIÓN: Grado en Ingeniería informática
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (JAÉN)
CURSO: 2019-20
ASIGNATURA: Desarrollo de aplicaciones empresariales
GUÍA DOCENTE
1. DATOS BÁSICOS DE LA ASIGNATURA
NOMBRE: Desarrollo de aplicaciones empresariales
CÓDIGO: 13312006 CURSO ACADÉMICO: 2019-20
TIPO: Obligatoria
Créditos ECTS: 6.0 CURSO: 4 CUATRIMESTRE: PC
WEB: http://dv.ujaen.es/docencia/goto_docencia_crs_433649.html
2. DATOS BÁSICOS DEL PROFESORADO
NOMBRE: RUEDA RUIZ, ANTONIO JESÚS
IMPARTE: Teoría - Prácticas [Profesor responsable]
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: A3 - 141 E-MAIL: ajrueda@ujaen.es TLF: 953212893
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/58261
URL WEB: http://www4.ujaen.es/~ajrueda
ORCID: https://orcid.org/0000-0001-7692-454X
3. PRERREQUISITOS, CONTEXTO Y RECOMENDACIONES
PRERREQUISITOS:

Ninguno.

CONTEXTO DENTRO DE LA TITULACIÓN:

Asignatura de programación avanzada perteneciente a la intensificación de Ingeniería del Software y a la materia de "Aplicaciones Empresariales". Estrechamente relacionada con la asignatura de Desarrollo de Aplicaciones Web.

RECOMENDACIONES Y ADAPTACIONES CURRICULARES:

Recomendable haber cursado con aprovechamiento la asignatura de Desarrollo de Aplicaciones Web y tener un conocimiento medio del lenguaje de programación Java.

El alumnado que presente necesidades específicas de apoyo educativo, lo ha de notificar personalmente al Servicio de Atención y Ayudas al Estudiante para proceder a realizar, en su caso, la adaptación curricular correspondiente.
4. COMPETENCIAS Y RESULTADOS DE APRENDIZAJE
Código Denominación de la competencia
CB2R Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
CB3R Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
CB4R Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
 
Resultados de aprendizaje
Resultado 1 Ser capaz de desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
Resultado 10R Ser capaz de integrar los sistemas software en el ámbito empresarial dentro del contexto más amplio del desarrollo de arquitecturas.
Resultado CIS1R Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
Resultado CIS3R Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
Resultado CIS4R Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
5. CONTENIDOS

Introducción a la programación de aplicaciones para entornos corporativos y empresariales. Diseño e implementación de la capa de negocio mediante componentes distribuidos. Diseño de datos y persistencia. Aplicaciones orientadas a servicios. Servicios Web

 

Contenidos teóricos

Bloque 1: Introducción al desarrollo de aplicaciones empresariales

   1. Introducción al desarrollo de aplicaciones empresariales

 

Bloque 2: Diseño e implementación de la capa de negocio

   2. Contenedores de objetos de negocio

   3. Inyección de dependencias

   4. Soporte de aspectos

   5. Ejecución asíncrona y programada de operaciones

 

Bloque 3: Diseño e implementación de la capa de persistencia

   6. Persistencia en bases de datos

   7. Acceso a bases de datos mediante JDBC

   8. Mapeado objeto-relacional: JPA

   9. Gestión de persistencia mediante JPA

   10. Transacciones

   11. JPA avanzado: concurrencia y cacheado

   12. Bases de datos NoSQL

 

Bloque 4: Diseño e implementación de la capa de servicios

   13. Arquitectura orientada a servicios (SOA). Microservicios.

   14. Tecnologías de objetos distribuidos 

   15. Servicios Web basados en SOAP

   16. Servicios Web REST

   17. Implementación de servicios Web REST

   18. Mensajería asíncrona

   20. Seguridad en la capa de servicios

   21. Implementación de políticas de seguridad

 

Bloque 5: Computación en la nube 

   22. Computación en la nube. Contenedores de software

  

Programa práctico

   1.  Desarrollo de una aplicación empresarial básica: objetos de negocio, inyección de dependencias y configuración. Desarrollo de un cliente sencillo.

   2. Soporte de persistencia en aplicaciones empresariales: dar soporte de persistencia a la aplicación desarrollada en la práctica 1 utilizando un ORM y el API JPA, gestionar transacciones y utilizar cacheado para la aceleración del acceso a la base de datos.

   3. Servicios Web: proporcionar una interfaz de servicios basada en REST para la aplicación desarrollada en la práctica 2. Desarrollar un cliente web o móvil completo que utilice esta interfaz REST.

6. METODOLOGÍA Y ACTIVIDADES
 
ACTIVIDADES HORAS PRESEN­CIALES HORAS TRABAJO AUTÓ­NOMO TOTAL HORAS CRÉDITOS ECTS COMPETENCIAS (códigos)
A1 - Clases expositivas en gran grupo
  • M1 - Clases magistrales
  • M2 - Exposición de teoría y ejemplos generales
  • M4 - Conferencias
  • M5 - Otros
25.0 37.5 62.5 2.5
  • CB2R
  • CB3R
  • CB4R
A2R - Clases en pequeño grupo 30.0 45.0 75.0 3.0
A3 - Tutorías colectivas/individuales
  • M14 - Supervisión de trabajos dirigidos
  • M17 - Aclaración de dudas
  • M18 - Comentarios de trabajos individuales
  • M19 - Presentaciones/exposiciones
5.0 7.5 12.5 0.5
TOTALES: 60.0 90.0 150.0 6.0  
 
INFORMACIÓN DETALLADA:

La parte fundamental de la asignatura se estructura en un conjunto de 25 sesiones teóricas y 30 sesiones prácticas.

Durante las sesiones teóricas se presentarán 22 lecciones individuales (una en cada sesión) que estudiarán cada uno de los aspectos de la materia de la asignatura. Las 3 restantes sesiones se dedicarán a la presentación de la asignatura, repaso y resolución de problemas.

Durante las sesiones prácticas se desarrollará un proyecto informático de tamaño medio que usará los paradigmas, tecnologías y frameworks descritos en la parte teórica de la asignatura. Es esta parte práctica la de mayor importancia en la asignatura.

7. SISTEMA DE EVALUACIÓN
 
ASPECTO CRITERIOS INSTRUMENTO PESO
Asistencia y/o participación en actividades presenciales y/o virtuales Asistencia y participación Observación y notas del profesor 10.0%
Conceptos teóricos de la materia Conceptos teóricos de la materia Examen teórico (prueba objetiva de respuesta breve y prueba objetiva tipo test) 25.0%
Realización de trabajos, casos o ejercicios Realización de trabajos, casos o ejercicios Trabajo en grupo 15.0%
Prácticas de laboratorio/campo/uso de herramientas TIC Prácticas de laboratorio/ordenador Trabajo individual 50.0%
El sistema de calificación se regirá por lo establecido en el RD 1125/2003 de 5 de septiembre por el que se establece el sistema europeo de créditos y el sistema de calificaciones en la titulaciones universitarias de carácter oficial
INFORMACIÓN DETALLADA:

El profesor realizará controles periódicos de asistencia y valorará positivamente la actitud participativa del alumnado tomando notas en clase. 

La parte práctica será la de mayor importancia y se estructurará en una serie de entregas obligatorias que serán puntuadas por separado, evaluando el nivel de consecución de los resultados esperados 1, 3, 4 y 8. 

El examen teórico evaluará el grado de asimilación de los conceptos básicos de la asignatura, a través del grado de cumplimiento de los resultados 1 y 3. Será necesario alcanzar al menos un 30% de la nota correspondiente a este apartado para aprobar la asignatura.

Finalmente la evaluación de los trabajos y ejercicios propuestos con presentación en clase o a través de la plataforma de docencia virtual completará la nota final de la asignatura. Los resultados de la asignatura que se evaluarán con estos trabajos son 1, 3, 4 y 8.  

8. DOCUMENTACIÓN / BIBLIOGRAFÍA
ESPECÍFICA O BÁSICA:
  • Pro JPA 2. Edición: 2nd ed.. Autor: Keith, Mike. Editorial: [New York] : Apress : Distributed by Springer Science+Business Media New York, 2013  (C. Biblioteca)
  • Spring in Action. Edición: 5th edition. Autor: Walls, Craig. Editorial: -  (C. Biblioteca)
GENERAL Y COMPLEMENTARIA:
  • Spring in Practice. Edición: -. Autor: Wheeler, Willie. Editorial: Shelter Island: Manning, 2013  (C. Biblioteca)
  • Patterns of enterprise application architecture [Recurso electrónico] . Edición: -. Autor: Fowler, Martin, 1963-.. Editorial: Boston : Addison-Wesley, c2003.  (C. Biblioteca)
  • Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools, 5th Edition [Recurso electró. Edición: 1st edition. Autor: Cosmina, Iuliana, author. Editorial: -  (C. Biblioteca)
  • MongoDB : the definitive guide. Edición: -. Autor: Chodorow, Kristina. Editorial: Sebastopol, Calif. : O'Reilly Media, c2010.  (C. Biblioteca)
  • Spring 5.0 Microservices - Second Edition [Recurso electrónico]. Edición: 2nd edition. Autor: V, Rajesh, author. Editorial: -  (C. Biblioteca)
9. CRONOGRAMA (primer cuatrimestre)
 
Semana A1 - Clases expositivas en gran grupo A2R - Clases en pequeño grupo A3 - Tutorías colectivas/individuales Trabajo autónomo Observaciones
Nº 1
9 - 15 sept. 2019
2.02.00.0 6.0 Presentación e Introducción. Presentación del proyecto práctico e inicio de la fase de diseño.
Nº 2
16 - 22 sept. 2019
2.02.00.0 6.0 Contenedores de Objetos de Negocio. Inyección de dependencias.
Nº 3
23 - 29 sept. 2019
2.02.00.0 6.0 Soporte de aspectos. Ejecución asíncrona y programada de operaciones. Inicio de la fase de implementación del proyecto pr?ctico.
Nº 4
30 sept. - 6 oct. 2019
2.02.00.0 6.0 Persistencia en la base de datos. JDBC
Nº 5
7 - 13 oct. 2019
2.02.00.0 6.0 Mapeado OR con JPA. Persistencia mediante JPA
Nº 6
14 - 20 oct. 2019
2.02.00.0 6.0 Transacciones. Concurrencia y cacheado
Nº 7
21 - 27 oct. 2019
2.02.00.0 6.0 Bases de datos NoSQL. Repaso de teoría. Entrega del prototipo 1 del proyecto (objetos de negocio).
Nº 8
28 oct. - 3 nov. 2019
0.02.00.0 6.0  
Nº 9
4 - 10 nov. 2019
2.02.00.0 6.0 Arquitecturas Orientadas a Servicios. Objetos distribuidos.
Nº 10
11 - 17 nov. 2019
2.02.00.0 6.0 Servicios web. Servicios web restful.
Nº 11
18 - 24 nov. 2019
2.02.00.0 6.0 Implementación de servicios web restful. Mensajería asíncrona. Entrega del prototipo 2 del proyecto ( persistencia)
Nº 12
25 nov. - 1 dic. 2019
2.02.00.0 6.0 Seguridad en la capa de servicios. Implementación de políticas de seguridad.
Nº 13
2 - 8 dic. 2019
0.02.00.0 6.0  
Nº 14
9 - 15 dic. 2019
2.02.00.0 6.0 Computación en la nube y contenedores. Repaso de la asignatura y solución de problemas.
Nº 15
16 - 19 dic. 2019
1.02.00.0 6.0 Repaso de la asignatura y solución de problemas. Entrega del prototipo definitivo del proyecto ( capa de servicios restful seguridad).
Total Horas 25.0 30.0 0.0 90.0