Download j2ee: aplicaciones avanzadas de java para entornos

Document related concepts
no text concepts found
Transcript
ASIGNATURA DE MÁSTER:
J2EE: APLICACIONES
AVANZADAS DE JAVA
PARA ENTORNOS
PROFESIONALES
Curso 2015/2016
(Código:31102083)
1.PRESENTACIÓN
Esta guía presenta las orientaciones básicas que requiere el alumno para el estudio de la asignatura de J2EE: Aplicaciones
Avanzadas de Java para entornos profesionales. Por esta razón es muy recomendable leer con atención esta guía antes de
iniciar el estudio, para adquirir una idea general de la asignatura y de los trabajos, actividades y prácticas que se van a
desarrollar a lo largo del curso.
J2EE: Aplicaciones Avanzadas de Java para entornos profesionales es una asignatura de diez créditos ECTS de carácter
optativa que se imparte en el segundo semestre dentro primer curso de máster profesional en Comunicaciones, Redes y
Gestión de Contenidos . Se trata de un curso sobre la arquitectura, las tecnologías y las soluciones de la plataforma Java 2,
Enterprise Edition (J2EE).
Para ello los principales objetivos de aprendizaje que se plantean son:
Guiar al alumno en el uso de los elementos de la plataforma JEE, así como de los frameworks
auxiliares existentes.
Utilizar JSP, y JSF para el desarrollo de prototipos de aplicaciones de Internet.
Profundización en los contenedores JEE y sus mecanismos de implementación de negocio y acceso a datos: Web
Services, CDI, EJB y JPA
Desarrollar ejemplos prácticos y aplicados a partir de las tecnologías estudiadas.
2.CONTEXTUALIZACIÓN
El desarrollo e instalación de aplicaciones de forma rápida es una ventaja competitiva para cualquier empresa ya que ello le
permite poder dar al cliente un servicio eficaz, independientemente del tipo y soporte que se dé a las aplicaciones. En este
proceso es importante tanto la portabilidad como la escalabilidad de los productos resultantes.
El problema reside en que aplicaciones con múltiples niveles son difíciles de poner en marcha
porque requiere un conjunto amplio de recursos y habilidades de los desarrolladores. En el entorno heterogéneo de las
redes informáticas de hoy en día, un ingeniero puede tener que
integrar recursos de una gran variedad de sistemas
distintos. La experiencia ha demostrado que dicha integración puede ocupar hasta un 50% del tiempo del ciclo de vida de un
sistema. JEE ofrece una capa estándar que funciona encima de otros sistemas (como por ejemplo, sistemas de gestión de
bases de datos, monitores de transacciones, servicios de nombres y de directorios, etc.), lo que facilita su integración.
JEE (Java Entreprise Edition) ofrece un conjunto de especificaciones y técnicas que proporcionan soluciones completas,
seguras, estables y escalables para el desarrollo, despliegue y gestión de aplicaciones en múltiples niveles de funcionalidad
basadas en servidores. JEE reduce el coste y la complejidad de desarrollo, incrementando la rapidez del desarrollo.
La plataforma JEE define un estándar para el desarrollo de aplicaciones de múltiples niveles (servidores Web, de
aplicaciones, de base de datos, etc.). Gracias a que su funcionamiento se basa en componentes modulares que incluyen un
conjunto de servicios predefinidos, se simplifica la tarea de la producción de sistemas. JEE extiende las ventajas de la
plataforma Java Standard Edition (como por ejemplo, seguridad, portabilidad de programas, acceso a las bases de datos,
etc.) con la integración de recursos como Enterprise JavaBeans, JavaServer Faces o Java Persistence API.
3.CONOCIMIENTOS PREVIOS RECOMENDABLES
El estudiante debería entender qué es el paradigma de la programación orientada a objetos, su importancia dentro del
mundo de la ingeniería de software, sus ventajas a la hora de diseñar software y su aplicación práctica a la hora de
programar. En concreto, el alumno debería conocer a fondo el lenguaje de programación (orientado a objetos) Java.
Como resumen de los dos puntos anteriores, el estudiante debería conocer:
La programación orientada a objetos.
Los elementos básicos del lenguaje (variables, operadores, precedencia de operadores, control de flujo [if,
while, do ... while, for], arrays, arrays multidimensionales).
Clases y objetos (métodos, definición de clase, acceso a variables desde un método, acceso a variables desde
otra clase, paso de parámetros por valor, paso de parámetros por referencia, tipos especiales, constructores,
sobrecarga de métodos y constructores).
Librerías de clases (definición y uso, ejemplos más importantes [java.lang.Math, java.io.RandomAccessFile,
java.io.PrintStream, java.io.BufferedReader, java.lang.String, java.util.ArrayList, java.util.Iterator]).
Jerarquías de clases (definición, tipos y casts, herencia de variables, sobreescritura devariables, herencia de
métodos, sobreescritura de métodos, constructores, variables y métodos protegidos, clases y métodos
abstractos).
Interfaces (definición, ejemplos importantes [java.util.Collection, java.util.Set]).
Excepciones (definición, creación de excepciones, jerarquía).
Adicionalmente, el estudiante deberá conocer el paradigma cliente/servidor así como tecnologías básicas de Internet (HTML y
HTTP).
4.RESULTADOS DE APRENDIZAJE
J2EE ( Java2 Entreprise Edition ) ofrece un conjunto de especificaciones y técnicas que proporcionan soluciones completas,
seguras, estables y escalables para el desarrollo, despliegue y gestión de aplicaciones en múltiples niveles de funcionalidad
basadas en servidores. J2EE reduce el coste y la complejidad de desarrollo, lo cual redunda en rapidez de desarrollo. La
plataforma J2EE define un estándar para el desarrollo de aplicaciones de múltiples niveles (servidores Web, de aplicaciones,
de base de datos, etc.). Gracias a que su funcionamiento se basa en componentes modulares que incluyen un conjunto de
servicios predefinidos, se simplifica la tarea de la producción de sistemas. J2EE extiende las ventajas de la plataforma Java 2
(como por ejemplo, seguridad, la portabilidad de programas, el acceso a las bases de datos, etc.) con la integración de
recursos como Enterprise JavaBeans,Servlets Java, JavaServer Pages, y la tecnología XML.
Objetivos específicos
Guiar al alumno en el uso de los elementos de la plataforma J2EE
Utilizar los diferentes recursos de la plataforma J2EE para el desarrollo de prototipos de aplicaciones de Internet
Desarrollar ejemplos prácticos y aplicados a partir de las tecnologías estudiadas
5.CONTENIDOS DE LA ASIGNATURA
Se propone un primer módulo de introducción a conceptos teóricos e instalación de un framework de desarrollo, además de
la realización de un primer programa simple “Hola Mundo”. Esta parte cubre los el objetivo 1.
Para aplicaciones medias y grandes, es frecuente que los equipos de desarrollo sean divididos por capas software. Así, es
habitual que un equipo se dedique a definir y mantener los accesos a bases de datos, otro equipo a modelar el negocio, y
otro equipo a implementar la parte de presentación.
Por este motivo, se utilizará esta misma estructura para dividirá el contenido de esta asignatura. Se divide el resto de la
signatura en 3 módulos, uno para la parte de presentación, otro para la parte de negocio y tecnologías asociadas, y otro
para la parte de acceso a datos. Con estos tres módulos se pretende cumplir los objetivos 3 y 4.
Finalmente, se añade un quinto módulo de aspectos avanzados y correcciones.
De forma más detallada, el temario se divide en 5 módulos:
MÓDULO 1. Conceptos Básicos JEE y entornos de trabajo.
Introducción JEE
Entornos de desarrollo
Instalación y configuración de NetBeans (con GlassFish embebido)
Hola Mundo con JSP y Servlet.
Familiarización con el entorno.
MÓDULO 2. Tecnologías de presentación.
Teoría: Tecnologías de presentación
Elaboración de prototipos
Ejemplos y alcance dentro de una aplicación
JSP
JSF
Log4Java
Práctica: Elaboración de prototipo
MÓDULO 3. Tecnologías de negocio.
Teoría:
Separación de capas e integración con JSF: CDI y su incorporación en JEE6
EJB3
Práctica: Continuar la práctica anterior. Elaboración de modelado de negocio.
MÓDULO 4. Tecnologías de acceso a datos.
Teoría:
Persistencia.
JPA
Práctica: Elaboración de prototipo completo incluyendo acceso a datos
MÓDULO 5. Aspectos avanzados. (opcional)
Teoría. Aspectos avanzados
Librerías de componentes JSF
AJAX
Práctica: Corregir y mejorar la práctica final. Opcionalmente utilizar AJAX y librerías de
componentes JSF.
6.EQUIPO DOCENTE
ROBERTO HERNANDEZ BERLINCHES
MARIA DE LOS LLANOS TOBARRA ABAD
7.METODOLOGÍA
A lo largo del curso se pondrá a disposición de los estudiantes el material, los programas y las herramientas necesarias. El
proceso de aprendizaje consistirá en la adquisición de
conocimiento sobre JEE y sus componentes y tecnologías y el desarrollo práctico y despliegue de aplicaciones JEE tanto en el
entorno de prueba como en un servidor de aplicaciones
GlassFish.
Adicionalmente a lo comentado, cada módulo tiene un pequeño documento llamado “Esquema”, donde se introduce el objeto
del módulo, los conceptos básicos, y las fuentes externas donde poder completar dicho conocimiento.
Este sistema de referencias externas es fundamental en un contexto tecnológico de constante cambio, donde el estudiante
debe aprender a distinguir la información relevante existente en la
web. Se promoverá por tanto de este modo la localización y evaluación de toda la información
disponible en la web.
Cada módulo finalizará con una prueba teórica, previa a la implementación práctica de dichos conceptos. De este modo se
pretende evaluar de forma continua la participación de los
estudiantes en la asignatura. Para cada módulo se proporcionará al estudiante una base de datos de preguntas tipo test, de
forma que pueda realizar cuantos test desee, y siendo la realización
de dichos test también valorable. El test final se realizará de un test final a realizar en un tiempo definido, compuesto por
preguntas aleatorias similares a las de los test disponibles.
Cada práctica comenzará con una estructura a completar, para que el estudiante lleve a cabo su extensión y adaptación a
los requisitos funcionales planteados. La práctica final tendrá unos
elementos básicos obligatorios a implementar (cuya evaluación está tabulada), y una serie de funcionalidades adicionales
para subir nota.
La práctica se planteará de forma incremental, del mismo modo que suele plantearse en los entornos profesionales de
desarrollo software (por capas). De este modo, se desarrollará por
partes una aplicación compleja, posibilitando así la evaluación continua del estudiante.
8.BIBLIOGRAFÍA BÁSICA
Comentarios y anexos:
· Apuntes del equipo docente.
9.BIBLIOGRAFÍA COMPLEMENTARIA
Comentarios y anexos:
· Tecnologías de Servidor con J2EE. 2005. Jose L. Hevia Oliver y Angel Esteban.Editorial:Eidos.· Programación Java Server
con J2EE Edición 1.3. 2001. S. ALLAMARAJU, C. BEUST et al.Editorial WROX-Anaya Multimedia.
10.RECURSOS DE APOYO AL ESTUDIO
Curso virtual
Todos los materiales del curso estarán disponibles en el curso virtual de la asignatura.
Los materiales del curso que el equipo docente facilitará a los estudiantes consistirá en lo
siguiente:
Apuntes en formato PDF y páginas Web.
Programas de ejemplo y ejercicios.
Software.
Lecturas recomendadas de ampliación
Se proporcionará al alumno una documentación del curso, que conecte y estructure los
contenidos disponibles en la web. Se proporcionará al estudiante ejemplos de base
prácticas a realizar. Todo ello a través de la plataforma virtual.
Videoconferencia
No se contempla
Software para prácticas.
Se proporcionará todo el software necesario para la asignatura a los alumnos.
11.TUTORIZACIÓN Y SEGUIMIENTO
Tutorías con el equipo docente: los lunes de 15:00 a 19:00 h para el periodo durante el que se
desarrolla la asignatura, en el teléfono 913989566 o presencialmente. También en cualquier momento
del curso por correo electrónico a [email protected] ó [email protected] o en el entorno
de aprendizaje usando los foros a disposición del alumnado.
12.EVALUACIÓN DE LOS APRENDIZAJES
Los objetivos del aprendizaje son:
OBJ 1. Conocer entornos de trabajo JEE. Adquirir práctica con NetBeans.
OBJ 2. Adquirir la capacidad teórica de trabajar en detalle con las tecnologías más representativas del desarrollo
Web sobre JEE, conocer el ámbito de aplicación de cada uno.
OBJ 3. Adaptarse al tipo de trabajo por capas y tecnologías realizado en las empresas de desarrollo de software,
sobre las tecnologías anteriormente comentadas(JPA, Spring,
EJB, JSF…)
La evaluación se computará de la siguiente manera:
4 puntos asociados a los contenidos teóricos que se evaluarán mediante cuestionarios realizados dentro de la
plataforma educativa.
5,5 puntos asociados a las actividades prácticas entregables que permitiran desarrollar el aspecto práctico de la
asignatura.
0,5 puntos por la participación del estudiante en el desarrollo de la asignatura mediante sus foros.