Curso

Desarrollo profesional de aplicaciones web

Temario
 
  • Qué es jQuery y por qué usarlo?
    • CSS3
    • Compatibilidad entre navegadores
    • jQuery UI
    • Plugins
  • Conceptos básicos de jQuery
    • Wrapper
    • Funciones de utilidad
    • Manejo del documento cuando esta listo
    • Elementos del DOM
  • Selectores, decoradores y mejoras
    • Selecto: el núcleo de jQuery
      • Selectores básicos CSS
      • Uso de child, container y atributos de selectores
      • Selector por posición
      • Selectores personalizados
      • Testing de selecciones
      • Filtros
      • Selección y administración de múltiples elementos
    • Decoración: CSS con jQuery
      • Manipulando propiedades de elementos y atributos
        • Lectura de propiedades del CSS
        • Estableciendo propiedades CSS
        • Clases
    • Mejoras: Efectos con jQuery
      • Ocultar y mostrar elementos
      • Mejoras progresivas
      • Agregar nuevos elementos
      • Quitar elementos existentes
      • Modificar contenido
      • Funciones con retrollamadas(callbacks)
  • Eventos
    • Propagación de Eventos
  • Mejorando el aspecto visual
    • Animación, desplazamiento y redimensionamiento
    • Imágenes
    • Menús, Tabs, Tooltips y Panels
  • Ajax e interactividad
    • Construcción y buenas prácticas
      • Comentarios
      • Mapa
      • Namespace
      • Alcance(Scope)
      • Templates
    • Ajax intensivo
      • Qué es Ajax?
      • Carga de HTML Remoto
      • Tomando HTML con selectores
      • Llamadas parametrizadas
      • 'live' y 'die'
      • Obteniendo datos JSON
      • Configuraciones Ajax comunes
      • Peticiones GET y POST
      • Eventos Ajax con jQuery
  • Manejo de datos y avisos
    • Formas
    • Controles
    • Dialogos y notificaciones
  • Revisión al modelo de programación con SpringMVC
    • Uso de sitemesh para decorar sitios
    • Integrando jQuery
  • Mapeo de peticiones HTTP
    • Por path
    • Por path y método
    • Por path, método y presencia de un parámetro
    • Por path, método y ausencia de un parámetro
    • Por presencia de un header
    • Por ausencia de un header
    • Por expresión regular
  • Obteniendo entradas del request
    • Parámetros de búsqueda
    • Grupo de parámetros de búsqueda
    • Path variable
    • Header
    • Request body
    • Request Body y Headers
  • Generando respuestas
    • @ResponseBody
    • ResponseEntity
  • MessageConverters
    • StringHttpMessageConverter
    • FormHttpMessageConverter
    • Jaxb2RootElementHttpMessageConverter
    • MappingJacksonHttpMessageConverter
  • Validaciones
    • JSR-303
    • Interfaz Validation
  • Formas
    • Envío asíncrono
  • Upload de archivos
  • Manejo de excepciones
  • Testing
    • Selenium
  • Piedras angulares para Spring WebFlow2
    • SpringFramework
    • Spring MVC
    • Spring WebFlow
  • Overview
    • Necesidad de un flujo
    • Necesidades
    • Arquitectura
  • ¿Qué es Spring WebFlow?
    • Características
      • Binding automático
      • Soporte para EL
      • Flash Scope
      • Manejo de la persistencia en el flujo
      • Redireccionamiento externo
    • Elementos
      • Flow
      • View
      • Conversation
  • Definición y creación de flujos
    • Configurando WebFlow
      • Flow Executor
      • Flow Registry
    • Lenguaje de definición de flujos XML
    • Elementos de un flujo
      • Puntos de entrada al flujo
    • Sección head
    • Sección data
      • Metadata de un flujo
        • Sección input
        • Scopes
      • Trabajando con datos
        • Variables de instancia de flujo
        • Entradas al flujo
      • evaluate, set y render
        • Sintaxis y expresiones
        • Objetos implícitos
        • Control del flujo
  • Definición y creación de flujos(Continuación)
      • Tipos de alcances
        • Request
        • Flash
        • View
        • Flow
        • Conversation
        • Session
      • Estados
        • start-state
        • action-state
          • Ejecución de lógica de negocio
          • Acciones en flujos
            • evaluate, set y render
        • view-state
        • decision-state
        • subflow-state
        • end-state
      • Puntos de salida
        • Salir de flujos
          • flowRedirect y externalRedirect
      • Sección footer
      • Transiciones globales, manejo gliobal de eventos
        • on-end, ejecución de acciones al final del flujo
        • output: salida de un flujo
        • exception-handler: Manejo de excepciones en la ejecución de un flujo
        • bean-import: declarando beans para un flujo
    • A considerar en la ejecución de un flujo
  • Acciones en flujos
    • Usando el EL unificado con flujos web
  • Vistas y vínculado de Modelos de datos
  • Validación y manejo de errores
    • Definiendo la validación en el Modelo y en una clase Validator
    • ValidationContext, MessageContext y ResourceBundles
  • Subflujos
    • Definición y Uso
    • Variables de entrada/salida
    • Variables con alcance Conversation
    • Estados finales en subflujos
  • Creando acciones personalizadas
    • Acciones basadas en POJO's vs la interface Action
    • RequestContext y ExternalContext
  • Integración con SpringMVC
  • Seguridad
  • Anatomía de las aplicaciones convencionales
    • Arquitectura de una aplicación
    • Fallas de seguridad más comúnes
    • Revisiones de auditoría de seguridad
    • Fallas en:
      • Autenticación
      • Autorización
      • Credenciales de seguridad de BD
      • Información sensible
      • Protección del nivel de transporte
  • Spring Security
    • ¿Que podemos hacer con Spring Security?
    • ¿Por qué Spring Security?
    • Autenticación
    • Autorización
      • Access Decision Manager
    • Asegurar aplicaciones
  • Conceptos de Spring Security
    • Arquitectura de las aplicaciones web seguras
    • Procesamiento de requests
      • Delegates
      • Servlet Filters
    • Asegurando URL's
  • Entrada a las aplicaciones Web
    • Autenticación básica HTTP
    • Login basado en formas
    • Servicio de logout
    • Login anónimo
    • Remember-me
  • Autenticando usuarios
    • Con definiciones en memoria
    • Almacenando usuarios en base de datos
    • Encriptando passwords
    • Adaptando a esquemas de BD personalizados
    • ¿Cómo son autenticados los usuarios?
      • Mala autenticación
      • Excepciones de seguridad
    • A través de un directorio LDAP
      • ¿Cómo funciona la autenticación LDAP?
  • Asegurando invocaciones de método
    • Interceptores de métodos
    • Método de seguridad global
    • Anotaciones
  • Manejor de seguridad en las vistas
    • TagLib
    • Autenticación
    • Autorización
      • Basada en ausencia de roles
      • Basada en existencia de algún rol
      • Basada en la existencia de todos los roles
    • SpEL
      • Configuración de URL's
      • En etiquetas
  • Administración de la sesión y concurrencia
    • Ataque de robo de sesión
    • Session protection fixation
    • Concurrency control
  • Implementación personalizada
    • UserDetailsService
    • UserDetails
    • UserDetailsManager
    • Password Encoder
  • Asegurando el sitio con SSL
    • Apache Tomcat con SSL
  • Autenticación de cliente certificado
    • PKI
    • X.509
    • Almacenes de confianza en Tomcat
    • CErtificados de cliente
    • Namespace para X.509
  • Asegurando Spring WebFlow con Spring Security
    • Elemento seguro
    • Atributos de seguridad
    • Tipo de matching
    • SecurityFlowExecutionListener