SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Introducción a AJAX
Eduardo Ostertag Jenkins, Ph.D.
OBCOM INGENIERIA S.A. (Chile)
Eduardo.Ostertag@obcom.cl
Temario


Introducción a AJAX


Arquitectura y tecnologías









HTML + CSS
JavaScript
DOM
XMLHttpRequest

Servicios REST

Ejemplo de RIA con AJAX




Código HTML y JavaScript
Servicio REST (VB y Java)
Arquitectura típica AJAX
Browser

AJAX

Servidor Web

Servicios REST

Lógica Negocio (EJB, COM+)

Modelo de Datos (Tablas)
¿Qué es la tecnología AJAX?


AJAX (Asynchonous JavaScript and XML)



Se programa en lenguaje JavaScript



DHTML (HTML+CSS) para la interfaz



Estructura DOM (Document Object Model)



XMLHttpRequest comunicación asíncrona
¿Qué es un servicio REST?


REST (Representation State Transfer)



Como SOAP “light” – sin WSDL, UDDI, etc.



Se utilizan comandos GET/POST de HTTP



Se utilizan los códigos de retorno de HTTP



La data normalmente es XML y DHTML



Se programan en páginas HTML, JSP, PHP
Saludo AJAX: Interfaz Gráfica
Saludo AJAX: Página HTML (1)
helloHTML.html
<html>

<head>
<title>Saludos usando AJAX</title>
<script language="JavaScript">
<!—
JavaScript en próxima dispositiva 
-->
</script>
</head>
<body>
<input type="text" id="helloName" title="Ingrese su nombre"/>
<input type="submit" value="saludar" onclick="callHello(helloName.value)"/>
<p id="helloReply">No hemos enviado un saludo</p>
</body>
</html>
Saludo AJAX: Página HTML (2)
helloHTML.html
var gRequest;

// Used in callHello and helloResponse

function callHello(name)
{
var url = "helloHTML.asp?name="+encodeURIComponent(name);
if (window.XMLHttpRequest) {
// Native XMLHttpRequest
gRequest = new XMLHttpRequest();
gRequest.onreadystatechange = helloResponse;
gRequest.open("GET", url, true);
gRequest.send(null);
}
else if (window.ActiveXObject) { // Windows IE ActiveX
gRequest = new ActiveXObject("Microsoft.XMLHTTP");
gRequest.onreadystatechange = helloResponse;
gRequest.open("GET", url, true);
gRequest.send();
}
}
Saludo AJAX: Página HTML (3)
helloHTML.html
function helloResponse()
{
if (gRequest.readyState == 4)

// Only if "complete"

{
if (gRequest.status != 200)

// Check "OK" status

{
alert("Download error: "+gRequest.statusText);
return;
}
var result = gRequest.responseText;

var element = document.getElementById("helloReply");
element.innerHTML = result;
}
}
Saludo AJAX: Servicio REST
helloHTML.asp (VB)
<%@ Language="VBScript" CodePage=65001 %><%
Response.ContentType = "text/html;charset=utf-8"
Response.CodePage = 65001
Response.CacheControl = "no-cache"
%>Hola <b><%=Request.QueryString("name")%></b>. ¿Cómo estas?

helloHTML.jsp (Java)
<%@ page contentType="text/html" pageEncoding=“utf-8" %><%
request.setCharacterEncoding("utf-8");

response.addHeader("Cache-Control", "no-cache");
%>Hola <b><%=request.getParameter("name")%></b>. ¿Cómo estas?
Servicios REST y data XML






Un servicio REST puede retornar XML en vez
de retornar texto libre HTML
Esto permite que el servicio REST pueda ser
usado por otros como Flex, Java, o .NET
Todos pueden consumir data en formato XML

<?xml version="1.0" encoding="utf-8"?>

<resultado>
<saludo>¡Hola Pepe Pótamo!</saludo>
</resultado>
Saludo AJAX: Servicio REST XML
helloXML.asp (VB)
<%@ Language="VBScript" CodePage=65001 %><%
Response.ContentType = "text/xml;charset=utf-8"
Response.CodePage = 65001

Response.CacheControl = "no-cache“
nombre = Request.QueryString("name")
%><?xml version="1.0" encoding="utf-8"?>
<resultado>

<saludo>¡Hola <%=nombre%>!</saludo>
</resultado>
Saludo AJAX: Servicio REST XML
helloXML.jsp (Java)
<%@ page contentType="text/xml" pageEncoding="utf-8" %><%
request.setCharacterEncoding("utf-8");
response.addHeader("Cache-Control", "no-cache");

String nombre = request.getParameter("name");
%><?xml version="1.0" encoding="utf-8"?>
<resultado>
<saludo>¡Hola <%=nombre%>!</saludo>

</resultado>
Saludo AJAX: HTML con XML
function helloResponse()
{
if (gRequest.readyState == 4)

// Only if "complete"

{
if (gRequest.status != 200)

// Check "OK" status

{
alert("Download error: "+gRequest.statusText);
return;
}
var xmlDoc = gRequest.responseXML.documentElement;
var xmlNode = xmlDoc.getElementsByTagName("saludo")[0];
var element = document.getElementById("helloReply");

element.innerHTML = xmlNode.firstChild.data;
}
}
Comentarios sobre AJAX


Difícil programar y mantener los programas



Se recomienda usar un “Framework AJAX”




Limitado por seguridad del browser (sandbox)




Framework Backbase (www.backbase.com)

Por ejemplo, no se puede leer o grabar archivos

No permite crear clientes Semi-Conectados


No se puede guardar el estado del programa
Muchas gracias

Más contenido relacionado

La actualidad más candente

La actualidad más candente (12)

13. Configuracion De Aplicaciones Web Asp.Net
13.  Configuracion De Aplicaciones Web Asp.Net13.  Configuracion De Aplicaciones Web Asp.Net
13. Configuracion De Aplicaciones Web Asp.Net
 
9 Programación Web con .NET y C#
9 Programación Web con .NET y C#9 Programación Web con .NET y C#
9 Programación Web con .NET y C#
 
Ajax
AjaxAjax
Ajax
 
Jsp
JspJsp
Jsp
 
Ajax
AjaxAjax
Ajax
 
Adminredes ajax ver2
Adminredes ajax ver2Adminredes ajax ver2
Adminredes ajax ver2
 
Insert
InsertInsert
Insert
 
Objetosimpliciosjsp
ObjetosimpliciosjspObjetosimpliciosjsp
Objetosimpliciosjsp
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
 
Servletacceso bd
Servletacceso bdServletacceso bd
Servletacceso bd
 
ASP.NET MVC - areas, manejo de estado
ASP.NET MVC - areas, manejo de estadoASP.NET MVC - areas, manejo de estado
ASP.NET MVC - areas, manejo de estado
 
Ajax ya temas 4-6 Equipo 2
Ajax ya temas 4-6 Equipo 2Ajax ya temas 4-6 Equipo 2
Ajax ya temas 4-6 Equipo 2
 

Similar a Introduction AJAX

01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js IntroduccionMayer Horna
 
Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0Arnulfo Gomez
 
Introducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: AjaxIntroducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: AjaxDavid Arango
 
Ajax
AjaxAjax
Ajaxutpl
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncronaLaura Folgado Galache
 
Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Michelle Aguirre
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de AjaxAlvaro Castillo
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQueryContinuum
 
AJAX a cuerda Lo básico sobre AJAX y su funcionamiento
AJAX a cuerda
Lo básico sobre AJAX y su funcionamientoAJAX a cuerda
Lo básico sobre AJAX y su funcionamiento
AJAX a cuerda Lo básico sobre AJAX y su funcionamientoRoberto Allende
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkitpabloesp
 
Screen scraping
Screen scrapingScreen scraping
Screen scrapingThirdWay
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010Comunidad SharePoint
 

Similar a Introduction AJAX (20)

01 Ext Js Introduccion
01 Ext Js   Introduccion01 Ext Js   Introduccion
01 Ext Js Introduccion
 
Ajax
AjaxAjax
Ajax
 
Ajax Huancayo
Ajax HuancayoAjax Huancayo
Ajax Huancayo
 
Introduccion Ajax V1.0
Introduccion Ajax V1.0Introduccion Ajax V1.0
Introduccion Ajax V1.0
 
Introducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: AjaxIntroducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
Introducción a los lenguajes de programación de la plataforma Web 2.0: Ajax
 
Ajax
AjaxAjax
Ajax
 
Inicios Ajax
Inicios AjaxInicios Ajax
Inicios Ajax
 
Ajax
AjaxAjax
Ajax
 
7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona7. Utilización de mecanismos de comunicación asíncrona
7. Utilización de mecanismos de comunicación asíncrona
 
Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2Conceptos Introductorios Del Web 2
Conceptos Introductorios Del Web 2
 
Servicios web
Servicios webServicios web
Servicios web
 
Conceptos acerca de Ajax
Conceptos acerca  de AjaxConceptos acerca  de Ajax
Conceptos acerca de Ajax
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQuery
 
AJAX a cuerda Lo básico sobre AJAX y su funcionamiento
AJAX a cuerda
Lo básico sobre AJAX y su funcionamientoAJAX a cuerda
Lo básico sobre AJAX y su funcionamiento
AJAX a cuerda Lo básico sobre AJAX y su funcionamiento
 
Expo
ExpoExpo
Expo
 
AJAX EN CURSO PHP
AJAX EN CURSO PHPAJAX EN CURSO PHP
AJAX EN CURSO PHP
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
 
Ajax
AjaxAjax
Ajax
 
Screen scraping
Screen scrapingScreen scraping
Screen scraping
 
CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010CSA - Web Parts en SharePoint 2010
CSA - Web Parts en SharePoint 2010
 

Más de Aldo Ulloa Carrasco

Más de Aldo Ulloa Carrasco (19)

Sql wizard - OBCOM Ingenieria
Sql wizard - OBCOM IngenieriaSql wizard - OBCOM Ingenieria
Sql wizard - OBCOM Ingenieria
 
Supchilesupbrazil 131022091735-phpapp01
Supchilesupbrazil 131022091735-phpapp01Supchilesupbrazil 131022091735-phpapp01
Supchilesupbrazil 131022091735-phpapp01
 
Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-
Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-
Steve Jobs, "Stay Foolish, Stay Hungry", Stanford.-
 
Ayrton Senna
Ayrton SennaAyrton Senna
Ayrton Senna
 
Quotes from Sir Ken Robinson
Quotes from Sir Ken RobinsonQuotes from Sir Ken Robinson
Quotes from Sir Ken Robinson
 
Bill Gates , Part 1.-
Bill Gates , Part 1.-Bill Gates , Part 1.-
Bill Gates , Part 1.-
 
Inside Steve Jobs Brain ,
Inside Steve Jobs Brain ,Inside Steve Jobs Brain ,
Inside Steve Jobs Brain ,
 
Java 1.4 to java 6
Java 1.4 to java 6Java 1.4 to java 6
Java 1.4 to java 6
 
10 Business Lessons
10 Business Lessons10 Business Lessons
10 Business Lessons
 
Ken Robinson, Changing Education Paradigms
Ken Robinson, Changing Education ParadigmsKen Robinson, Changing Education Paradigms
Ken Robinson, Changing Education Paradigms
 
Sir Ken Robinson, The Element
Sir Ken Robinson, The ElementSir Ken Robinson, The Element
Sir Ken Robinson, The Element
 
Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)Arquitecturas Distribuidas. (Edo Ostertag)
Arquitecturas Distribuidas. (Edo Ostertag)
 
03 Inspirational quotes
03 Inspirational quotes03 Inspirational quotes
03 Inspirational quotes
 
Education, Finland
Education, Finland Education, Finland
Education, Finland
 
02 Steve jobs
02 Steve jobs02 Steve jobs
02 Steve jobs
 
01 Steve Jobs, Lessons
01 Steve Jobs, Lessons01 Steve Jobs, Lessons
01 Steve Jobs, Lessons
 
01 Sir Ken Robinson, Education
01 Sir Ken Robinson, Education01 Sir Ken Robinson, Education
01 Sir Ken Robinson, Education
 
Indices2011 herramienta para una postulacion informada
Indices2011 herramienta para una postulacion informadaIndices2011 herramienta para una postulacion informada
Indices2011 herramienta para una postulacion informada
 
Buenamigoghostmusic
BuenamigoghostmusicBuenamigoghostmusic
Buenamigoghostmusic
 

Último

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptAlberto Rubio
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)veganet
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariamarco carlos cuyo
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfCarol Andrea Eraso Guerrero
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 

Último (20)

Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).pptPINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
PINTURA ITALIANA DEL CINQUECENTO (SIGLO XVI).ppt
 
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
Instrucciones para la aplicacion de la PAA-2024b - (Mayo 2024)
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
La evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundariaLa evolucion de la especie humana-primero de secundaria
La evolucion de la especie humana-primero de secundaria
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdfTarea 5-Selección de herramientas digitales-Carol Eraso.pdf
Tarea 5-Selección de herramientas digitales-Carol Eraso.pdf
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 

Introduction AJAX

  • 1. Introducción a AJAX Eduardo Ostertag Jenkins, Ph.D. OBCOM INGENIERIA S.A. (Chile) Eduardo.Ostertag@obcom.cl
  • 2. Temario  Introducción a AJAX  Arquitectura y tecnologías       HTML + CSS JavaScript DOM XMLHttpRequest Servicios REST Ejemplo de RIA con AJAX   Código HTML y JavaScript Servicio REST (VB y Java)
  • 3. Arquitectura típica AJAX Browser AJAX Servidor Web Servicios REST Lógica Negocio (EJB, COM+) Modelo de Datos (Tablas)
  • 4. ¿Qué es la tecnología AJAX?  AJAX (Asynchonous JavaScript and XML)  Se programa en lenguaje JavaScript  DHTML (HTML+CSS) para la interfaz  Estructura DOM (Document Object Model)  XMLHttpRequest comunicación asíncrona
  • 5. ¿Qué es un servicio REST?  REST (Representation State Transfer)  Como SOAP “light” – sin WSDL, UDDI, etc.  Se utilizan comandos GET/POST de HTTP  Se utilizan los códigos de retorno de HTTP  La data normalmente es XML y DHTML  Se programan en páginas HTML, JSP, PHP
  • 7. Saludo AJAX: Página HTML (1) helloHTML.html <html> <head> <title>Saludos usando AJAX</title> <script language="JavaScript"> <!— JavaScript en próxima dispositiva  --> </script> </head> <body> <input type="text" id="helloName" title="Ingrese su nombre"/> <input type="submit" value="saludar" onclick="callHello(helloName.value)"/> <p id="helloReply">No hemos enviado un saludo</p> </body> </html>
  • 8. Saludo AJAX: Página HTML (2) helloHTML.html var gRequest; // Used in callHello and helloResponse function callHello(name) { var url = "helloHTML.asp?name="+encodeURIComponent(name); if (window.XMLHttpRequest) { // Native XMLHttpRequest gRequest = new XMLHttpRequest(); gRequest.onreadystatechange = helloResponse; gRequest.open("GET", url, true); gRequest.send(null); } else if (window.ActiveXObject) { // Windows IE ActiveX gRequest = new ActiveXObject("Microsoft.XMLHTTP"); gRequest.onreadystatechange = helloResponse; gRequest.open("GET", url, true); gRequest.send(); } }
  • 9. Saludo AJAX: Página HTML (3) helloHTML.html function helloResponse() { if (gRequest.readyState == 4) // Only if "complete" { if (gRequest.status != 200) // Check "OK" status { alert("Download error: "+gRequest.statusText); return; } var result = gRequest.responseText; var element = document.getElementById("helloReply"); element.innerHTML = result; } }
  • 10. Saludo AJAX: Servicio REST helloHTML.asp (VB) <%@ Language="VBScript" CodePage=65001 %><% Response.ContentType = "text/html;charset=utf-8" Response.CodePage = 65001 Response.CacheControl = "no-cache" %>Hola <b><%=Request.QueryString("name")%></b>. ¿Cómo estas? helloHTML.jsp (Java) <%@ page contentType="text/html" pageEncoding=“utf-8" %><% request.setCharacterEncoding("utf-8"); response.addHeader("Cache-Control", "no-cache"); %>Hola <b><%=request.getParameter("name")%></b>. ¿Cómo estas?
  • 11. Servicios REST y data XML    Un servicio REST puede retornar XML en vez de retornar texto libre HTML Esto permite que el servicio REST pueda ser usado por otros como Flex, Java, o .NET Todos pueden consumir data en formato XML <?xml version="1.0" encoding="utf-8"?> <resultado> <saludo>¡Hola Pepe Pótamo!</saludo> </resultado>
  • 12. Saludo AJAX: Servicio REST XML helloXML.asp (VB) <%@ Language="VBScript" CodePage=65001 %><% Response.ContentType = "text/xml;charset=utf-8" Response.CodePage = 65001 Response.CacheControl = "no-cache“ nombre = Request.QueryString("name") %><?xml version="1.0" encoding="utf-8"?> <resultado> <saludo>¡Hola <%=nombre%>!</saludo> </resultado>
  • 13. Saludo AJAX: Servicio REST XML helloXML.jsp (Java) <%@ page contentType="text/xml" pageEncoding="utf-8" %><% request.setCharacterEncoding("utf-8"); response.addHeader("Cache-Control", "no-cache"); String nombre = request.getParameter("name"); %><?xml version="1.0" encoding="utf-8"?> <resultado> <saludo>¡Hola <%=nombre%>!</saludo> </resultado>
  • 14. Saludo AJAX: HTML con XML function helloResponse() { if (gRequest.readyState == 4) // Only if "complete" { if (gRequest.status != 200) // Check "OK" status { alert("Download error: "+gRequest.statusText); return; } var xmlDoc = gRequest.responseXML.documentElement; var xmlNode = xmlDoc.getElementsByTagName("saludo")[0]; var element = document.getElementById("helloReply"); element.innerHTML = xmlNode.firstChild.data; } }
  • 15. Comentarios sobre AJAX  Difícil programar y mantener los programas  Se recomienda usar un “Framework AJAX”   Limitado por seguridad del browser (sandbox)   Framework Backbase (www.backbase.com) Por ejemplo, no se puede leer o grabar archivos No permite crear clientes Semi-Conectados  No se puede guardar el estado del programa