Sunteți pe pagina 1din 11

Investigacin

Arquitectura de Aplicaciones
Web. Desarrollo de tecnologas
Web.

Orlando David Moguel Balam


PROGRAMACIN WEB

Investigacin:

Arquitectura de Aplicaciones Web


Debido a que Internet es un mercado muy demandante nos
encontramos con la necesidad de construir aplicaciones Web ms
complejas y en un tiempo muy reducido. Adems de que dichas
aplicaciones necesitan cumplir con requisitos de calidad como son
rendimiento, usabilidad, escalabilidad, mantenimiento, accesibilidad,
etc. Esto conduce a que el desarrollo de aplicaciones Web tenga una
probabilidad muy alta de fracasar.
Definicin de una aplicacin Web
Las aplicaciones Web usan la infraestructura de la Web (protocolos,
lenguajes, etc.) para su funcionamiento. Hoy en da las aplicaciones Web
han crecido hasta convertirse en grandes sistemas distribuidos
complejos y que pueden atender a millones de usuarios de forma
simultnea. Las aplicaciones Web utilizan tecnologa basada en Web
como son los navegadores y los servidores Web. Esto permite tener el
acceso a un mundo de aplicaciones por medio de una sola interfaz que
es el navegador.

Taxonoma de aplicaciones Web

Las aplicaciones Web no estn limitadas a un dominio, se puede tener


aplicaciones para todo tipo de necesidades.
A continuacin presentamos la taxonoma de las aplicaciones Web

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

Existen cuatro tipos principales de aplicaciones Web:


Estticas: este tipo de aplicaciones representan a la primera
generacin y estn compuestas por pginas Web estticas, imgenes y
texto, pero no cuentan con una lgica de negocio. Dentro de este tipo de
aplicaciones se encuentran las pginas personales.
Orientadas a servicios: este tipo de aplicaciones intentan ofrecer un
servicio especializado, por lo cual implementan una lgica de negocio
acorde al servicio ofrecido. Durante su mantenimiento los
desarrolladores necesitan comprender claramente la lgica de negocio.
Un ejemplo de este tipo de aplicaciones son los servidores de correo
electrnico.
De datos: este tipo de aplicaciones est enfocado a proveer una
interfaz para acceder a una gran cantidad de datos y no en la lgica de
negocio, por lo tanto los desarrolladores necesitan comprender el flujo
de datos. Un ejemplo de este tipo de aplicaciones son los catlogos en
lnea de las bibliotecas.
Sistemas de informacin: combinan las aplicaciones orientadas a
servicios y de datos. Los desarrolladores necesitan comprender
claramente el flujo de datos y la lgica de negocio (especialmente en la
manipulacin de los datos). Ejemplos de este tipo de aplicaciones son la
banca en lnea y los portales de comercio electrnico.

Nivel arquitectural las aplicaciones Web


A nivel arquitectural las aplicaciones Web se componen de tres capas: la
capa de presentacin, la de lgica de negocio y la capa de
persistencia.
La capa de presentacin se encarga de mostrar a todos los
componentes involucrados en la generacin de la interfaz de usuario y la
relacin que existe entre estos. Ejemplos de estos componentes son los
botones, las imgenes, el texto y las formas. Los componentes de esta
capa solo se pueden comunicar con la capa de lgica de negocio,
aunque esto depende de las restricciones de diseo que se deseen
adoptar, ya que al incluir patrones de arquitectura esta restriccin puede
desaparecer.
La capa de lgica de negocio contiene todas las reglas de negocio
necesarias para modificar los componentes de datos contenidos en la
capa de persistencia. Las reglas de negocio permiten al sistema realizar
una funcin que cumpla los requerimientos de los usuarios. La capa de
lgica de negocio solo se encarga de modificar los datos
ORLANDO MOGUEL BALAM
PROGRAMACION WEB

Investigacin:

contenidos en la capa de persistencia y enviarlos a la capa de


presentacin para mostrarlos al usuario. En una aplicacin Web
para comercio electrnico esta capa es la encargada de validar usuarios,
verificar la existencia de los productos, validar los pagos electrnicos,
etc.
La capa de persistencia contiene todos los componentes necesarios
para dotar de persistencia a los datos de la aplicacin, por ejemplo,
una base de datos que contenga los datos de los clientes y
proveedores.
Una arquitectura basada en tres capas provee una muy buena
separacin de conceptos (cdigo fuente, interfaz y reglas de negocio)
para las aplicaciones Web, pero otros tipos de aplicaciones no requieren
la separacin de la capa de lgica de negocio y la capa de persistencia.
Por ejemplo en una aplicacin orientada a servicios no tiene clara la
separacin entre dichas capas, por lo tanto podramos usar una
arquitectura en 2 capas, en donde una capa que se encargue de la
interfaz y otra capa que permita el acceso a los datos y las reglas para
modificarlos.

En la siguiente imagen se muestra la descomposicin de las capas de


una aplicacin Web y cul es la relacin que existe entre estas. Como se
puede observar, el nmero de capas vara de acuerdo a la complejidad
de la aplicacin, sin embargo describiremos solo las capas mencionadas
anteriormente.

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

Hoy en da las aplicaciones Web son aplicaciones muy grandes que no


pueden residir en un solo lugar. Por tal motivo se necesita conocer los
recursos hardware para evaluar los requerimientos no funcionales
(rendimiento, disponibilidad, escalabilidad).

Componentes del cliente


Navegador Web: es una aplicacin que se ejecuta por parte del cliente
la cual permite la visualizacin de archivos en lenguaje HTML.
Cliente Grueso: se define como la aplicacin que reside dentro del
cliente y que se encarga de procesar la mayora de los datos para la
aplicacin Web. La mayora de clientes gruesos usan al navegador Web
como plataforma. Los ejemplos ms comunes de clientes gruesos son
los Applets de Java.
Aplicaciones externas: este tipo de aplicaciones son ajenas a la
aplicacin pero son necesarias para complementar su funcionalidad.
Ejemplos de este tipo de aplicaciones pueden ser los editores de texto y
los visualizadores de documentos PDF.
Firewall: en este caso el firewall puede estar instalado en la parte del
cliente o puede ser un componente independiente. Un ejemplo de un
firewall es una empresa que desea proteger su red interna de usuarios
que intentan acceder a esta red.

Componentes de la parte del servidor


Servidor Web: un servidor Web es un programa que permite la
transmisin de datos en lenguaje HTML por medio del protocolo HTTP. La
informacin transmitida consta de elementos como paginas HTML que a
su vez pueden contener elementos multimedia como fotos, videos y
audio. Entre los ejemplos ms conocidos de servidores Web podemos
mencionar al servidor Apache.

Recursos HTML: este tipo de recursos se encuentran escritos en


lenguaje HTML y son enviados al cliente para ser visualizados en un
navegador Web.

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

Servidor de Base de datos: este servidor ser el encargado de


administrar los recursos de persistencia as como el acceso y
manipulacin de los datos.

Servidor Multimedia: este servidor se encarga de administrar todos


los recursos multimedia. En ocasiones muchos sitios web (p.ej.
youtube.com) necesitan almacenar grandes cantidades de archivos
multimedia haciendo compleja la administracin.
Sistemas Heredados: son sistemas existentes que se integran a la
aplicacin Web. Estos pueden ser sistemas administrativos u otros
sistemas Web.

La siguiente imagen muestra los distintos componentes de una


aplicacin Web, as como la relacin que existe entre estos.

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

Arquitectura de aplicaciones corporativas para nube (cloud)


VMware propone una arquitectura muy interesante para aplicaciones
en la nube, incluso aquellas de misin crtica.

Una capa de presentacin construida en HTML5, CSS3 y JavaScript con


interfaz de una pgina nica que se actualiza va AJAX (evitando la
recarga completa) sobre un servidor web Apache.
La capa de negocio de la aplicacin ofrece un servicio REST que
responde en formato JSON sobre un servidor de aplicaciones Java. Esta
capa utiliza un gestor de mensajera para comunicarse con la capa de
servicio tambin implementada sobre un servidor de aplicaciones Java.

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

Tanto la capa de negocio como la de servicio se comunican con una base


de datos en memoria que ofrece tiempos de respuesta extraordinarios.
El archivado de datos se realiza en servidores Postgres.
Esta arquitectura es lo suficientemente robusta y flexible para funcionar
en un ambiente virtualizado.
VMware ofrece todos los componentes necesarios para modernizar
aplicaciones.
vSphere que es la plataforma de virtualizacin ms utilizada en la
industria.
vFabric Web Server es el servidor Apache con soporte VMware.
vFabric tc Server es un servidor de aplicaciones Java compatible con
Tomcat que incluye herramientas empresariales. Es un servidor liviano,
optimizado para ambientes virtualizados, que incluye un template con
Gemfire para gestionar sesiones compartidas entre todas sus instancias.
No importa a cual servidor ingrese el usuario, sus datos de sesin
estarn siempre disponibles.
vFabric RabbitMQ es el gestor de mensajera ms conocido del
mercado con soporte VMware.
vFabric SQLFire es una base de datos en memoria, con capacidad de
escalar en forma horizontal y soporte JDBC y ADO.NET.
vFabric Postgres es la base de datos empresariales optimizada para
ambientes virtualizados.

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

Desarrollo de tecnologas para aplicaciones web


La vista de desarrollo se centra en la organizacin real de los mdulos
del software en el ambiente de desarrollo del mismo. El software se
empaqueta en partes pequeas (componentes, bibliotecas, subsistemas)
que a su vez se relacionan entre s. En el desarrollo de las aplicaciones
Web se utilizan una gran variedad de tecnologas para poder satisfacer
los requerimientos (funcionales y no funcionales) de la aplicacin. En la
vista de desarrollo para una aplicacin Web hay que destacar ciertos
detalles, tales como:

Mapa de navegacin: permite tener una vista general de todas las


pginas que contiene la aplicacin y la relacin que existe entre estas.
Tcnicas de administracin de sesiones de usuario: permiten tener
un control sobre el acceso del usuario a la aplicacin.
Tecnologas para le generacin de pginas de aplicacin: son
tecnologas utilizadas para la generacin de pginas dinmicas por
medio de un lenguaje de programacin.
Tcnicas de seguridad en los distintos niveles: son tcnicas que
permiten la proteccin de los datos del usuario y limitan el acceso a
usuarios no autorizados.
Varias pginas Web son relacionadas para formar una aplicacin Web. Es
necesario verificar peridicamente las ligas entre diferentes pginas
para evitar la falta de disponibilidad de las diferentes partes de la
aplicacin Web. Estos problemas son considerados como bugs o errores
en el sistema.

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

Un entorno de desarrollo integrado (IDE - Integrated Development


Environment -) es una aplicacin de software que ofrece servicios
integrales a los programadores de computadoras para el desarrollo de
software.
Un IDE normalmente se compone de:
Un editor de texto
Un compilador.
Un intrprete.
Herramientas de automatizacin.
Un depurador.
Posibilidad de ofrecer un sistema de control de versiones.
Factibilidad para ayudar en la construccin de interfaces grficas
de usuario.

Para PHP se tienen las siguientes herramientas:

Zend Studio

Open Komodo Project

Eclipse + phpEclipse

DreamWeaver es una herramienta que permite trabajar con:

ASP JavaScript

ASP VBScript

ASP.NET C#

ASP.NET VB

COLDFUSION

JSP

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

Investigacin:

PHP MySQL

Joomla es un Sistema de Gestin de Contenidos (CMS) que le ayuda a


construir sitios web y otras aplicaciones online potentes.

WordPress es un sistema de gestin de contenido enfocado a la


creacin de blogs (sitios web peridicamente actualizados). Desarrollado
en PHP y MySQL.

ORLANDO MOGUEL BALAM


PROGRAMACION WEB

S-ar putea să vă placă și