Documente Academic
Documente Profesional
Documente Cultură
Pginas estticas
Pginas estticas y
http://www.fi.upm.es GET www.fi.upm.es
dinmicas
<HTML> Index.html
<IMG src=logo.gif>
</HTML> GET www.fi.upm.es/logo.gif
Logo.gif
Servidor Web de
www.fi.upm.es
Pginas dinmicas
Algunos problemas...
http://search.unisys
.com/search/default
GET &Submit=Go
.asp?section=allse
ctions&q1=http&Su Problema Solucin
bmit=Go
Alto trasiego de conexiones Scripts de cliente (Java script, VB script)
Lgica de negocio
BD
Sdfgdfg dfg
Dfg
Dsf gsdfg sdfg
Dsfg dsfg sdfg
dinmico
Sdfgdfg dfg
Dfg
Dsf gsdfg sdfg
Dsfg dsfg sdfg
Dfg
Servidor Web de
www.fi.upm.es
1
Aplicaciones por capas
Lgica
Interfaz de usuario de
negocio
Datos
Interfaz de usuario Servicios de usuario Servicios de trabajo Servicios de datos
con lgica de negocio
Base de datos.
Lgica de negocio: rutinas SQL
2
Aplicaciones Web hoy
Modelo Web de 3 capas
Cliente
Browser HTTP
DBMS
Navegador Servidor
Presentacin Web Lgica de
negocio
Servicios DBMS
Soportados
Lgica de negocio
Servidor Web Cliente Mquina Servidora
No Protocolo de
Browser objetos
Acceso a datos
Aplicaciones
existentes
Windows DNA
Servidor de Aplicaciones Cliente
Visual
InterDev
Browser HTTP
IIS DBMS
Los servidores que proporcionan
Aplicaciones
servicios a las aplicaciones tales como ASP
ADO
DBMS
Servidor Es una especificacin que proporciona
Web
Pginas
JSP
JDBC un estndar para los servidores de
Herra- Java Servlets JDBC
apliaciones Java. Por tanto:
mientas DBMS
Java No es una plataforma propietaria
Aplicaciones
Diversas implementaciones
JDBC
EJB Existe test de compatibilidad (CTS)
EJB DBMS
Cliente
Pesado CORBA
3
Entorno J2EE Entorno J2EE (II)
Obligacin de cuatro componentes de Adems:
aplicacin: Contenedores: cada componente vive dentro de
un contenedor que proporciona servicios en
Existen clientes pesados Java que tiempo de ejecucin.
acceden al servidor usando RMI Bases de datos con JDBC.
Applets JTA: Java Transaction API.
Servlets y JSP JavaMail.
Enterprise Java Beans (EJB): JNDI: Java Naming and Directory Interface.
componentes que ejecutan dentro de un Interfaz de acceso a servicios de directorio como
DNS o LDAP.
contenedor en el servidor.
Servidores J2EE
Servidores en Internet
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 ms
Sistemas Operativos
El mundo del browser
HTML / DHTML / CSS
Lenguajes de script: JavaScript /
VBScript
Applet Java / Active X
4
El mundo del servidor
HTML / DHTML / XML
ASP / JSP / PHP
CGI Tecnologas Web
ISAPI / NSAPI
VBScript / JavaScript
Servlets / Scriptlets
COM / DCOM / COM+ / EJB
ODBC / JDBC / OLE DB / ADO
DHTML (II)
DHTML
Ventajas:
Manipular una pgina Web despus de ser Creacin de interfaces de usuario interactivos
cargada en cliente Est basado en HTML
Elementos y atributos de la pgina Soporte directo en el Browser => rapidez
estilos y colores (CSS) Estndar abierto del W3C
posicin de los elementos
Inconvenientes:
Programabilidad a travs de DOM
Netscape e Internet Explorer tienen diferentes
Manipular datos en el cliente implementaciones
DHTML Scriptlet: Crear un componente de
un script y reutilizarlo en pginas con
<OBJECT>. IE 4.0
15/10/2001 Diseo de Servicios Web 15/10/2001 Diseo de Servicios Web
5
Applets de Java Applets de Java (II)
Programas descargados de la Web y Ventajas:
que ejecutan en el navegador Lenguaje verstil
Para ser ejecutados necesitan JVM Simple de usar
6
Servlets de Java Ciclo de vida de un Servlet
Es cdigo Java que ejecuta en un servidor de En primera invoacin se carga en
aplicacin
memoria. Proceso init() Hot Servlet
Estn diseados como el sustituto Java de
los CGIs Permanece en memoria hasta que se
Ofrecen independencia de la plataforma apaga el servidor.
Ejecutan dentro de un contenedor servlet Servlets que se cargan inicialmente.
Requisitos: Cold Servlets. Se descargan despus
El servidor debe tener una JVM
El servidor debe soportar la API de los servlets
de responder al cliente.
Java.
15/10/2001 Diseo de Servicios Web 15/10/2001 Diseo de Servicios Web
CGIs vs Servlets
CGIs vs Servlets (II)
Portabilidad de los servlets.
Rendimiento: Abren y cierran la conexin con la base
El servlet se ejecuta solamente la primera vez que de datos en cada peticin.
es llamado
Permanece en memoria una vez cargado Al activar un servlet puede pedir varias
Puede compartir informacin entre varias conexiones a la base de datos en el
llamadas de clientes.
proceso init() y las tiene en un pool de
Los servlets son multithread. Se crea un
nuevo thread para cada peticin conexiones. Lmite de tiempo 8 horas.
Los servlets son modulares y pueden
comunicarse entre ellos
ASP/JSP/PHP
Una peticin de acceso a un URL hace que
el servidor web ejecute un script del servidor
Este script manda informacin de retorno al
servidor web
El servidor web manda esta informacin al cliente
Los script de servidor son:
Ms sencillos que los Java servlets o ISAPI
Muy populares
JSP se convierte en servlet en la primera
peticin.
15/10/2001 Diseo de Servicios Web 15/10/2001 Diseo de Servicios Web
7
Funcionamiento de ASP ASP vs JSP
1) Peticin de URL a
travs de HTTP
IIS
<HTML> Caracterstica ASP JSP
Browser 2) El servidor
<TITLE>Ejemplo</TITLE>
<BODY> Servidores Slo IIS Apache, Netscape, IIS ...
4) El Browser Web lee <H1>Un ejemplo de ASP</H1>
muestra el HTML y <% Plataformas Windows Solaris,Windows,Linux...
HTML response.write "<HR>"
ejecuta script
response.write "Hola!"
response.write "<HR>
Componentes reusables Componentes COM Componentes Bean
%>
</BODY> Seguridad contra fallos Basada en seguridad de Seguridad inherente a
</HTML> de sistema NT Java
<HTML>
<TITLE>Ejemplo</TITLE> ejemplo.asp Lenguajes de VBScript, JScript, Perl Java, JavaScript
<BODY>
<H1>Un ejemplo de ASP</H1> programacin admitidos
<HR>
3) HTML resultante
Hola! es enviado al Posibilidad de integrar ODBC, OLEDB, ADO ODBC, JDBC
<HR> browser a travs orgenes de datos
</BODY> de HTTP
</HTML>
PHP
PHP - Professional Home Page. 1994 Lo ms utilizado
Rasmus Lerdorf
Puede ejecutar como mdulo de apache o Altavista bsquedas del tipo link:*.xxx
como CGI.
ASP: 37.271.877
Junto con apache y MySQL es una opcin
muy utilizada. JSP: 3.922.317
Caractersticas: PHP: 7.221.479
Muy rpido
Buena conectividad con bases de datos !OJO!
Las peticiones son encaminadas a procesos hijo
Conexiones a la BD persistentes y compartidas
entre procesos hijo.