Master Java - J2EE - XML - AJAX

Temario

Programación Orientada a Objetos (incluye vídeo)
- Introducción
- La POO: Un paradigma de la programación
- Elementos básicos de la POO
- Principios fundamentales de la POO
- Ventajas de la POO

HTML
- Introducción
- Estructura básica de un documento HTML
- Organización del texto
- Hipervínculos
- Imágenes y mapas de imágenes
- Tablas
- Frames
- Formularios
- Objetos

JavaScript
- Introducción
- Diferencias entre JavaScript y Java
- Incluyendo JavaScript en las páginas web
- Primer ejemplo
- El lenguaje
. Operadores
. Variables
. Funciones matemáticas
. Sentencias with
. Sentencias condicionales
. Sentencias de control de flujo
. Funciones
. Formas de introducir un Script en HTML
. Arrays o matrices
. Cadenas de texto
. Fechas y horas
- POO
- Eventos
- Los objetos del navegador
- Formularios
- Cookies

DHTML
- Introducción a DHTML
- Hojas de estilo (CSS)
- El lenguaje VBScript
- Modelo de objetos de DHTML
- Ubicación de elementos HTML

XML
- Mecanismos de autodescipción en documentos XML
- DTD´s
- XML-Schemas
- CSS
- XSL

Introducción a la Programación JAVA
- Fundamentos de programación en Java
- Programación orientada a objetos
- Uso y creación de interfaces y paquetes
- Control de errores mediante excepciones
- Flujos de entrada/salida
- Librerías de uso común (colecciones, streams, etc.)
- Generación de documentación automática (javadoc)
- Fundamentos de los applets de Java
- Diferencias con las aplicaciones Java
- Eventos y ciclo de vida de un applet
- Comunicaciones entre applets
- Interface Applet.Contex
- Carga de imágenes y sonido
- Uso de ficheros JAR

Interfaces gráficas: awt y swing
- Creación de aplicaciones con interfaz gráfica
- Componentes gráficos
- Creación de menús
- El modelo de eventos de Java (event delegation model)
- Componentes de diseño de ventana (objetos layout)
- Arquitectura de las clases JFC (Java Foundation Class)
- Programación con Swing
- Creación de aplicaciones con diferentes look & feel

Java I/O
- La clase File
- Los streams
- Lectura de consola
- Lectura y escritura de ficheros
- Byte Streams
- Filtered Byte Streams
- Character Streams
- Serialización

Concurrencia
- Introducción
- Creación de threads
. Creación de un hilo a partire de un Thread
. Creación de un hilo implentando la interfaz Runnable
- Ejecución de varios hilos de forma simultánea
- Ciclo de vida de un thread
. Ejecución de un nuevo thread
. Detención temporal de un thread
. Finalización de un thread
- Sincronización de hilos
. Regiones críticas
. Productores y consumidores
. Buffer de mensajes
. Semáforos
. Semáforos binarios
. Interbloqueos
- Prioridad de hilos
- Grupos de threads

JNDI
- Servicios de designacióm y de directorio
- LDAP
- Introducción a JNDI
- La API de JNDI
- Ejemplo de aplicación JNDI
- Contenido de un servidor de nombres

Java en la red
- Programación en redes con el paquete java.net
- Programación de aplicaciones cliente/servidor para Internet
- Programación de sockets TCP/IP
- Clase socket y serversocket
- Server Side Java

RMI-IIOP
- RPC
- Funciones de Stub y Skeleton
- Dynamic Binding
- RMI
- El registro de RMI
- El Compilador de RMI
- Requisitos para que un objeto sea accedido remotamente

SQL
- Introducción
- Consultas de selección
- Criterios de selección
- Agrupamiento de registros y Funciones Agregadas
- Consultas de actualización
- Tipos de datos
- SubConsultas
- Consultas de Referencias Cruzadas
- Consultas de Unión
- Estructuras de las tablas
- Consultas con parámetros
- Acceso a bases de datos externas
- Omitir los permisos de ejecución
- La cláusula Procedure

JDBC 2.0
- Introducción
- Funcionamiento de JDBC
. El dirver JDBC
. Operaciones en una aplicación JDBC
- El lenguaje SQL
. Las sentencias para manipulación de datos
. Sentencia INSERT
. Sentencia DELETE
. Sentencia UPDATE
- El API de JDBC
- Programación con JDBC
. Establecimiento de una conexión con la base de datos
. Ejecusión de consultas SQL
. Manipulación de resultados
. Cierre de una conexión
- La excepción SQLEXCEPTION
- Consultas preparadas
. Precompilación de sentencias con PreparedStatement
. Asignación de parámetros
. Ejecución de sentencias preparadas
- Procedimientos almacenados
. La interfaz CallableStatement
. Asignación de parámetros
. Ejecución de un procedimiento almacenado
- Conjunto de resultados desplazable y actualizable
- Acceso a los metadatos
- Transacciones
. Definición de una transacción
. Confirmación y rechazo de una transacción
- Fuentes de datos
. La interfaz DataSource y los Sistemas de Directorio
. Recuperación del objeto DataSource
. Obtención de una conexión

Introducción a la Aplicaciones Web J2EE
- Introducción
- Arquitectura de tres capas
. La capa cliente
. La capa intermedia
. La capa de datos
- La plataforma J2EE
. Tecnologías J2EE
. Tipos de aplicaciones J2EE
+ Aplicaciones Web J2EE
+ Aplicaciones Empresariales

Servlets
- Introducción
. ¿Qué es un servlet?
. Ciclo de vida de un servlet
- Implementación de un servlet
. Proceso de creación de un servlet HTTP
. Contrucción de un servlet de ejemplo
. Estudio de los métodos del ciclo de vida
- Captura de datos cliente
. Datos de aplicación
. Acceso a los encabezados de una petición
- Redireccionamiento y reenvío de peticiones
. Redireccionamiento
. Reenvío de peticiones
- Mantenimiento del estado en aplicaciones web
. Inserción de datos URL
. Atributos de petición
. Atributos de sesión
. Atributos de aplicación
. Cookies
- Parámetros de contexto
. Definición de parámetros de contexto
. Recuperación de parámetros de contexto
- Acceso a datos desde una aplicación web
- Escuchadores
. Interfaces de escucha
. Respuesta a un evento

JSP
- Introducción
. ¿Qué es una página JSP?
. Ventajas e inconvenientes de las páginas JSP
. Ciclo de vida de una página JSP
- Componentes de una página JSP
. Bloques de texto estático
. Elementos de script
. Objetos implícitos JSP
. Directivas
. Acciones JSP
- El lenguaje EL
. Expresiones EL
. Acceso a objetos mediante expresiones EL
. Objetos implícitos EL
. Operadores EL
- La librería de acciones JSTL
. Instalación de JSTL
. Utilización de JSTL en una página JPS
. Estudio de las principales acciones del core de JSTL
+ Acciones de propósito general
+ Acciones de control de flujo
- Creación de acciones JSP personalizadas
. Implementación de la clase manejadora
+ Ciclo de vida básico de una acción
+ Escritura en la página de respuesta
. Creación de un archivo de librería
+ Etiquetas para la definición de una librería de acciones
. Utilización de acciones personalizadas en una página JSP
. Atributos en acciones JSP
. Iteración sobre el cuerpo de una acción
. Manipulación del cuerpo de la acción

Struts
- Introducción a Struts
. Características de struts
. El controlador en una aplicación struts
. Librerías de acciones
- Creación de una aplicación con struts
. Pasos previos. Creación del proyecto
. Aplicación de ejemplo para envío y recepción de mensajes
. Definición de objetos ActionForward
. Las vistas
- Librerías de tags JSP
. Librería HTML
- Archivo de recursos
. Contenido del archivo de recursos
. Referencia al archivo de recursos
. Acceso a las cadenas definidas en el archivo de recursos
. Aplicaciones multi-idioma
- Control de errores
. Sobrescritura del método validate()
. Creación de objetos ActionError
. Visualización de mensajes de error

Java Server Faces (JSF)
- Introducción
. Características de JSF
- Componentes de una aplicación JSF
. Archivo de configuración Faces-Config.xml
. Servlet FacesServlet
. Beans gestionados
. Contexto de aplicación. La clase FacesContext
. Acciones JSP
- Creación de una primera aplicación JSF
. Creación de la estructura de la aplicación
. Implementación del modelo
. Creación y registro de beans gestionados
. Implementación de controladores de acción
. Definición de reglas de navegación
. Creación de las vistas
- Eventos de acción (ActionEvent)
- Ciclo de vida del procesamiento de una petición JSF
. Restore View
. Apply Request Values
. Process Validation
. Update Model Values
. Invoke Application
. Render Response
- Componentes gráficos JSF
. Renderización
. Tags de componentes JSF
+ Formulario
+ Controles: atributos comunes
+ Campos de texto
+ Controles de comando
+ Generación de texto
+ Casillas de verificación
+ Listas de selección única
+ Listas de selección múltiple
. El evento ValueChangeEvent
- Conversores y validadores
. Validadores
+ Validación automática
+ Validadores implícitos JSF
+ Validadores personalizados
. Conversores
+ Conversores implícitos JSF

AJAX
- Fundamentos de AJAX
. AJAX al rescate
. Funcionamiento de AJAX
. Tecnologías AJAX
. Cómo construir una aplicación AJAX
+ Creación del objeto XMLHttpRequest
+ Preparación de la petición
+ Envío de la petición
+ Manipulación de los resultados de la respuesta
. Envío de datos al servidor mediante POST
- Manipulación de documentos mediante DOM
. Fundamentos del DOM
. Las interfaces DOM
. Acceso al contenido de un documento XML
. Acceso a los contenidos de un documento XHTML
. Manipulación de la estructura de un documento
- Buenas prácticas en la construcción de aplicaciones AJAX
. Garantizar la compatibilidad entre navegadores
. Encapsulación de la funcionalidad del objeto XMLHttpRequest
. Control de errores
- Formato de datos JSON
. Creación de un objeto JSON
. Interpretación de cadenas JSON
- Utilidades de libre distribución
. La librería Prototype
+ El Objeto Ajax.Request
+ El objeto Ajax.Updater
+ El objeto Ajax.PeriodicalUpdater
+ Funciones prototype
. El toolkit Dojo
+ La función dojo.io.bind()
+ Modificación del contenido de la página
+ Envío de parámetros en la petición
+ Control de erroes
- Direct Web Remoting
. Funcionamiento de DWR
. El kit de herramientas de DWR
. Construcción de una aplicación DWR
+ La capa de servidor
+ La capa cliente
. Funciones JavaScript de DWR
. Convertidores

Enterprise Java Beans (EJB)
- Introducción
- Los 6 roles en EJB
- Tipo de beans
- El contenedor EJB
- Programación de EJB
- EJB como objetos distribuidos

Documentación de ampliación de temario
- XML con Internet Explorer
- Oracle Database 10g Express Edition (en inglés, interactivo, por Oracle)
- Manual de Referencia de MySQL (por MySQL)
- Generador de Consultas de MySQL (por MySQL)
- SQL Server 2005 y Express (por Microsoft)