Tecnologías para el desarrollo de aplicaciones Web

Slides:



Advertisements
Presentaciones similares
WebScan Aplicación Web para la Navegación mediante Barrido Eric Noam Rodriguez Suazo.
Advertisements

Internet y tecnologías web
Fernando Alonso Blázquez Formularios en lenguaje HTML 26 de Febrero de 2004.
CUPS Configuración y Uso de Paquetes de Software
Hardware y Software de servidor
PROTOCOLOS DE PROYECTO CONTROL DE TRAFICO INTELIGENTE Alumno : Luis Carlos Illanes Quiroga.
Programación Orientada a Objeto 1
Servidores Web Capítulo 2.
APACHE.
Aplicaciones Cliente-Servidor
Aplicación informática. formando parte de una red. pone sus recursos a disposición de las demás computadoras(clientes) de la red. Maneja información.
INTRODUCCIÓN A JAVA.
Arquitectura Orientada a Servicios (SOA)
Instructor :LIC. Jairo Flores de la o
"java del lado del servidor" Servlet y JSP Java Server Pages.
Investigación Servidor de Aplicaciones WebSphere
RMI Remote Method Invocation
Java 2 Platform Enterprise Edition
Almacenamiento virtual de sitios web: «Hosts» virtuales Gustavo Antequera Rodríguez.
TECNOLOGÍAS PARA LA IMPLEMENTACIÓN DE INTERFACES DE USUARIO
Formularios en lenguaje HTML 7 de Abril de Índice Generalidades Definición en HTML Elementos Formas de envío: métodos GET y POST Recepción y tratamiento.
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
Una java servlet es un programa que se ejecuta en un servidor. Por lo general son aplicaciones Java que corren en un entorno de servidor web. Los Java.
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
Diseño de Aplicaciones Web * En las aplicaciones web el diseño es muy diferente de las aplicaciones tradicionales dado que hay que dividir la aplicación.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Generación de páginas en forma dinámica utilizando Apache Tomcat®. Expositores: Luis Ehlen Luis Báez Grupo 8 Programación de Sistemas Profesor: Agustín.
Lenguajes de programación Web
Análisis del lado del servidor y del lado del cliente Ángel Apolinar Corona Irene Granados García.
Desarrollo de aplicaciones para ambientes distribuidos
19 de Noviembre del Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor realizando conexiones.
PROTOCOLO H T T P.
Por: Jorge Aguirre PUERTOS DE UN SERVIDOR WEB.  Un servidor web o servidor HTTP es un programa informático que procesa una aplicación del lado del servidor.
CURSO STRUTS 2 RESUMEN Resumen de lo visto en este primer módulo de INTRODUCCIÓN al framework Struts 2 Debes tener los conceptos muy claros sobre: Framework.
“SERVLETS”. Paola Rojas Contreras Juan Villarroel Leiva José Miguel Perez V. Departamento de Electrónica.
AXEL LATORRE GABRIEL VALENZUELA GIAN PAOLO ALMEIDA ROMMEL CHIFLA ISABEL VILLEGAS INTEGRANTES.
Lenguajes de programación para la web Lenguaje html Lenguaje java script Es un lenguaje estático para el desarrollo de sitios web Ventajas: Sencillo que.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
 La primera versión fue desarrollada por Robert McCool, quien desarrollaba el servidor web NCSA HTTPd (National Center for Supercomputing Applications).
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Servlets 10 de Mayo de 2006.
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Los siguientes términos y acrónimos son un resumen de las tecnologías web actuales: ASP (Active Server Pages)  Páginas de servidor activas.  Tecnología.
Servidores web. Integrantes: Dany Alexander Orozco. Maycol Gómez Herrera. Luisa Fernanda Moncada.
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
MIME EXTENSIONES DE CORREO INTERNET MULTIPROPÓSITO. SERIE DE ESPECIFICACIONES DIRIGIDAS AL INTERCAMBIO TRANSPARENTE DE TODO TIPO DE ARCHIVOS A TRAVÉS DE.
Clase 5 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Cristian Fonnegra Marin
Sun Microsystems. Los servlets son objetos que corren dentro del contexto de un contenedor de servlets y extienden su funcionalidad. También podrían correr.
Servidor web Alumna: María Verónica Mancheno Materia: Gestión de Información Web Profesor: José Medina Moreira.
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
Confidential // Neoris 1 Confidential // Do Not Reproduce without prior written permission from Neoris Servlets.
S ERVICIOS DE RED E I NTERNET T EMA 4 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS W EB Nombre: Adrián de la Torre López.
Nombre Tema: Modelo Cliente-Servidor Integrantes: Enrique Aponte Lourdes Molina Pablo López Janeth Hernández Marbella Olvera Arturo Parra.
Punto 4 – Configuración de un Servidor Web Juan Luis Cano.
GeneXus 9.0: Creando el ERP del Futuro basado en una Arquitectura Orientada a Servicios
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Almacenamiento virtual de sitios web: «Hosts» virtuales
APACHE WEB SERVER El proyecto Apache Web Server es un desarrollo de software en colaboración, enfocado en crear una implementación de un servidor HTTP.
SEGURIDAD EN SERVIDORES WEB (APACHE).
Elementos básicos para sistemas WEB. Que es la WEB Web es una tecnología que opera sobre internet que lleva propuesta desde El sistema de documentos.
Your Logo ING. FREDY ALEXANDER MARTINEZ. Here comes your footer  Page 2 Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación.
Integrante: Mariana Alcalá Hdz María del Carmen Andrade G. Alondra E. García Mtz Joselyn Gpe García V. Antonio de Jesús Hdz R. Cristian Jesús Ruvalcaba.
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Conociendo el modelo Cliente-Servidor
Conociendo el modelo Cliente-Servidor. Introducción En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama.
UAA – Introduccion a Progracion Orientada Objetos Introducción al Java.
Transcripción de la presentación:

Tecnologías para el desarrollo de aplicaciones Web Bárbara Espinoza Luis Useche Edwin Guilbert Ezequiel Zamora Jean Carlos Meninno

Contenido Arquitecturas Cliente/Servidor Protocolo HTTP CGI Applets Servlets JSP Otros lenguajes

El Modelo Cliente/Servidor Dividido en 3 capas fundamentales Interfaz de usuario: recibe las peticiones del usuario y generalmente está ubicada del lado del cliente Procesamiento: cómputo y procesamiento lógico de la petición del cliente Datos: engloba todos los datos, generalmente consta de una base de datos

El Modelo Cliente/Servidor

Arquitecturas Cliente/Servidor Verticales Mucha responsabilidad del cliente. Servidor muy cargado.

Arquitecturas Cliente/Servidor Horizontales

HTTP Hypertext Transfer Protocol Opera al nivel de aplicación OSI sobre TCP Usado en Internet desde 1990 Funcionamiento: Luego de resolver el nombre del servidor, el cliente inicia una conexión TCP a la dirección del servidor (usualmente puerto 80) Al establecerse la conexión el cliente envía la petición HTTP y espera por la respuesta El servidor recibe la petición, genera la respuesta, la envía al cliente y cierra la conexión

Características HTTP La versión actualmente utilizada es la 1.1: Protocolo sin estado Utiliza tipos de archivo al estilo MIME (Multipurpose Internet Mail Extensions) Permite Virtual Hosts: Varios servidores operando en un mismo host. Ejm: http://forums.example.com http://webmail.example.com Las peticiones más comunes de HTTP son las GET y POST

CGI – Common Gateway Interface Estándar para correr programas externos a un servidor HTTP Fue la primera tecnología de generación de contenido Web dinámico Los programas se escriben en cualquier lenguaje que acepte argumentos de línea de comandos (preferiblemente interpretado) Por cada petición se crea un nuevo proceso en el sistema: se consume tiempo y espacio en memoria Las respuestas se envían por la salida estándar (incluyendo HTML, encabezados HTTP, etc.) Algunos servidores como Apache incluyen módulos para optimizar los CGI: FastCGI: crea una piscina de procesos para atender peticiones Mod Perl: el interpretador de Perl se incluye como parte del servidor

CGI

CGI Ventajas Flexibilidad en el uso de lenguajes Fácil acceso a aplicaciones existentes (gnuplot, nmap, ping, etc) No hay problemas de sincronización ni exclusión mutua entre peticiones de un mismo programa CGI Desventajas La responsabilidad del diseño gráfico recae en el programador Poco escalable, a menos que se utilice alguna optimización. Overhead por la continua creación de nuevos procesos

Applet Aplicación que corre a nivel del cliente, en el contexto del navegador del usuario Permite crear interacción sin necesidad de realizar comunicación con el servidor y en consecuencia disminuir la carga del servidor Es necesario trasladar al cliente el código ejecutable, ocasionando retardos Requiere soporte por parte del navegador

HTTP Servlets A diferencia de los applets, que corren en los navegadores, los HTTP Servlets corren en los servidores Son la respuesta de la tecnología Java a la programación con CGI Permiten a los clientes http interactuar con aplicaciones y bases de datos A diferencia de los CGI, cada petición es manejada por un nuevo hilo java, en vez de un proceso del sistema operativo Lucen como programas en Java, de hecho son clases de Java Proveen librerías y funcionalidades para el cómodo manejo del protocolo HTTP

Funciones de un HTTP Servlet Leer los datos enviados por el cliente Leer los datos implícitos del HTTP request enviado por el browser (HTTP Info) Generar los resultados Enviar los datos al cliente Enviar los datos implícitos del HTTP response

Funcionamiento de un HTTP Servlet

Atención de peticiones con HTTP Servlets y Ciclo de Vida

¿Problemas para sincronizar hilos? Primitivas de sincronización de Java Implementando el SingleThreadModel

Servlets Ventajas Eficientes en comparación con los CGI (hilo vs. proceso) Conveniente en el manejo del protocolo HTTP Muy portables Seguro al correr en el contexto de una máquina virtual Java Desventajas Requiere compilación luego de cada modificación Requiere un servidor Web con soporte para servlets Al igual que los CGI no separa la interfaz de la lógica de aplicación Se debe ser cuidadoso con la sincronización de los hilos

JSP: JavaServer Pages Tecnología que permite incluir código java y directivas predefinidas junto con en el contenido estático (HTML/XML) Implementada sobre servlets: lo que se puede hacer con JSP se puede hacer con servlets Incluye directivas para el manejo de errores/excepciones Permite indicar si el código desarrollado no es a prueba de hilos y en consecuencia utilizar el SingleThreadModel.

JSP: JavaServer Pages Permite incluir encabezados HTTP en cualquier parte del código gracias a un preprocesador Permite crear etiquetas personalizadas (estilo HTML) y manipular ciertas clases (java beans) mediante etiquetas particulares. <jsp:setProperty name=“clase” property=“atributo” value=“valor"/>

Ciclo de Vida de las páginas JSP Se recibe un request de una página JSP. Un servlet especial chequea si el JSP ha sido modificado luego de su última traducción a servlet. En caso de modificación traduce la página JSP a un servlet y la compila. Luego se sigue el ciclo de vida de los servlets. Cabe destacar que una ventaja de las páginas JSP sobre los servlets es que son compiladas automáticamente.

JSP Ventajas Permite la separación de la capa de presentación con la lógica de aplicación. Separación de roles en el equipo desarrollador. Buen Desempeño. Ventajas de Java. Desventajas En ocasiones es preferible utilizar directamente servlets para optimizar código Se requiere un servidor con soporte para JSP/Servlets

Otros lenguajes ASP Utililiza VBScript o JScript entre otros. Dependiente de plataforma (Microsoft IIS) Server Side JavaScript Corre sobre servidor Netscape PHP Código Abierto Corre sobre los principales sistemas de operación Sintaxis estilo C Interpretado y dinámicamente tipado Realiza menos verificaciones que Java Buen soporte para acceso a bases de datos Muy popular su uso junto con Apache y MySQL Criticado por ser poco elegante.

Conclusiones Para cada caso puede resultar conveniente el uso de una tecnología distinta, dependiendo de las necesidades de desempeño, escalabilidad, facilidad de desarrollo y seguridad Existen actualmente optimizaciones para el uso de CGI y estos pueden resultar muy adecuados. (Ejm: llamadas a aplicaciones existentes) Por lo general resulta ventajosa la separación de la interfaz de la lógica de aplicación, por lo que se prefieren lenguajes como JSP y PHP. En el caso de JSP es importante conocer Servlets para comprender mejor su funcionamiento. En ocasiones se mezcla JSP y Servlets para mejorar desempeño. Los applets pueden ser útiles para proveer una interfaz interactiva, no viable con HTML puro.

¡Muchas Gracias! Sesión de Preguntas

Referencias Bibliográficas Core Servlets and JavaServer Pages. Sun Microsystems, 2001. More Servlets and JavaServer Pages. Sun Microsystems, 2002. Java Servlet Programming. O’Reilly, 1998 Web Development with JavaServer Pages, Manning, 2000. CGI Programming. O’Reilly, 1996. Teach Yourself Java in 21 days. Sams.net, 1996. www.thefreedictionary.com Internet Protocols Handbook. The Coriolis Group, 1996.