FJ-310-EE6: Desarrollando aplicaciones para Java EE 6
Qué aprenderá
Este curso provee a los estudiantes el conocimiento necesario para construir y desplegar aplicaciones conformes a los estándares tecnológicos de la plataforma Java Enterprise Edition 6.
Los componentes enterprise presentados en este curso incluyen
- Enterprise JavaBeans™ (EJB™)
- Java Persistence API
- Servlets
- JavaServer Pages™ (JSP™)
- JavaServer Faces™ (JSF™)
- Servicios web RESTful y SOAP y clientes que los usan
Los estudiantes adquieren experiencia práctica a través de laboratorios que construyen una aplicación completa y distribuida. Los laboratorios exploran EJBs de sesión, utilizando el patrón de fachada y proveen una interfaz externa a componentes entidades utilizando Java Persistence API. Los laboratorios también exploran compenentes EJB impulsados por mensajes, que actuan como consumidores de Java Message Service (JMS). Los estuddiantes crean interfaces de usuarios utilizando servlets, JSP y JSF. También son creados servicios web básicos utilizando SOAP y técnicas RESTful. Los estudiantes aprenden cómo ensamblar una aplicación y cómo desplegar una aplicación en un servidores de aplicaciones (entorno de ejecución de la plataforma Java EE). Los estudiantes realizan los ejercicios utilizando NetBeans™ IDE.
Estudiantes que se benefician de este curso
- Programadores Sun™ Certified Java Technology que desean desarrollar aplicaciones conforme a los estándares de la plataforma Java EE.
- Estudiantes con experiencia en programación Java interesados en un sobrevuelo amplio de la plataforma Java EE.
- Estudiantes planeando rendir uno o más exámenes de certificación Java EE 6.
Prerrequisitos
Prerrequisitos requeridos
- Experiencia con el lenguaje de programación Java
- Familiaridad con serialización de objetos
- Familiaridad con la teoría de bases de datos relacionales y SQL básico
- Familiaridad con el uso de un IDE (e.g. Netbeans, Eclipse)
Prerrequisitos sugeridos
- Experiencia en análisis con orientación a objeto y uso de UML
Objetivos del curso
- Describir el modelo de aplicaciones para la plataforma Java EE y el contexto para el modelo
- Seleccionar el perfil Java EE correcto para cada aplicación
- Desarrollar y correr una aplicación con tecnología EJB
- Desarrollar clases de entidad con JPA básico para habilitar el acceso a base de datos
- Desarrollar servicios web simples para la plataforma Java EE
Contenidos del curso
Recorrido de tecnologías Java EE
- Describir las diferentes plataformas y versiones Java
- Describir las necesidades de aplicaciones enterprise
- Introducir los APIs y servicios de Java EE
- Caminos de Certificación
- Introducir Servidores de Aplicación
- Módulos Enterprise
Arquitectura de Aplicaciones Enterprise
- Patrones de Diseño
- Modelo Vista Controlador
- Comunicación síncrona y asíncrona
- Topologías de red y racimos
- Estratificación (cliente, presentación, servicio, integración, persistencia)
Sobrevuelo de Tecnologías Web
- Describir el rol de los componentes web en aplicaciones Java EE
- Definir el modelo pedido-respuesta de HTTP
- Comparar servlets Java, JSP y JSF
- Breve introducción a tecnologías no cubiertas en detalle
Desarrollando Servlets
- Describir el API de servlets
- Configuración de servlets mediante anotaciones y descriptores de despliegue
- Uso de APIs de pedidos y respuestas
- Servlets como controladores
Desarrollando con tecnología JavaServer Pages
- Evalua el rol de la tecnología JSP como mecanismo de presentación
- Redacta páginas JSP
- Procesamiento de datos recibidos desde servlets en páginas JSP
- Breve introducción a JSTL y EL
JavaServer Faces
- Explicación del modelo JSF
- Agregando soporte JSF a aplicaciones web
- Utilizando bibliotecas de etiquetas JSF
- Configurando la navegación JSF de páginas
- Beans gestionados de JSF
- Conversión, validación y manejo de errores en JSF
Sobrevuelo EJB
- Tipos EJB: Beans de Sesión
- Tipos EJB: Beans impulsados por mensajes
- Java Persistence API (JPA) como reemplazo de EJBs de entidad
- Describir el rol de EJBs en aplicaciones Java EE
- EJB lite
Implementando Beans de Sesión EJB 3.0
- Comparar comportamiento de beans con estado (stateful) y sin estado (stateless)
- Describir las características operativas de un bean de sesión sin estado
- Describir las características operativas de un bean de sesión con estado
- Describir las características operativas de un bean de sesión singleton
- Creación de beans de sesión
- Empaquetamiento y despliegue de beans de sesión
- Creación de clientes de beans de sesiones
El API de Persistencia Java (JPA)
- El rol del API de Persistencia en la aplicación Java EE
- Mapeo objeto-relacional
- Creación de clases de entidad
- Usando el API EntityManager
- El ciclo de vida y características operativas de componentes de entidad
- Unidades de persistencia y empaquetamiento
Implementando una Política Transaccional
- Descripción de semántica transaccional
- Comparación de demarcación transaccional declarativa y programática
- Uso de Java Transaction API (JTA) para demarcarción programatica
- Implementación de políticas transaccionales gestionadas por el contenedor
- Soporte de llaveo optimista con versionamiento de componentes de entidad
- Soporte de llaveo pesimista de componentes de entidad
- Utilizando transacciones en el Perfil Web
Desarrollando Aplicaciones Java EE Asíncronas y Mensajería
- La necesidad de ejecución asíncrona
- Introducción a tecnología JMS
- Lista las capacidades y limitaciones de componentes Java EE como productores y consumidores de mensajes
- JMS y transacciones
- Administración de JMS
Desarrollando Beans Impulsados por Mensajes
- Descripción de propiedades y ciclo de vida de beans impulsados por mensajes
- Creación de beans impulsados por mensajes JMS
El Modelo de Servicios Web
- Describir el rol de servicios web
- Modelos de servicios web
- Listar especificaciones usadas para hacer servicios web independientes de plataforma
- Describir los APIs Java usados para procesamiento XML y servicios web
Implementando Servicios Web Java EE con JAX-WS y JAX-RS
- Describir puntos terminales soportados por la plataforma Java EE 6
- Desarrollando servicios web con Java
- Creando clientes de servicios web con Java
Implementando una Política de Seguridad
- Aprovechando la seguridad gestionada por contenedor
- Definir roles de usuarios y responsabilidades
- Crear una política de seguridad basada en roles
- Configurar autenticación en la capa web