Arquitectura de las aplicaciones web Arquitectura de dos capas Arquitectura de tres capas...
-
Upload
marguerita-ribas -
Category
Documents
-
view
242 -
download
0
Transcript of Arquitectura de las aplicaciones web Arquitectura de dos capas Arquitectura de tres capas...
DESARROLLO DE APLICACIONES WEB
Arquitectura de las aplicaciones web
Arquitectura de las
aplicaciones web
Arquitectura de dos capas
Arquitectura de tres capas
Arquitectura de dos capasTipos de Arquitecturas de
una aplicación web
Es la más simple
Se tiene dos niveles: cliente y servidor
Utiliza un proceso de
envío llamado PostBack
Es más utilizada
para uso de aplicaciones
no muy pesadas
Gráficamente descrita
Estructura de tres capas
Presentación Negocio Datos
Arquitectura de tres capas
EstructuraArquitectura de tres capas
Arquitectura de tres
capas
El desarrollo de la aplicación se lleva
por niveles
Es más utilizada actualmente
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
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
Lenguajes del lado del clientePeticiones con lenguajes del lado del
cliente
Navegador Aplicación Órdenes Código HTMLEs Que
interpretaRecibidas en forma de
Navegador
Lenguajes del lado del clientev
• 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
Modelo de objetos con lenguaje Script
• 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
Modelo de objetos
Objetos del
navegador
Window Object
Location Object
Screen Object
Document Object
History Object
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.
Contiene las propiedades de la URL activa
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.
Contiene las propiedades que representan a las URL que el usuario ha visitado anteriormente.
Contiene las propiedades del navegador.
Objetos del lenguaje Script Interconstruidos
Representa el tipo de dato número.
Objetos
String Object
Math Object
Date Object
Array Object
Boolean
Object
Number Object
Permite hacer diversas manipulaciones con las cadenas.
Posee atributos y métodos asociados a las constantes y funciones matemáticas
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.
Nos permite crear booleanos, esto es, un tipo de dato que es cierto o falso, tomando los valores true o false.
Eventos con lenguaje Scriptvalidación en la entrada de datos
• 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
Eventos Validación en la entrada de datos
Validación
Entrada de datos
Ejecuta
Comprueba
Mientras esta se
Errores
Enviados
Detecta
Antes de serEjemplo de
errores detectados
Qué se introduzca un tipo de dato equivocado
Que la información
esté incompleta
Que no se haya llenado
el campo
Muchos más!!!
Consideraciones del soporte navegador
En la Actualidad
Plugins
Capacidades
Son agregados a
Navegadores
Versátiles
La mayor parte de
Son muy Mejoran y aumentan
Navegadores
Firefox
IExplorer
Google Chrome
Opera
Zafari
Y otros menos usados
Recuerda que los navegadores tienen
diferentes características y
plugins, que pueden mostrar de manera
diferente las aplicaciones
Lenguajes del lado del servidor
Peticiones con lenguajes del lado del clienteLenguajes del lado del Servidor
• 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
Procesamiento del lado del servidor
Funcionalidad
Programas
Páginas web
Capaces de correr
habilidad
servidores
Se refiere
De los
Qué interactúan con
Funcionalidad
ScriptSon llamados
Web Hosting
Permite Ejecutar
Información dinámica
Ofrecen
LDS
Correo Electrónico
Contraseñas
Encuestas
ForosContenido Dinámico
Gestión de base de datos
Etc
Qué permite LDC??
Nuestro proyecto estará basado en
LDC y LDS, así como también tendrá un
gestor de BD
Conceptos básicos de la herramienta de desarrollo
Herramientas de desarrollo
Herramientas de desarrollo
Secundarias
IDE’s
Pueden ser
aplicaciones
Se refiere a
Que tienen
Como:
Compiladores
Pueden ser Vitalimportancia
Como:
Conceptos básicos
Variables
Instrucciones
Operadores
Arreglos
Sesiones
Funciones
Librerías
Formularios
Lenguajes LDC y LDS
LDC
html
css
Flash
Java
Javascript
vbscript
LDS
CGI
Perl
Asp.netPHP
jsp
Lenguajes
híbridosDHTML XML
Ambientes para el desarrollo de aplicaciones web
• 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.
IDE
IDE
NetBeans
Visual Studio
Microsoft Web
Developer Express
Mono
Jbuilder
Eclipse
Aspectos de SeguridadAspectos
de Seguridad
Pc del usuario Servidor
Información en
tránsito
• 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.
• 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).
Recomendaciones de Seguridad
Aspectos de
Seguridad
Pc del usuario Servidor
Información en
tránsito
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.
• 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).