Desarrollo de Aplicaciones para Internet Desarrollo WEB Desarrollo de Aplicaciones para Internet
Aprendizajes esperados: Comprende las tecnologías de desarrollo e infraestructura asociada a distintos servidores Web
Agenda Web Dinámica / Web Estática Soporte al Protocolo HTTP Lenguajes
Web Dinámica / Web Estática Como ya sabemos, los servidores WEB se sustentan en el protocolo HTTP Por lo tanto, los lenguajes de programación WEB, deben implementar los métodos del protocolo
Web Dinámica / Web Estática El contenido debe ser cambiado en forma “manual”. Páginas que no necesitan cambiar su contenido frecuentemente. Rápidas / “Bajo Costo” de Desarrollo Lo puntos anteriores implican NO-interacción con backends
Web Dinámica / Web Estática El componente WEB Server no interviene modificando el Response
Web Dinámica / Web Estática WEB ESTÁTICA - Desventajas Puede tornarse costoso de mantener (ej. En ausencia de herramientas de automatización) Es necesario conocimiento de HTML para actualizar el contenido
Web Dinámica / Web Estática Los documentos contenidos en el response son construídos “on the fly” Páginas que necesitan cambiar su contenido en forma frecuente Base actual de toda la infraestructura de Internet Se requieren scripts en algún lenguaje soportado por el servidor WEB para generar el contenido en forma dinámica
Web Dinámica / Web Estática WEB Dinámica - ¿por qué interactuar? Registro y solicitudes de información Retroalimentación Ciertos servicios necesitan contribución de la gente (clientes, comunidades, etc)
Web Dinámica / Web Estática WEB Dinámica - Recordando Cliente WEB (I. Explorer, Firefox, Pocket, etc) Paso 1: Cliente web solicita una pagina Paso 2: Webserver encuentra la pagina y la pasa al servidor de aplicaciones Paso 3: El servidor de aplicaciones la scanea para chequear instrucciones Paso 4: El servidor de aplicaciones envía la pregunta al driver de la base de datos Paso5: El driver ejecuta la pregunta en la base de datos Solicitud Respuesta Paso 9: El webserver pasa la página terminada al cliente SERVIDOR HTTP Paso 8: El servidor de aplicaciones inserta la respuesta en la página y la envía al servidor WEB Paso 7: El driver pasa el resultado al servidor de aplicaciones Paso 6: El resultado es enviado al driver Servidor de Aplicaciones Pregunta Resultado Driver de Base de Datos Base de Datos
Web Dinámica / Web Estática En base a lo anterior, podemos ver que los contenidos dependen, por ejemplo de una base de datos.
Web Dinámica / Web Estática WEB Dinámica - Desventajas Podrían no ser indexadas correctamente por los motores de búsqueda. La infraestructura podría requerir hardware con mayor performance En algunos casos son requeridos conocimientos de lenguajes de programación WEB.
Lenguajes de Programación WEB Corresponden a scripts o rutinas que son interpretadas por la infraestructura Cuando hablamos de infraestructura podemos referirnos al cliente o al servidor
Lenguajes de Programación WEB Cliente Generalmente referidos a la ejecución en browsers. Lo anterior genera una alta dependencia de los navegadores (será visto más adelante en esta asignatura) Muy relacionado con el concepto HTML dinámico. DHTML. Actualmente muy explotado para el desarrollo de RIA´s.
Lenguajes de Programación WEB Cliente El más popular de estos lenguajes es Javascript. window.alert ( '\u00A1Hola mundo!');
Lenguajes de Programación WEB Servidor Referidos a la ejecución en servidores WEB. Se utilizan para la generación de páginas WEB dinámicas. Necesitan del componente capaz de intepretar sus intrucciones. (ej, Apache Web Server o IIS)
Lenguajes de Programación WEB Servidor Algunos de los más populares <?php $a = 'Hola Mundo'; echo $a; ?> <html> <body> <% Response.Write ("Hola Mundo") %> </body> </html>
Síntesis El Soporte del Protocolo HTTP. Características / Ventajas / Desventajas Web Estática. Características / Ventajas / Desventajas Web Dinámica. Lenguajes de programación en la WEB y características generales. Client Side Server Side
Recursos http://www.w3schools.com/
Desarrollo de Aplicaciones para Internet Desarrollo WEB Desarrollo de Aplicaciones para Internet