Programación web © Copyright 2001-2007 Víctor ROBLES FORCADA Francisco M. SÁNCHEZ MORENO

Slides:



Advertisements
Presentaciones similares
Servidores Web Capítulo 2.
Advertisements

J2EE – Java 2 Enterprise Edition
"java del lado del servidor" Servlet y JSP Java Server Pages.
Java 2 Platform Enterprise Edition
Tecnologías para el desarrollo de aplicaciones Web
Plataformas de Desarrollo de Software
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.
ADMINISTRACION DE SERVIDORES WEB SESION 4 ING. JORGE UGARTE F.
INTRODUCCIÓN A LA PROGRAMACIÓN WEB
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
J2EE – Java 2 Enterprise Edition
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
IS2Objetos Distribuidos - J2EE,RMI1 Ingeniería del software II Ingeniería Web.
Diseño de Servicios Web Internet Information Server © Copyright 2003 Víctor ROBLES FORCADA
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.
Tecnologías de desarrollo software para la WWW Tecnologías de servidor.
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.
Modelo de 2 Capas Cliente/Servidor.  Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le.
Lenguajes de programación Web Juan Felipe Muñoz Fernández.
Introducción Principios de Programación Web Aplicaciones Web con JSP y Servlets de Java.
Diseño de un sistema de gestión y asignación de equipos para una empresa TFC – Area J2EE Realización: Jose Angel Pardillo Vela Ingeniería técnica en Informática.
Gestión de entornos de portales. IBM Software Group | Tivoli software Diferentes posibilidades de gestión de portales  Diagnósticos – ITCAM for WebSphere.
Diseño de Aplicaciones Web © Copyright 2007 Francisco SÁNCHEZ, Víctor ROBLES
FUNDAMENTOS WEB DOCENTE : ING. CRISTIAN VALLE RONCEROS.
COMUNICACIÓN Y TICS Károl Fernanda Barragán M. Jennylith Dayana Ardila P. Wendy Paola Pinto F.
BASE DE DATOS EN LA WEB POR- OSIRYS MARCIAGA JESUS NIETO.
La Plataforma Holmes Irisel Consulting 2016.
Sistema Online de Firma Electrónica
Tendencias de Construcción Web
Capítulo 2: Tecnologías para la creación de sitios web
Servidores de Aplicaciones Java Víctor Orozco
LOS DIFERENTES LENGUAJES DE PROGRAMACION PARA LA WEB
Introducción a Javascript
Unidad 3. Desarrollo de aplicaciones Web
Capítulo 12 Leer archivos XML con AJAX
MODELO CLIENTE -SERVIDOR
Tópicos de bases de datos
Conectividad de Bases de Datos
Aplicaciones Web 1 CAPITULO 1 Introducción a las aplicaciones Web Ing. Jeffery Naranjo Msc
UNIDAD I: INTRODUCCIÓN AL DISEÑO WEB.
MANTIS BUG TRACKER.
Introducción a AJAX.
Modelo de 3 capas. Qué es la arquitectura de una aplicación? La arquitectura se refiere a la forma en la que es diseñada tanto física como lógicamente.
INTRODUCCIÓN A JAVA.
Arquitectura de Aplicaciones Web
FUNDAMENTOS DE PROGRAMACION EN ENTORNO WEB. Rodrigo Cabello Ing. Informático Director de proyectos Think – Ideas in Motion FUNDAMENTOS.
DISEÑO WEB Sesion 1.
Page 1. Page 2 Los lineamientos básicos que debe contener las paginas HTML.
LENGUAJE DE SCRIPTING EN SERVIDORES WEB INTEGRANTES :JOSTIN FRANCO DARYENIS ARAUZ PABLO CANDANEDO.
Servidores web. ¿Cómo funciona la web? Internet Cliente Web ( Netscape, Internet Explorer, Firefox, etc.) Servidor Web Servidor de nombres (DNS) 2.
Características Generales y Entornos de Desarrollo
Java Enterprise edition
Creación de contenidos Web-HTML
Servidor de Reportes basado en Tecnología Java y XML
Entendiendo PHP En diseño de software en el Front-end es la parte del software que interactúa con los usuarios. Es la persona que se encarga del diseño.
Servicios Web XML 03 de Junio de 2004 Fernando Alonso Blázquez.
“Conceptos Básicos de Java”
Spring Framework.
Frontend vs Desarrollo WEB Moderno Perfiles Ingenieros Backend Ingenieros Frontend Diseñadores Web: Se encargan de crear la interfaz gráfica, la.
INFORMATICA. Vamos a hablar de...HTML Conceptos del lenguaje Estructura para documentos Herramientas usadas para crear documentos Buenas prácticas.
Lenguajes del lado del cliente
Arquitectura Aplicaciones Web
ESTRUCTURA DE SISTEMAS OPERATIVOS Carbajal Rojas karla.
Programación al lado del servidor
INTRODUCCIÓN A LAS APLICACIONES WEB Y TECNOLOGÍA JAVA Jaime Fernández Mayo 2006.
Docente: Valerio Herrera, Luis E. Experiencia Formativa III Semana 4: Servidores Web.
Principales Características De Motores De Bases de Datos.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Transcripción de la presentación:

Programación web © Copyright Víctor ROBLES FORCADA Francisco M. SÁNCHEZ MORENO

22/10/2007Diseño de Aplicaciones Web Índice Páginas estáticas y dinámicas Arquitectura de aplicaciones Web Tecnologías Web

22/10/2007Diseño de Aplicaciones Web Páginas estáticas y dinámicas

22/10/2007Diseño de Aplicaciones Web Páginas estáticas Servidor Web de … … GET “ GET “ Logo.gif Index.html

22/10/2007Diseño de Aplicaciones Web HTTP Hypertext Transfer Protocol (HTTP) Protocolo Petición/Respuesta Entre clientes y servidores Usa puerto 80 por defecto HTTP 1.1 creado en Junio de 1999 por W3C (world wide web consortium) IETF (Internet Engineering Task Force) 8 métodos o verbos para hacer peticiones: HEAD, GET, POST, PUT, DELETE, TRACE, OPTIONS, CONNECT

22/10/2007Diseño de Aplicaciones Web Páginas dinámicas Servidor Web de GET “…&Submit=Go” BD Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Dfg Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Dfg Sdfgdfg dfg Dsf gsdfg sdfg Dsfg dsfg sdfg Dfg + Plantillas Lógica de negocio Respuesta dinámica

22/10/2007Diseño de Aplicaciones Web CGI Common Gateway Interface Nace en 1993 Rob McCool, John Franks, Ari Luotonen, George Phillips and Tony Sanders Manera de ejecutar programas de forma remota El CGI es un programa compilado o interpretado que se ejecuta en el servidor bajo demanda del cliente Problema de sobrecarga en el servidor A partir del CGI nacen otras tecnologías

22/10/2007Diseño de Aplicaciones Web Algunos problemas... Scripts de cliente (Java script, VB script)Alto trasiego de conexiones SoluciónProblema Applets Java, ActiveX, DHTMLInterfaz insuficientemente atractivo y dinámico Uso exclusivo de Applets Java y Java ScriptEjecución de código “desconocido” en cliente Scripts de servidor (ASP, JSP, PHP, ASP.NET)Necesidad de simplificar los procesos de generación dinámica de respuestas

22/10/2007Diseño de Aplicaciones Web Javascript I Historia Lenguaje interpretado de ejecución en el cliente Inventado diciembre de 1995 por Brendan Eich en la empresa Netscape Communications Apareció por primera vez en Netscape Navigator 2.0 En junio de 1997 fue adoptado como estándar ECMA (European Computer Manufacturers' Association) JScript es la implementación de ECMAScript de Microsoft, muy similar, pero incompatible W3C crea estándar DOM (Documen Object Model)

22/10/2007Diseño de Aplicaciones Web Javascript II Sintáxis Similar a lenguajes Java y C Programación basada en prototipos Programación orientada a objetos Sin clases ni herencia Inclusión en HTML // código JavaScript Archivo externo

22/10/2007Diseño de Aplicaciones Web VBScript Similar al JavaScript Lenguaje de MS. No es ningun estándar Lenguaje interpretado basado en VB Puede ser usado en el cliente o en el servidor Curva de aprendizaje rápida Problemas de seguridad Usado por el famoso gusano “I love you”

22/10/2007Diseño de Aplicaciones Web Arquitectura de aplicaciones Web

22/10/2007Diseño de Aplicaciones Web Aplicaciones por capas Número de capas: cantidad de capas que atraviesa la información desde la capa de datos hasta la de presentación Cada capa suele ejecutar en un sistema diferente o en espacios de proceso diferentes dentro de la misma máquina

22/10/2007Diseño de Aplicaciones Web Modelo de 2 capas Base de datos. Lógica de negocio: rutinas SQL Interfaz de usuario con lógica de negocio

22/10/2007Diseño de Aplicaciones Web Modelo de 3 capas Servicios de usuario Interfaz de usuario Servicios de trabajoServicios de datos Lógica de negocio Datos

22/10/2007Diseño de Aplicaciones Web Modelo de 3 capas (II) Capa de servicios de presentación: Recoger información del usuario Enviar esta información a capa de trabajo Recoger resultados de capa de trabajo Presentar los resultados al usuario Capa de servicios de trabajo Recibir información de capa de información Interactuar con los servicios de datos para realizar la lógica de negocio de la aplicación Enviar resultados a capa de presentación.

22/10/2007Diseño de Aplicaciones Web Modelo de 3 capas (III) Capa de servicios de datos Almacenar datos Recibir datos Mantenimiento de los datos Integridad de los datos

22/10/2007Diseño de Aplicaciones Web Modelo Web de 3 capas

22/10/2007Diseño de Aplicaciones Web Modelo vista controlador Patrón de arquitectura software Trygve Reenskaug (1979) Modelo Representación de la información (BD) Vista Representa el modelo para interactuar con él Control Responde a eventos Ejemplo en

22/10/2007Diseño de Aplicaciones Web MVC II - Flujo de la información: 1. El usuario interactua con la interfaz de usuario (i.e. Pulsa un botón) 2.El controlador gestiona el evento 3.El controlador accede al model (R/W) 4.La vista obtiene sus datos directamente del modelo, repintando la página. El controlador no pasa información a la vista pero puede dar la orden de que se actualice 5.La interfaz de usuario espera nuevas interacciones del usuario

22/10/2007Diseño de Aplicaciones Web

22/10/2007Diseño de Aplicaciones Web Aplicaciones Web hoy Cliente Browser Cliente Browser HTTP Máquina Servidora Cliente No Browser Cliente No Browser Servicios Soportados DBMS Lógica de negocio Servidor Web DBMS Protocolo de objetos Aplicaciones existentes

22/10/2007Diseño de Aplicaciones Web Servidor de Aplicaciones Arquitecturas que proporcionan servicios a las aplicaciones tales como persistencia, transacciones, seguridad, escalabilidad... Beneficios; Centralización disminución complejidad del desarrollo SA privativos J2EE (SUN), WebSphere (IBM), Oracle Aplication Server y Weblogic (BEA) SA libres ( compatibles J2EE) JONAS (INRIA, Bull, France telecom JBOSS

22/10/2007Diseño de Aplicaciones Web Java 2 Enterprise Edition Cliente Browser Cliente Browser HTTP EJB DBMS Aplicaciones EJB Servidor Web DBMS CORBA Páginas JSP JDBC DBMS Herramientas JSP Herra-mientas Java JDBC Java ServletsJDBC Cliente Pesado Cliente Pesado

22/10/2007Diseño de Aplicaciones Web J2EE Es una especificación que proporciona un estándar para los servidores de apliaciones Java. Por tanto: No es una plataforma propietaria Diversas implementaciones Existe test de compatibilidad (CTS)

22/10/2007Diseño de Aplicaciones Web Entorno J2EE Obligación de cuatro componentes de aplicación: Existen clientes pesados Java que acceden al servidor usando RMI Applets Servlets y JSP Enterprise Java Beans (EJB): componentes que ejecutan dentro de un contenedor en el servidor.

22/10/2007Diseño de Aplicaciones Web Entorno J2EE (II) Además: Contenedores: cada componente vive dentro de un contenedor que proporciona servicios en tiempo de ejecución. Bases de datos con JDBC. JTA: Java Transaction API. JavaMail. JNDI: Java Naming and Directory Interface. Interfaz de acceso a servicios de directorio como DNS o LDAP.

22/10/2007Diseño de Aplicaciones Web Servidores J2EE BEA WebLogic Servidor de aplicaciones IBM WebSphere Servidor de aplicaciones Oracle Servidor de aplicaciones SilverStream Servidor de aplicaciones Sun iPlanet Servidor de aplicaciones Inprise Muchos más

22/10/2007Diseño de Aplicaciones Web Servidores en Internet

22/10/2007Diseño de Aplicaciones Web Sistemas Operativos

22/10/2007Diseño de Aplicaciones Web El mundo del browser HTML / DHTML / CSS Lenguajes de script: JavaScript / VBScript Applet Java / Active X

22/10/2007Diseño de Aplicaciones Web El mundo del servidor HTML / DHTML / XML ASP / JSP / PHP CGI ISAPI / NSAPI VBScript / JavaScript Servlets / Scriptlets COM / DCOM / COM+ / EJB ODBC / JDBC / OLE DB / ADO

22/10/2007Diseño de Aplicaciones Web Tecnologías Web

22/10/2007Diseño de Aplicaciones Web DHTML Manipular una página Web después de ser cargada en cliente Elementos y atributos de la página estilos y colores (CSS) posición de los elementos Programabilidad a través de DOM Manipular datos en el cliente DHTML Scriptlet: Crear un componente de un script y reutilizarlo en páginas con. IE 4.0

22/10/2007Diseño de Aplicaciones Web DHTML (II) Ventajas: Creación de interfaces de usuario interactivos Está basado en HTML Soporte directo en el Browser => rapidez Estándar abierto del W3C Inconvenientes: Netscape e Internet Explorer tienen diferentes implementaciones

22/10/2007Diseño de Aplicaciones Web Controles ActiveX Tienen sistema de seguridad para verificación del autor Desarrollados en cualquier lenguaje Puede acceder a los servicios del sistema, al registro, etc. Una vez en el cliente son rápidos Muy bueno para crear elementos visuales

22/10/2007Diseño de Aplicaciones Web Controles ActiveX (II) Ventajas: Gran integración con herramientas y aplicaciones Win32 Estos controles pueden ser utilizados en otro tipo de aplicaciones Se pueden comprar controles Inconvenientes: Sólo disponibles en plataformas Win32 y Macintosh (no Win3.1 o UNIX) No ejecutan en un área protegida ¿En quién puedes confiar?

22/10/2007Diseño de Aplicaciones Web Applets de Java Programas descargados de la Web y que ejecutan en el navegador Para ser ejecutados necesitan JVM Proporcionan componentes para interfaces de usuario Tienen restricciones para ser más seguros. Write once, run everywhere

22/10/2007Diseño de Aplicaciones Web Applets de Java (II) Ventajas: Lenguaje versátil Simple de usar Son seguros Inconvenientes: Mal soporte para Win3.1 y MAC Cuidado con el tamaño Son usados sólo en el 1% de las páginas

22/10/2007Diseño de Aplicaciones Web Lenguajes de script en cliente: JavaScript y VBScript VBScript sólo para Internet Explorer JavaScript ampliamente utilizado Cada navegador tiene sus propias extensiones Muy usados para realización de cálculos y validación de formularios

22/10/2007Diseño de Aplicaciones Web Construyendo aplicaciones Web Servidor Web C GI Aplicación CGI HTTP ISAPI / NSAPI ASP/JSP/PHP Compon entes Servlets de Java

22/10/2007Diseño de Aplicaciones Web CGI Siguen el estándar Common Gateway Interface Se pueden desarrollar con cualquier lenguaje Por aspectos de seguridad se almacenan en directorios específicos del servidor

22/10/2007Diseño de Aplicaciones Web CGI (II) Ventajas Cualquier lenguaje de programación Son muy estables y están altamente extendidos Todas las plataformas Inconvenientes Crean un nuevo proceso por cada petición de cliente Ojo con el uso de ejecutables en servidor En general son lentos y más todavía en IIS

22/10/2007Diseño de Aplicaciones Web Servlets de Java Es código Java que ejecuta en un servidor de aplicación Están diseñados como el sustituto Java de los CGIs Ofrecen independencia de la plataforma Ejecutan dentro de un “contenedor servlet” Requisitos: El servidor debe tener una JVM El servidor debe soportar la API de los servlets Java.

22/10/2007Diseño de Aplicaciones Web Ciclo de vida de un Servlet En primera invoación se carga en memoria. Proceso init() – Hot Servlet Permanece en memoria hasta que se apaga el servidor. Servlets que se cargan inicialmente. Cold Servlets. Se descargan después de responder al cliente.

22/10/2007Diseño de Aplicaciones Web CGIs vs Servlets Portabilidad de los servlets. Rendimiento: El servlet se ejecuta solamente la primera vez que es llamado Permanece en memoria una vez cargado Puede compartir información entre varias llamadas de clientes. Los servlets son multithread. Se crea un nuevo thread para cada petición Los servlets son modulares y pueden comunicarse entre ellos

22/10/2007Diseño de Aplicaciones Web CGIs vs Servlets (II) Abren y cierran la conexión con la base de datos en cada petición. Al activar un servlet puede pedir varias conexiones a la base de datos en el proceso init() y las tiene en un pool de conexiones. Límite de tiempo 8 horas.

22/10/2007Diseño de Aplicaciones Web Conexiones permanentes con BD

22/10/2007Diseño de Aplicaciones Web ASP/JSP/PHP Una petición de acceso a un URL hace que el servidor web ejecute un script del servidor Este script manda información de retorno al servidor web El servidor web manda esta información al cliente Los script de servidor son: Más sencillos que los Java servlets o ISAPI Muy populares JSP se convierte en servlet en la primera petición.

22/10/2007Diseño de Aplicaciones Web Funcionamiento de ASP IIS <HTML><TITLE>Ejemplo</TITLE><BODY> Un ejemplo de ASP Un ejemplo de ASP <% response.write " " response.write " " response.write "Hola!" response.write "Hola!" response.write " ” response.write " ”%></BODY></HTML> ejemplo.asp 4) El Browser muestra el HTML Browser 2) El servidor Web lee HTML y ejecuta script 3) HTML resultante es enviado al browser a través de HTTP <HTML><TITLE>Ejemplo</TITLE><BODY> Un ejemplo de ASP Un ejemplo de ASP <HR>Hola!<HR></BODY></HTML> 1) Petición de URL a través de HTTP

22/10/2007Diseño de Aplicaciones Web ASP vs JSP ODBC, JDBCODBC, OLEDB, ADOPosibilidad de integrar orígenes de datos Java, JavaScriptVBScript, JScript, PerlLenguajes de programación admitidos Seguridad inherente a JavaBasada en seguridad de NTSeguridad contra fallos de sistema Componentes BeanComponentes COMComponentes reusables Solaris,Windows,Linux...WindowsPlataformas Apache, Netscape, IIS...Sólo IISServidores JSPASPCaracterística

22/10/2007Diseño de Aplicaciones Web PHP PHP - Professional Home Page Rasmus Lerdorf Puede ejecutar como módulo de apache o como CGI. Junto con apache y MySQL es una opción muy utilizada. Características: Muy rápido Buena conectividad con bases de datos !OJO! Las peticiones son encaminadas a procesos hijo Conexiones a la BD persistentes y compartidas entre procesos hijo.

22/10/2007Diseño de Aplicaciones Web Lo más utilizado Altavista búsquedas del tipo link:*.xxx ASP: JSP: PHP: