Desarrollo de aplicaciones web

Download Report

Transcript Desarrollo de aplicaciones web

Tipos de Arquitecturas de una
aplicación web
Arquitectura
de las
aplicaciones
web
Arquitectura de dos capas
Es la más
simple
Arquitectura
de dos capas
Se tiene dos
niveles:
cliente y
servidor
Utiliza un
proceso de
envío
llamado
PostBack
Gráficamente descrita
Arquitectura
de tres capas
Es más
utilizada para
uso de
aplicaciones
no muy
pesadas
Arquitectura de tres capas
Es más utilizada
actualmente
El desarrollo de la
aplicación se lleva
por niveles
El primer nivel
consiste en la capa
de presentación que
incluye no sólo el
navegador, sino
también el servidor
web que es el
responsable de dar a
los datos un formato
adecuado
Arquitectura
de tres capas
Estructura
Estructura
de tres
capas
Presentación
El segundo nivel está
referido
habitualmente a
algún tipo de
programa o script
El tercer nivel
proporciona al
segundo los datos
necesarios para su
ejecución
Negocio
Datos
Lenguajes del lado del clientev
•
•
•
•
•
Peticiones con lenguajes del lado del cliente
Se ejecutan en el navegador
del cliente
El cliente tiene acceso al
código de dicho lenguaje
Son lenguajes como: HTML,
javascript, css, etc.
Hacen uso del servidor HTTP
(Aapache)
Es independiente al servidor,
por lo que no necesariamente
necesita ser albergada en un
servidor para que sea visible
Navegador
Navegador
Es
Aplicación
Que
interpreta
Órdenes
Recibidas en
forma de
Código HTML
Modelo de objetos
•
•
Acompaña al
HTML en el lado
del cliente
Hay dos tipos de
Script que se
pueden asociar:
Los que se
ejecutan cuando
se carga e l
documento y los
que se ejecutan
por medio de
algún evento
Window
Object
Contiene las
propiedades
del navegador.
Navigator
Object
Es el de más alto nivel, contiene las
propiedades de la ventana y en el
supuesto de trabajar con marcos
(frames), se genera un objeto
window para cada uno.
Location
Object
Contiene las
propiedades de la URL
activa
Objetos del
navegador
Contiene las
propiedades que
representan a las
URL que el usuario
ha visitado
anteriormente.
History
Object
Screen
Object
Document
Object
Contiene información
referente a la
resolución de la
pantalla que muestra
la URL
Contiene todas las
propiedades del documento
actual, como son: su color de
fondo, enlaces, imágenes,
etc.
String
Object
Representa el tipo de
dato número.
Number
Object
Permite hacer diversas
manipulaciones con las
cadenas.
Math
Object
Posee atributos y métodos
asociados a las constantes y
funciones matemáticas
Objetos
Boolean
Object
Nos permite crear
booleanos, esto es, un tipo
de dato que es cierto o
falso, tomando los valores
true o false.
Date
Object
Array
Object
Permiten la manipulación de
datos que representen fechas.
Nos da la facilidad de construir arreglos
cuyos elementos pueden contener
cualquier tipo básico, y cuya longitud se
modificará de forma dinámica siempre
que añadamos un nuevo elemento.
Eventos
•
•
Un evento es el resultado de la
interacción entre un usuario con
algún elemento de la interfaz
gráfica que se le presenta. Por
ejemplo: hacer click sobre un
botón, cambiar el contenido de un
campo de texto o mover el puntero
del ratón sobre un enlace!!
Los eventos se pueden capturar de
varias formas, aunque se
recomienda asociar un manejador
del evento al objeto a capturar el
evento. Para cada tipo de evento
hay que tener tres elementos: quién
lo genera, cuándo ocurre y cuál es
el manejador de eventos que se
debe utilizar
Validación en la entrada de datos
Validación
Detecta
Comprueba
Entrada de datos
Ejemplo de
errores
detectados
Que no se haya
llenado el
campo
Mientras esta se
Ejecuta
Que la
información
esté incompleta
Muchos más!!!
Errores
Antes de ser
Enviados
Qué se
introduzca un
tipo de dato
equivocado
En la Actualidad
La mayor
parte de
Navegadores
Son muy
Versátiles
Firefox
Son
agregados
a
Plugins
Mejoran y
aumentan
Y otros
menos
usados
IExplorer
Navegadores
Capacidades
Google
Chrome
Zafari
Recuerda que los
navegadores tienen
diferentes
características y
plugins, que pueden
mostrar de manera
diferente las
aplicaciones
Opera
Lenguajes del lado del Servidor
•
•
•
•
•
•
Peticiones con lenguajes del lado del cliente
Son aquellos lenguajes que son
reconocidos, ejecutados e
interpretados por el propio
servidor y que se envían al cliente
en un formato comprensible para él
Es independiente del cliente por lo
que es mucho menos rígido
respecto al cambio de un
navegador a otro o respecto a las
versiones del mismo
Es importante para hacer
transacciones en base de datos
Se hace uso de ambos lenguajes
para la realización de páginas web
Algunos lenguajes del lado del
servidor: PHP, ASP, etc.
Para hacer uso de él se necesitan
lenguajes del lado del cliente
http://www.adelat.org/media/docum/nuke_publico/lenguajes_del_lado_servidor_o_cliente.html
Nuestro proyecto estará
basado en LDC y LDS,
así como también
tendrá un gestor de BD
Funcionalidad
Qué permite LDC??
Funcionalidad
Correo
Electrónico
Se refiere
Etc
habilidad
Contraseñas
De los
servidores
Web Hosting
Capaces de correr
Programas
Permite Ejecutar
Son
llamados
Qué interactúan con
Páginas web
Script
LDS
Gestión de
base de
datos
Encuestas
Ofrecen
Información
dinámica
Contenido
Dinámico
Foros
Herramientas de desarrollo
Variables
Formularios
Herramientas de
desarrollo
Instrucciones
Se refiere a
aplicaciones
Conceptos
básicos
Librerías
Que tienen
importancia
Pueden
ser
Secundarias
Como:
IDE’s
Pueden
ser
Operadores
Vital
Como:
Compiladores
Funciones
Arreglos
Sesiones
html
CGI
vbscript
css
jsp
LDC
Perl
LDS
Javascript
Flash
PHP
Java
DHTML
Lenguajes
híbridos
XML
Asp.net
IDE
•
•
•
•
•
Los IDE (ambientes integrados de desarrollo)
para aplicaciones Web son muy numerosos.
Considerar los que permitan trabajar con los
diferentes lenguajes para Web.
Algunos son específicos para lenguajes del
lado del servidor.
Existen IDE’s de buena cantidad, libres y
gratuitos de buena calidad.
Ejemplo de ellos: Visual Studio, Microsoft
Web Developer Express, Mono (asp.net),
Netbeans, jbuilder, Eclipse.
NetBeans
Visual
Studio
Eclipse
IDE
Microsoft
Web
Developer
Express
Jbuilder
Mono
Aspectos de
Seguridad
Pc del
usuario
•
•
Los usuarios deben contar
con navegadores y
plataformas seguras, libres
de virus y vulnerabilidades.
También debe garantizarse
la privacidad de los datos
del usuario.
Información
en tránsito
Servidor
•
Se debe garantizar la
operación continua del
servidor, que los datos no
sean modificados sin
autorización (integridad) y
que la información sólo sea
distribuida a las personas
autorizadas (control de
acceso).
•
•
Garantizar que la información
en tránsito no sea leída
(confidencialidad), modificada
o destruida por terceros.
También es importante
asegurar que el enlace entre
cliente y servidor no pueda
interrumpirse fácilmente
(disponibilidad).
Aspectos de
Seguridad
Pc del
usuario
Vulnerar el equipo del
usuario quizás no tenga el
impacto de vulnerar el
servidor, sin embargo es un
problema más difícil de
erradicar (1 servidor, 5000
clientes):
•
Aplicar actualizaciones
(parches) al sistema
operativo.
•
Uso de antivirus, firewalls
personales.
•
Educación de los usuarios.
Información
en tránsito
Servidor
•
•
•
Asegurar el servidor en una
forma fundamental: el sistema
operativo, ya sea por medio de
actualizaciones (parches) y
habilitando los mecanismos
propios de la plataforma.
Garantizar la seguridad del
servidor Web propiamente (IIS,
Apache, etc.)
Auditar las aplicaciones que
interactúan en las dos capas
anteriores (módulos,
bibliotecas).
•
•
•
Asegurando la red
físicamente (switches en
lugar de hubs).
Esconder la información
(esteganografía).
Cifrar la información
(criptografía) por medio
de algoritmos diversos
(SSL, VPNs).