desarrollo de aplicaciones web

15

Upload: carlos-van-de-velde

Post on 04-Jul-2015

3.466 views

Category:

Education


2 download

DESCRIPTION

Hablamos un poco sobre el desarrollo de aplicaciones web!!!

TRANSCRIPT

Page 1: Desarrollo de aplicaciones web
Page 2: Desarrollo de 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

http://www.mailxmail.com/curso-mysql-php/arquitectura-2-capas-cliente-servidor

Page 3: Desarrollo de aplicaciones web

Estructura de tres capas

Presentación Negocio Datos

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

http://www.managinf.com/arquitectura.pdf

Page 4: Desarrollo de aplicaciones web

Peticiones 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

Page 5: Desarrollo de aplicaciones web

• 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

WindowObject

LocationObject

ScreenObject

DocumentObject

HistoryObject

NavigatorObject

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.

Page 6: Desarrollo de aplicaciones web

Representa el tipo de dato número.

Objetos

StringObject

MathObject

Date Object

ArrayObject

BooleanObject

NumberObject

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.

Page 7: Desarrollo de aplicaciones web

• 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!!!

Page 8: Desarrollo de aplicaciones web

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

Page 9: Desarrollo de aplicaciones web

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

Page 10: Desarrollo de aplicaciones web

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

Page 11: Desarrollo de aplicaciones web

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

Page 12: Desarrollo de aplicaciones web

LDC

html

css

Flash

Java

Javascript

vbscript

LDS

CGI

Perl

Asp.netPHP

jsp

Lenguajes híbridos

DHTML XML

Page 13: 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

DeveloperExpress

Mono

Jbuilder

Eclipse

Page 14: Desarrollo de aplicaciones web

Aspectos de Seguridad

Pc del usuario

ServidorInformació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).

Page 15: Desarrollo de aplicaciones web

Aspectos de Seguridad

Pc del usuario

ServidorInformació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).