Vous êtes sur la page 1sur 26

Programacin Web

Desarrollo de aplicaciones Web



3.1 Arquitectura de las aplicaciones
Web.
Arquitectura de dos niveles:
Es la ms simple, se tiene el nivel del Cliente y el nivel
del Servidor.


Arquitectura Web de tres niveles:

El primer nivel consiste en la capa de presentacin que
incluye no slo el navegador, sino tambin el servidor web
que es el responsable de dar a los datos un formato
adecuado. El segundo nivel est referido habitualmente a
algn tipo de programa o script. Finalmente, el tercer nivel
proporciona al segundo los datos necesarios para su
ejecucin.

3.2 Lenguajes de programacin del
lado del cliente.
Los programas del lado del cliente
estn incluidos dentro de la pgina
HTML, se descargan del servidor
junto con este.
Los programas se ejecutan dentro del
mbito del browser.


Tecnologas y lenguajes del lado del
cliente.

Navegadores para Web.
HTML.
Javascript y Vbscript.
Applets en Java.
Flash (lenguaje ActionScript).
XML.
PDF.
AJAX, acrnimo de Asynchronous
JavaScript And XML (JavaScript
asncrono y XML).

Lenguajes del lado del cliente
Algunos navegadores Web.
Amaya
Epiphany
Galeon
Internet Explorer
Konqueror
Lynx
Mozilla suite navigator
Mozilla Firefox
Netscape Navigator
Opera
Safari
Shiira
Maik Navigator

Tecnologas y lenguajes del lado del
cliente.

Algunos de estos lenguajes y tecnologas
requieren de un programa especial (plug-
in) instalado en la computadora del
usuario. Ejemplo: Adobe Flash Player.

Un complemento (o plug-in en ingls) es
una aplicacin que se relaciona con otra
para aportarle una funcin nueva y
generalmente muy especifica. Esta
aplicacin adicional es ejecutada por la
aplicacin principal e interactan por medio
de la API.

3.3 Lenguajes de programacin del
lado del servidor.
Se ejecutan en el servidor de Web y son
dependientes de la plataforma del servidor.





Se usan para acceder a recursos del servidor, como bases
de datos y generacin de contenido dinmico para las
pginas.
3.3 Lenguajes de programacin del
lado del servidor.
Por ejemplo, el mbito de ejecucin
de una pgina ASP.NET.




3.3 Lenguajes de programacin del
lado del servidor.
Algunos ejemplos de lenguajes del lado del servidor:

ASP, ASP.NET (son tecnologas, soportan diferentes
lenguajes como VB, C#, C++, etc.).
PHP.
JSP.
Perl.
Ruby.
Python.
XML.

Servidor Web
Un servidor web es un programa que
implementa el protocolo HTTP ). Este
protocolo pertenece a la capa de aplicacin
del modelo OSI y est diseado para
transferir lo que se llama hipertextos,
pginas web o pginas HTML: textos
complejos con enlaces, figuras, formularios,
botones y objetos incrustados como
animaciones o reproductores de msica.
Servidor Web.

Algunos ejemplos:
CERN httpd
Apache (Libre, servidor ms usado del mundo,
segn Wikipedia)
IIS
Resin
Tomcat (Libre, del proyecto Jakarta de Apache)
Geronimo (Libre, orientado a J2EE, del proyecto
Jakarta de Apache, actualmente se encuentra
en desarrollo)
JBoss
JOnAS
Cherokee

3.4 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 especficos para lenguajes del
lado del servidor. Por ejemplo, Visual
Studio solo soporta ASP.NET del lado del
servidor.
Existen IDEs de buena cantidad, libres y
gratuitos de buena calidad.
3.4 Ambientes para el desarrollo de
aplicaciones Web.
Algunos ejemplos de IDE para Web:
Microsoft Visual Studio.
Microsoft Web Developer Express.
Mono (para ASP.NET).
NetBeans.
Jbuilder.
Eclipse.

3.5 Metodologas para el desarrollo
de aplicaciones Web.
Ciclo de vida clsico. Pressman, adapta
esta metodologa para el desarrollo de
Web, en lo que el llama la Ingeniera
Web:
Formulacin.
Planificacin.
Anlisis (contenido, interaccin, funcional,
configuracin).
Diseo (arquitectnico, navegacin, interfaz, de
base de datos).
Implementacin.
Pruebas.

3.5 Metodologas para el desarrollo
de aplicaciones Web.
UWE UML (UML-Based Web
Engineering) es una metodologa de
desarrollo de aplicaciones web,
utilizada en la ingeniera web,
prestando especial atencin en
sistematizacin y personalizacin
(sistemas adaptativos).
UWE UML
El mtodo UWE UML consta de seis modelos:

Modelo de casos de uso para capturar los requisitos del
sistema.
Modelo conceptual para el contenido (modelo del dominio).
Modelo de usuario: modelo de navegacin que incluye
modelos estticos y dinmicos.
Modelo de estructura de presentacin, modelo de flujo de
presentacin.
Modelo abstracto de interfaz de usuario y modelo de ciclo
de vida del objeto.
Modelo de adaptacin.

3.6 Aspectos de seguridad.
Las aplicaciones Web estn ms
expuestas a ataques.

Se pueden tener ataques en tres
niveles:
A la computadora del usuario.
Al servidor.
A la informacin en trnsito.
La seguridad en Web tiene 3 etapas
primarias:
Seguridad de la computadora del
usuario.
Seguridad del servidor Web y de los
datos almacenados ah.
Seguridad de la informacin que viaja
entre el servidor Web y el usuario.
Seguridad de la computadora del
usuario

Los usuarios deben contar con
navegadores y plataformas seguras,
libres de virus y vulnerabilidades.
Tambin debe garantizarse la
privacidad de los datos del usuario.

Seguridad del servidor Web y de los
datos almacenados ah
Se debe garantizar la operacin
continua del servidor, que los datos
no sean modificados sin autorizacin
(integridad) y que la informacin slo
sea distribuida a las personas
autorizadas (control de acceso).

Seguridad de la informacin que
viaja entre el servidor Web y el
usuario.

Garantizar que la informacin en trnsito no
sea leda (confidencialidad), modificada o
destruida por terceros. Tambin es
importante asegurar que el enlace entre
cliente y servidor no pueda interrumpirse
fcilmente (disponibilidad).

Recomendaciones de seguridad.

Recomendaciones: Asegurar el
servidor

Se deben considerar los siguientes
puntos:
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 interactan en
las dos capas anteriores (mdulos,
bibliotecas).

Recomendaciones: Asegurar la
informacin en trnsito

Esto se puede lograr por diversos
medios:
Asegurando la red fsicamente (switches en
lugar de hubs).
Esconder la informacin (esteganografa).
Cifrar la informacin (criptografa) por
medio de algoritmos diversos (SSL, VPNs).

Recomendaciones: Asegurar el
equipo del usuario

Vulnerar el equipo del usuario quizs no tenga
el impacto de vulnerar el servidor, sin
embargo es un problema ms difcil de
erradicar (1 servidor, 5000 clientes):

Aplicar actualizaciones (parches) al sistema
operativo.
Uso de antivirus, firewalls personales.
Educacin de los usuarios.

Vous aimerez peut-être aussi