En este libro el lector encontrará todos los elementos necesarios para aprender a desarrollar auténticas aplicaciones Web interactivas con AJAX, incluyendo numerosos casos prácticos que le pueden resultar de gran ayuda.
Además de los elementos esenciales que lo componen, este libro también nos ilustra sobre la gran variedad de herramientas y utilidades de libre distribución existentes en la Red para trabajar con AJAX, analizando con gran detalle las más extendidas dentro de la comunidad de desarrolladores.
Aunque el libro está orientado a la utilización de Java/JAVA EE como tecnología de desarrollo de lado del servidor, cualquier persona con conocimientos de programación será capaz de comprender la mecánica de funcionamiento de AJAX y de adaptarla a su entorno particular. CAPÍTULO 1. INTRODUCCIÓN A AJAX CAPÍTULO 2. PROCESO DE EJECUCIÓN DE UNA APLICACIÓN AJAX CAPÍTULO 3. UTILIDADES AJAX CAPÍTULO 4. AJAX EN APLICACIONES JAVA EE APÉNDICE A. EL ESTÁNDAR XHTML
1.1 CONTEXTO DE UTILIZACIÓN DE AJAX
1.2 ¿QUÉ ES AJAX?
1.3 LAS TECNOLOGÍAS AJAX
1.4 PRIMERA APLICACIÓN AJAX
1.4.1 DESCRIPCIÓN DE LA APLICACIÓN
1.4.2 CÓDIGO DE SERVIDOR
1.4.3 LA VISTA CLIENTE
1.4.4 CÓDIGO DE SCRIPT DE CLIENTE
1.4.4.1 Creación del objeto XMLHttpRequest
1.4.4.2 Envío de la petición HTTP
1.4.4.3 Procesamiento de la respuesta
1.5 APLICACIONES AJAX MULTINAVEGADOR
1.5.1 COMPATIBILIDAD DE CÓDIGO EN TODOS LOS NAVEGADORES
1.6 MANIPULAR DATOS EN FORMATO XML
2.1 EVENTOS EN UNA PÁGINA WEB Y MANEJADORES
2.2_FASES EN LA EJECUCIÓN DE UNA APLICACIÓN AJAX
2.3 EL OBJETO XMLHTTPREQUEST
2.3.1 LOS ORÍGENES DEL OBJETO XMLHTTPREQUEST
2.3.2 MIEMBROS DE LA INTERFAZ
2.3.2.1 Preparación de la petición
2.3.2.2 Definición de encabezados de la petición
2.3.2.3 Definición de la función de retrollamada
2.3.2.4 Estado de la petición
2.3.2.5 Envío de la petición
2.3.2.6 Encabezado de la respuesta
2.3.2.7 Acceso al contenido de la respuesta
2.3.2.8 Estado de la respuesta
2.4 EL MODELO DE OBJETO DOCUMENTO (DOM)
2.4.1 NIVELES DOM
2.4.2 INTERFACES DOM
2.4.3 EL ÁRBOL DE OBJETOS DE UN DOCUMENTO
2.4.4 DOM EN LA PRÁCTICA
2.4.4.1 Obtención del objeto Document
2.4.4.2 Referencia a los elementos del documento
2.4.4.3 Acceso al contenido de un elemento
2.4.4.4 Elementos hijos de un elemento
2.4.4.5 Tipo, nombre y valor de un nodo
2.4.4.6 Desplazamiento por el árbol de objetos
2.4.4.7 Acceso a los atributos de un elemento
2.4.4.8_ Modificación de la estructura de un documento
3.1 ENCAPSULACIÓN DEL OBJETO XMLHTTPREQUEST
3.1.1 LA INTERFAZ DE LA CLASE OBJETOAJAX
3.1.2 IMPLEMENTACIÓN DE LA CLASE OBJETOAJAX
3.1.2.1 Constructor
3.1.2.2 El envío de la petición
3.1.2.3 Acceso a la respuesta
3.1.2.4 Estado de la respuesta
3.1.3 UTILIZACIÓN DE LA CLASE OBJETOAJAX
3.2 JSON
3.2.1 CARACTERÍSTICAS DE JSON
3.2.2 ESTRUCTURA DE DATOS JSON
3.2.2.1 Objetos JSON
3.2.2.2 Arrays
3.2.3 INTERPRETACIÓN DE JSON EN CLIENTE
3.2.4 EJEMPLO DE UTILIZACIÓN
3.2.5 LA LIBRERÍA JSON
3.3 DIRECT WEB REMOTING
3.3.1 COMPONENTES DWR
3.3.2 EL KIT DE DESARROLLO DWR
3.3.3 FUNCIONAMIENTO DE UNA APLICACIÓN DWR
3.3.4 DESARROLLO DE UNA APLICACIÓN DWR
3.3.4.1 Configuración del entorno
3.3.4.2 Implementación de la clase del servidor
3.3.4.3 Creación del archivo dwr.xml
3.3.4.4 Creación de la página cliente
3.3.4.5 Utilidades DWR de cliente
3.3.5 OPCIONES DE CONFIGURACIÓN DE DWR.XML
3.3.5.1_ Instancias de objetos sin constructores públicos
3.3.5.2 Inclusión y exclusión de métodos
3.3.5.3 Convertidores
3.4 HERRAMIENTAS AJAX PARA CLIENTE
3.4.1 PROTOTYPE
3.4.1.1 El núcleo de objetos prototype
3.4.1.2 Utilidades Prototype
3.4.2 LA LIBRERÍA SCRIPT.ACULO.US
3.4.3 EL FRAMEWORK JQUERY
3.4.3.1 Utilización de jQuery
3.4.3.2 Componentes jQuery
4.1 ARQUITECTURA DE TRES CAPAS
4.1.1 CAPA CLIENTE
4.1.2 CAPA INTERMEDIA
4.1.3 CAPA DE DATOS
4.2 ARQUITECTURA MODELO VISTA CONTROLADOR
4.2.1 EL CONTROLADOR
4.2.2 LA VISTA
4.2.3 EL MODELO
4.2.4 APLICACIÓN MVC BÁSICA
4.2.4.1 Solución sin AJAX
4.2.4.2 Solución con AJAX
4.2.5 IMPLEMENTACIÓN DE UN CARRITO DE COMPRA
4.2.5.1 El modelo
4.2.5.2 El controlador
4.2.5.3 La vista
4.3 JAVASERVER FACES
4.3.1 COMPONENTES DE LA TECNOLOGÍA JSF
4.3.2 ARQUITECTURA DE UNA APLICACIÓN JSF
4.3.2.1 El controlador
4.3.2.2 LA VISTA
4.3.2.3 El modelo
4.3.3 PROCESO DE CONSTRUCCIÓN DE UNA APLICACIÓN JSF
4.3.3.1 Configuración del entorno
4.3.3.2 Lógica de negocio de la aplicación
4.3.3.3 Bean gestionados
4.3.3.4 Componentes de la interfaz de usuario
4.3.3.5 Navegación entre páginas
4.3.4 AJAX EN APLICACIONES JSF
4.3.4.1 Funcionalidad AJAX en JSF 2
CARACTERÍSTICAS BÁSICAS DE XHTML
ETIQUETAS HTML
Tipos de etiquetas
ATRIBUTOS
COMENTARIOS
ESTRUCTURA DE UN DOCUMENTO XHTML
PRINCIPALES ETIQUETAS DE XHTML
ORGANIZACIÓN DE TEXTO
FORMATO DEL TEXTO
ENCABEZADOS
SEPARADORES
HIPERTEXTO
LISTAS
TABLAS
IMÁGENES
FRAMES
FORMULARIOS HTML
EL FORMULARIO HTML
LOS CONTROLES HTML
Control Text
Control TextArea
Control PassWord
Control Submit
Control Button
Control CheckBox
Control Radio
Control Select
HOJAS DE ESTILO CSS
TIPOS DE HOJAS DE ESTILO
Hojas de estilo externas
Hojas de estilo internas
Hojas de estilo en línea
APÉNDICE B. XML
FUNDAMENTOS SOBRE XML
¿QUÉ ES XML?
DOCUMENTOS XML
¿POR QUÉ XML?
XML VS. HTML
CARACTERÍSTICAS DE XML
COMPRENSIBLE
BASADO EN TEXTO
INDEPENDIENTE
APLICACIONES DEL XML
INTERCAMBIO DE DATOS ENTRE APLICACIONES (B2B)
ALMACENAMIENTO INTERMEDIO EN APLICACIONES WEB
PRESENTACIÓN EN LA WEB
UTILIZACIÓN COMO BASE DE DATOS
TECNOLOGÍAS BASADAS EN XML
CONSTRUCCIÓN DE DOCUMENTOS XML
Estructura de un documento XML
Reglas sintácticas XML
Documentos bien formados
APÉNDICE C. EL LENGUAJE JAVASCRIPT
JAVASCRIPT EN DOCUMENTOS XHTML
SINTAXIS DEL LENGUAJE
SINTAXIS BÁSICA
TIPOS DE DATOS Y VARIABLES
OPERADORES
INSTRUCCIONES DE CONTROL
if
switch
for
while
Las sentencias break y continue
FUNCIONES
Funciones del lenguaje
Cuadros de diálogo
Definición de funciones
EVENTOS
MANEJADORES DE EVENTO
TIPOS DE EVENTO
OBJETOS
TIPOS DE OBJETOS
OBJETOS DEL LENGUAJE
Objeto String
Objeto Array
Objeto Math
Objeto Date
OBJETOS XHTML
Referencia a los objetos etiqueta
Principales propiedades
OBJETOS CONTROLES XHTML
Propiedades
OBJETOS DEL NAVEGADOR
Objeto window
Objeto document
Objeto Navigator