PDF de programación - 04 - Programación Web

Imágen de pdf 04 - Programación Web

04 - Programación Webgráfica de visualizaciones

Publicado el 2 de Diciembre del 2019
138 visualizaciones desde el 2 de Diciembre del 2019
578,8 KB
8 paginas
Creado hace 16a (09/10/2003)
Programación web

© Copyright 2001-2003 Víctor ROBLES

FORCADA

vrobles@fi.upm.es

http://laurel.datsi.fi.upm.es/~ssoo/DSW/

Índice

Páginas estáticas y dinámicas
Arquitectura de aplicaciones Web
Tecnologías Web

15/10/2001

Diseño de Servicios Web

Páginas estáticas y

dinámicas

Páginas estáticas

http://www.fi.upm.es

GET “www.fi.upm.es”

<HTML>

<IMG src=“logo.gif”>

</HTML>

Index.html

GET “www.fi.upm.es/logo.gif”

Logo.gif

Servidor Web de
www.fi.upm.es

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

Páginas dinámicas

http://search.unisys
.com/search/default
.asp?section=allse
ctions&q1=http&Su

bmit=Go

GET “…&Submit=Go”

Lógica de negocio

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

Respuesta dinámica

Plantillas

+

Servidor Web de
www.fi.upm.es

Algunos problemas...

Problema
Alto trasiego de conexiones

Solución

Scripts de cliente (Java script, VB script)

Interfaz insuficientemente atractivo y
dinámico
Ejecución de código “desconocido” en

cliente

Applets Java, ActiveX, DHTML

Uso exclusivo de Applets Java y Java

Script

Necesidad de simplificar los procesos de

generación dinámica de respuestas

Scripts de servidor (ASP, JSP, PHP,

ASP.NET)

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

1

Arquitectura 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

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

Modelo de 2 capas

Modelo de 3 capas

Interfaz de usuario

Lógica

de

negocio

Interfaz de usuario
con lógica de negocio

Base de datos.

Lógica de negocio: rutinas SQL

Servicios de usuario

Servicios de trabajo

Servicios de datos

Datos

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

Modelo de 3 capas (II)

Modelo de 3 capas (III)

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.

Capa de servicios de datos
 Almacenar datos
 Recibir datos
 Mantenimiento de los datos
 Integridad de los datos

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

2

Modelo Web de 3 capas

Navegador

Servidor Web

Presentación

Lógica de negocio

Acceso a datos

Aplicaciones Web hoy

Cliente
Browser

HTTP

Servidor

Web

Lógica de
negocio

Servicios
Soportados

Máquina Servidora

Protocolo de

objetos

Cliente

No

Browser

DBMS

DBMS

Aplicaciones
existentes

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

Servidor de Aplicaciones

Los servidores que proporcionan
servicios a las aplicaciones tales como
persistencia, transacciones, seguridad,
escalabilidad... se denominan
Servidores de Aplicaciones.

Windows DNA

Visual
InterDev

Cliente
Browser

HTTP

Cliente
Pesado

DCOM

IIS

VB,
VC++,
VJ++

Aplicaciones

ASP

ADO

Aplicaciones

COM+
COM+

ADO

Windows 2000

DBMS

DBMS

DBMS

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

Java 2 Enterprise Edition

Cliente
Browser

HTTP

Herramientas

JSP

Servidor

Web

Herra-
mientas

Java

Páginas

JSP

JDBC

Java Servlets JDBC

Aplicaciones

EJB
EJB

JDBC

DBMS

DBMS

DBMS

Cliente
Pesado

CORBA

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)

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

3

Entorno J2EE

Entorno J2EE (II)

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.

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.

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios 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

Servidores en Internet

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

Sistemas Operativos

El mundo del browser

HTML / DHTML / CSS
Lenguajes de script: JavaScript /
VBScript
Applet Java / Active X

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

4

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

Tecnologías Web

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios 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
<OBJECT>. IE 4.0

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

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios 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

Controles ActiveX (II)
Ventajas:
 Gran integración con herramientas y aplicaciones

 Estos controles pueden ser utilizados en otro tipo

Win32

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?

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

5

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

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

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios 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

Construyendo aplicaciones Web

Servidor

Web

HTTP

CGI

Aplicación CGI

ISAPI / NSAPI

Servlets de Java

ASP/JSP/PHP

Componentes

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

CGI

CGI (II)

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

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

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

6

Servlets de Java

Ciclo de vida de un Servlet

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.

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.

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios 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

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.

15/10/2001

Diseño de Servicios Web

15/10/2001

Diseño de Servicios Web

Conexiones permanentes con BD

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 IS
  • Links de descarga
http://lwp-l.com/pdf16995

Comentarios de: 04 - Programación Web (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad