Vous êtes sur la page 1sur 4

ARQUITECTURA WEB - SEGURIDAD

Introduccin
Los sistemas Web nos proponen una arquitectura distribuida
o Los componentes estn distribuidos en dos tipos de nodos: clientes (muchos) y servidores
(uno, al menos a nivel lgico)
Los clientes se comunican con el servidor siguiendo un protocolo de pedido-respuesta:
o Un cliente hace un pedido, el servidor lo procesa y responde.
o El cliente se encarga de presentar (renderizar) la respuesta al usuario final
o La comunicacin ocurre a travs de redes Intranets o la misma Internet, empleando un
protocolo llamado HTTP
Los clientes son responsables de presentar la informacin de la respuesta al usuario, empleando
tecnologas especficas de la Web.

La Web tradicional
Las tecnologas que se emplean para la construccin de aplicaciones Web no son las mejores para hacer
aplicacin "dinmicas" (aplicaciones con un razonable nivel de interactividad y responsividad de la GUI),
porque no fueron diseadas para tal fin.

Por qu decimos esto? La Web, en su concepcin original, era un servicio concebido para compartir
contenido esttico (textos acadmicos, por ejemplo) entre usuarios de computadoras personales con
capacidad de procesamiento muy limitada: alguna organizacin (como una universidad) publicaba estos
contenidos, y los usuarios se limitaban a consultarlos. Es decir, estas aplicaciones de la primera Web (a
veces renombrada luego como Web 1.0) eran fundamentalmente:
no interactivas
operaban sobre contenido poco mutable
de slo texto
de comunicacin unidireccional (la informacin siempre viaja desde el servidor al cliente, a
pedido de un cliente)

Por esto, HTTP. el protocolo de comunicacin empleado en la Web es:


Pedido-Respuesta (se abre una conexin por cada pedido, que surge del cliente, y el servidor la
cierra cuando ha enviado la respuesta)
Stateless (el protocolo per-s no maneja ninguna nocin de memoria de pedidos anteriores)
Textual (se intercambian mensajes de slo texto)
Basado en cdigos de respuesta (incluso para los flujos de error; no hay memoria compartida,
continuaciones, excepciones ni eventos)
Esto es esquemtico y en su forma ms bsica, el protocolo es complejo y presenta muchos aspectos
como tipos de contenido, mtodos, cachs y conexiones persistentes, etc, que modifican
sustancialmente la visin anterior.

Web 2
El protocolo HTTP nos impone una forma de comunicacin mucho menos rica que el paso de mensajes
entre objetos, con lanzamiento de excepciones, en un ambiente con estado y efectos.

Adems, el advenimiento de las llamadas aplicaciones dinmicas, o RIAs (Rich Internet Applications), en
la dcada del 2000, llev a que las mismas sean cada vez ms grandes, complejas, con una creciente
demanda de interactividad no planificada inicialmente, empleando en general lenguajes orientados a
objetos en el servidor para su desarrollo. La masificacin de Internet dio tambin mayor necesidad de
soportar ms usuarios y mayores niveles de concurrencia, y clientes con hardware y software cada vez
ms heterogneo (por ejemplo, diversidad de sistemas operativos, navegadores, dispositivos mviles),
hace ms compleja la presentacin del contenido.

web 3.0
Web 3.0 es una expresin que se utiliza para describir la evolucin del uso y la interaccin de las personas
en internet a travs de diferentes formas entre los que se incluyen la transformacin dela red en una
base de datos, un movimiento social hacia crear contenidos accesibles por mltiples aplicaciones non-
browser, el empuje de las tecnologas de inteligencia artificial, la web semntica, la Web Geoespacial o
la Web 3D.Se basa en la idea de aadir metadatos semnticos y ontolgicos a la World Wide Web. Esas
informaciones adicionales que describen el contenido, el significado y la relacin de los datos se deben
proporcionar de manera formal, para que as sea posible evaluarlas automticamente por mquinas de
procesamiento. El objetivo es mejorar Internet ampliando la interoperabilidad entre los sistemas
informticos usando "agentes inteligentes". Agentes inteligentes son programas en las computadoras
que buscan informacin sin operadores humanos. Con la web 3.0 se busca que los usuarios puedan
conectarse desde cualquier lugar, cualquier dispositivo y a cualquier momento. Entre sus innovaciones
destacan:

1. Bases de datos
2. Inteligencia artificial
3. Web semntica y SOA
4. Evolucin al 3D
5. Diseo en Arquitecturas Web

Arquitectura de las aplicaciones web

Arquitectura cliente/servidor (C/S)


La arquitectura tradicional de cliente/servidor (C/S) tambin es conocida como arquitectura de dos
capas. Requiere una interfaz de usuario que se instala y se ejecuta en una PC o estacin de trabajo y
enva solicitudes a un servidor para ejecutar operaciones complejas. Por ejemplo, una estacin de
trabajo utilizada como cliente puede ejecutar una aplicacin de interfaz de usuario que interroga a
un servidor central de ases de datos.

Ventajas del Sistema de Dos Capas:


El desarrollo de aplicaciones en un ambiente de dos capas funciona adecuadamente, pero no es
necesariamente lo ms eficiente.
Las herramientas para el desarrollo con dos capas son robustas y ampliamente evaluadas.
Las tcnicas de ingeniera de software de prototipo se emplean fcilmente.
Las soluciones de dos capas trabajan en ambientes no dinmicos estables, pero no se ejecutan bien
en organizaciones rpidamente cambiantes.

Desventajas del sistema de dos capas:


Los ambientes de dos capas requieren control excesivo de las versiones y demandan esfuerzo de
distribucin de la aplicacin cuando se les hacen cambios. Esto se da al hecho de que la mayora de
la aplicacin lgica existe en la estacin de trabajo del cliente.
La seguridad del sistema en un diseo de dos capas es compleja y a menudo requiere administracin
de las bases de datos; esto es debido al nmero de dispositivos con acceso directo al ambiente de
esas bases de datos.
Las herramientas del cliente y de la base de datos, utilizadas en diseos de dos capas,
constantemente estn cambiando. La dependencia a largo plazo de cualquier herramienta, puede
complicar el escalamiento futuro o las implementaciones.
Arquitectura de tres capas
La arquitectura de tres capas es un diseo reciente que introduce una capa intermedia en el proceso.
Cada capa es un proceso separado y bien definido corriendo en plataformas separadas. En la
arquitectura tradicional de tres capas se instala una interfaz de usuario en la computadora del usuario
final (el cliente). La arquitectura usada en Web transforma la interfaz de bsqueda existente (el
explorador de Web), en la interfaz del usuario final. La arquitectura de las aplicaciones Web
suelen presentar un esquema 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 presentar los datos un formato adecuado.

El segundo nivel
est referido habitualmente a algn tipo de programa o script.

El tercer nivel
proporciona al segundo los datos necesarios para su ejecucin. Una aplicacin Web tpica recoger
datos del usuario (primer nivel), los enviar al servidor, que ejecutar un programa (segundo y tercer
nivel) y cuyo resultado ser formateado y presentado al usuario en el navegador (primer nivel otra vez).

Las diferentes capas suelen ser:

Capa 1: Cliente de aplicacin: Navegador Web


Capa 2: Servidor de Aplicaciones: Apache, Servidor Tomcat con servlets
Capa 3: Servidor de Datos: base de datos, servidor SMTP.

Ventajas de la arquitectura de tres capas:


Las llamadas de la interfaz del usuario en la estacin de trabajo, al servidor de capa intermedia, son
ms flexibles que en el diseo de dos capas.
La interfaz del cliente no es requerida para comprender o comunicarse con el receptor delos datos.
El cdigo de la capa intermedia puede ser reutilizado por mltiples aplicaciones si est diseado en
formato modular.
La separacin de roles en tres capas, hace ms fcil reemplazar o modificar una capa sin afectar a
los mdulos restantes.

Desventajas de las Arquitecturas de Tres Capas


Los ambientes de tres capas pueden incrementar el trfico en la red y requiere ms balance de carga
u tolerancia a las fallas.
Los exploradores actuales no son todos iguales.
La estandarizacin entre diferentes proveedores ha sido lenta en desarrollarse

Tecnologas para el desarrollo de aplicaciones web


Los lenguajes de programacin ms usados en desarrollo web son principalmente:

1. ASP.NET
2. PHP
3. ISP

Aunque an hay quienes usan ASP, Macromedia ColdFusion y Perl. Algunos desarrolladores web hablan
muy bien de Ruby, y el framework Ruby on Rails, pero no est muy difundido todava. Tambin hay un
proyecto para usar Pascal en web a travs del lenguaje Pascal Server Pages PSP pero an no se han
concretado desarrollos, hasta donde se conoce. La base de datos ms popular en desarrollo web es
MySQL, seguida por Oracle, SQL Server y PostgreSQL, tambin puede usarse perfectamente Firebird o
HSQL.
HTML5, CSS3 y JavaScript o JQuery (Librera de javascript), tres tecnologas que bien trabajadas logran
DHTML. Tambin, si el diseador desea usar Adobe Flex (Flash) debe ser capaz de integrarlo a su
solucin, o puede dejar los efectos en el mismo DHTML.

Vous aimerez peut-être aussi