DESCRIPCIÓN La arquitectura de software es un conjunto de elementos y estructuras interrelacionados entre sí que componen a un sistema informático: define qué elementos tiene una aplicación, cómo se relacionan y que información comparten para orquestarse adecuadamente. Un desarrollador maduro debe tener en cuenta los conceptos arquitectónicos que sustentan una buena aplicación, tener la posibilidad de representar decisiones de diseño y bosquejar de manera temprana una aplicación para integrar las mejores tecnologías acordes con el proyecto antes de proceder con una implementación. Estas buenas prácticas en la construcción de aplicaciones son claves para una adecuada reutilización sistemática de componentes de software y marca diferenciación profesional. PRE-REQUISITOS Conocimiento de Java (intermedio) Conocimiento de programación Orientada Objetos (intermedio) Conocimiento de HTML, XHTML, CSS y JavaScript (intermedio) Conocimiento de programación Web con Servlets y JSP (intermedio) Conocimiento de programación con JDBC (intermedio) Conocimiento de Transact-SQL (intermedio) Conocimiento de NetBeans (básico) EGRESADO Web OBJETIVO Este programa provee al participante el conocimiento y las habilidades para comprender la importancia y relevancia de diseñar aplicaciones con alto desacoplamiento en capas utilizando diferentes tecnologías Java que permitan aislar sus responsabilidades sin perder la cohesión entre las mismas. Las reglas, políticas y componentes de negocio deben manejarse en la capa del negocio de manera separada a la capa de persistencia (datos) y presentación (interfaces). El participante utilizará la Programación Orientada a Aspectos (AOP) para resolver los elementos transversales de una aplicación (requerimientos no funcionales), un enfoque relativamente nuevo que busca la modularización de las funcionalidades. DIRIGIDO Profesionales de Sistemas Técnicos de Sistemas METODOLOGÍA El programa se encuentra estructurado en sesiones teórico-prácticas, donde se propicia la participación de los alumnos en cada clase, ya sea compartiendo experiencias de su contexto laboral como desarrollando laboratorios del tema diseñados para consolidar el aprendizaje. Como recurso de enseñanza, cada alumno cuenta con una computadora de uso personal; material educativo digital que consta de las sesiones del curso, laboratorios, tareas, diapositivas de cada tema, lecturas de apoyo y videos. CERTIFICACIÓN Al finalizar y aprobar el programa, con nota mínima catorce (14), el participante obtendrá el certificado en:
Advanced COMPETENCIAS Entiende el ciclo de vida y los requerimientos arquitectónico que debe tener una aplicación Web. Aplica patrones de diseño durante el proceso de construcción de una aplicación que proporcione elementos reusables para el diseño de aplicaciones Web. Implementa un proyecto de software Java seleccionando los Frameworks más adecuados según las necesidades técnicas del negocio. Orquesta las capas de la aplicación utilizando distintas tecnologías Java. Desacopla aspectos transversales de las capas de una aplicación. Construye una aplicación acorde a las buenas prácticas dándole énfasis al aspecto de RUTA DE CAPACITACIÓN N CURSO HORAS 1 Definiendo la Arquitectura e Infraestructura de la Aplicación 32 2 Construyendo la Capa de Presentación de la Aplicación 36 3 Construyendo la Capa de Persistencia de la Aplicación 32 4 Construyendo la Capa de Negocio y Aspectos de la Aplicación 40 TOTAL = 140 PLAN CURRICULAR Fundamentals Web Advanced Arquitect
COMPETENCIAS Entiende el ciclo de vida y los requerimientos arquitectónico que debe tener una aplicación Web. Aplica patrones de diseño durante el proceso de construcción de una aplicación que proporcione elementos reusables para el diseño de aplicaciones Web. Implementa un proyecto de software Java seleccionando los Frameworks más adecuados según las necesidades técnicas del negocio. Orquesta las capas de la aplicación utilizando distintas tecnologías Java. Desacopla aspectos transversales de las capas de una aplicación. Construye una aplicación acorde a las buenas prácticas dándole énfasis al aspecto de Diseñando la Arquitectura e Infraestructura de una Aplicación Comprender el ciclo de vida de una aplicación. Adquirir el conocimiento arquitectónico para crear una aplicación web. Aplicar patrones de diseño. Entender la fase de despliegue en un proyecto Java. Desplegar apropiadamente aplicaciones JEE. Seleccionar los Frameworks Java más adecuados para un proyecto. Integrar todas las capas de la aplicación con distintas tecnologías. Arquitectura en una Aplicación Web con Java Definición de perspectivas Definición de capas Diseño de la arquitectura Comprender cómo la arquitectura se concreta en el proyecto Patrones de Diseño Java - Patrones GRASP - Patrones GoF - Patrones JEE Intercepting filter Data Access Object (DAO) Front Controller Anotaciones Java Tipos de Despliegue con Java Despliegue de un archivo WAR en el servidor de aplicaciones Servlet Containers (Tomcat, Jetty) JEE Servers (JBoss, Glassfish) Buenas prácticas y seguridad en el despliegue - Posibles vulnerabilidades - Mejoras en el rendimiento - Buenas prácticas - Servidor de aplicaciones - Generación del WAR Integración y Selección de Frameworks Proceso de integración Consideraciones en la integración Selección de tecnologías Tipos de proyecto Integración de capas (presentación, negocio y persistencia Desacoplamiento de capas Ciclo de Vida del Software Ciclo de vida de un proyecto de software Modelos de ciclos de vida Modelos tradicionales vs ágiles Tecnologías para la implementación en proyectos JEE Tecnologías para el despliegue de proyectos JEE
Construyendo la Capa de Presentación de la Aplicación Desacoplar de la capa de presentación y negocio aplicando MVC. Comprender la arquitectura y componentes del MVC Struts 2. Desarrollar aplicaciones Web con Struts 2 acorde a las buenas prácticas. Comprender la arquitectura de la especificación JSF. Desarrollar aplicaciones Web con JSF acorde a las buenas prácticas. Patrones de Presentación Patrón MVC Otros MVP Struts 2.0 Arquitectura y componentes Configuración básica Actions y Interceptors Tipos de resultado Struts tags I18N ValidaciónTemplating con Tiles Manejo de Scopes Configuración avanzada JSF y PrimeFaces 3.3 Especificación JSF 2.1 Arquitectura y componentes Navigation Model UI Component Model Managed Beans Ciclo de vida Implementación básica Validadores I18N Facelets Manejo de Scopes Uso de Prime Faces Construyendo la Capa de Persistencia de la Aplicación Comprender los diversos marcos de trabajo para la capa de persistencia. Construir aplicaciones operaciones de mantenimiento a bases de datos utilizando la técnica del Mapeo Relacional / Objeto. Construir aplicaciones Java con MyBatis operaciones de mantenimiento a bases de datos relacionales. Hibernate 4.0 Arquitectura y configuración Flavors: anotaciones vs XML Mapping O/R Configuración básica Relaciones: OneToMany, ManyToOne, ManyToMany, OneToOne Query Languaje Hibernate JPA 2.0 Especificación y arquitectura Implementaciones más conocidas Configuración Mapping Relaciones: OneToMany,ManyToOne,ManyToMany OneToOne Query Languaje JPA
Mybatis 3.0 Arquitectura y configuración Mappers e interfaces Uso de anotaciones Componentes avanzados Mybatis Construyendo la Capa de Negocio y Aspectos de la Aplicación Identificar qué es la capa de negocio de una aplicación. Aprende a usar Spring para desacoplar las capas de una aplicación empleando inyección de dependencias. Desacoplar los aspectos transversales de las capas de la aplicación. Desarrollar una aplicación acorde a las buenas prácticas dándole importancia al aspecto de Implementar aplicaciones con EJB. Qué se maneja en la capa de negocio? Definición de un API y servicio Patrón de Inversión de Control (IoC) Programación contra interfaces ServiceLocator Inyección de dependencias Spring 3.2 Spring Core Flavors: Anotaciones vs XML Configuración en una aplicación web Beans Tipos de inyección Scope Tipos de inicialización Buenas prácticas Otros proyectos Spring (Data, MVC, WS, AOP, Security) Aspectos Cross-Cutting Concerns Programación Orientada a Aspectos (AOP) Spring AOP Aspect JointPoints & Pointcuts Advice y Advisor Buenas prácticas y seguridad en la capa de negocio Buenas prácticas JEE para la capa de negocio Decisiones de diseño Patrones de diseño Componentes manejados por metadata Manejo de la seguridad Spring Security EJB 3.1 Definición y responsabilidades Arquitectura EJB Requisitos Tipos EJB Session beans: Stateless, Stateful, Singleton Message beans FECHA DE INICIO: SEDE: HORARIO: PRÓXIMO INICIO: PRECIO: