Una
aplicacin
Web es proporcionada por un servidor Web y utilizada por usuarios que se Conectan desde
cualquier punto va clientes Web (browsers o navegadores). La arquitectura de un Sitio Web tiene tres
componentes principales:
Un servidor Web
Uno o ms clientes
El servidor Web distribuye pginas de informacin formateada a los clientes que las solicitan.
Los requerimientos son hechos a travs de una conexin de red, y para ello se usa el protocolo HTTP. Una
vez que se solicita esta peticin mediante el protocolo HTTP y la recibe el servidor Web, ste localiza la
pgina Web en su sistema de archivos y la enva de vuelta al navegador que la solicit.
Las aplicaciones Web estn basadas en el modelo Cliente/Servidor que gestionan servidores web, y que
utilizan como interfaz pginas web.
Las pginas Web son el componente principal de una aplicacin o sitio Web. Los browsers
piden pginas (almacenadas o creadas dinmicamente)
con informacin a los servidores Web. En algunos ambientes de desarrollo de aplicaciones Web,
las pginas contienen cdigo HTML y scripts dinmicos, que son ejecutados por el servidor antes de
entregar la pgina.
Una vez que se entrega una pgina, la conexin entre el browser y el servidor Web se rompe, es decir que
la lgica del negocio en el servidor solamente se activa por la ejecucin de los scripts de las pginas
solicitadas por el browser (en el servidor, no en el cliente). Cuando el browser ejecuta un script en el
cliente, ste no tiene acceso directo a los recursos del servidor. Hay otros componentes que
no son scripts, como los applets (una aplicacin especial que se ejecuta dentro
de un navegador) o los componentes ActiveX. Los scripts del cliente son por lo general cdigo
JavaScript o VBSscript, mezclados con cdigo HTML.
La coleccin de pginas son en una buena parte dinmicas (ASP, PHP, etc.), y estn
agrupadas lgicamente para dar un servicio al usuario. El acceso a las pginas est agrupado tambin en
el tiempo (sesin). Los componentes de una aplicacin Web son:
1. Lgica de negocio.
Manipulacin de BD y archivos.
3. Interfaz
Modelo de dos capas: La informacin atraviesa dos capas entre la interfaz y la administracin de los datos.
Modelo de n-capas: La informacin atraviesa varias capas, el ms habitual es el modelo de tres capas.
Modelo de dos Capas.
Cliente (fat client): La lgica de negocio est inmersa dentro de la aplicacin que realiza el interfaz de usuario, en
el lado del cliente.
Es difcilmente escalable
La flexibilidad es restringida
La funcionalidad es limitada.
Esta diseada para superar las limitaciones de las arquitecturas ajustadas al modelo de dos
capas, introduce una capa intermedia (la capa de proceso) Entre presentacin y los datos,
los procesos pueden ser manejados de forma separada a la interfaz de usuari o y a los datos, esta
capa intermedia centraliza la lgica de negocio, haciendo la administracin ms sencil a, los datos se
pueden integrar de mltiples fuentes, las aplicaciones web actuales se ajustan a este modelo.
Generan la presentacin
Recupera datos
1.2 tecnologias
Las fases de un desarrollo web, as como los lenguajes de programacin usados,
son muy extensos y variados, y por ello necesitamos herramientas especficas para
cada una de ellas. Conoceremos a continuacin las principales herramientas
existentes para poder desarrollar fcilmente un proyecto web.
En el desarrollo web tenemos unas herramientas para el diseo, otras para la
maquetacin, otras para la programacin, y para la depuracin. Todas las
herramientas que usemos son muy importantes, desde el Sistema Operativo hasta
el comando ms insignificante, y por ello debemos elegir la ms adecuada a
nuestras necesidades y capacidades.
Para elegir las herramientas a utilizar, antes debemos identificar las fases del
proceso que forman el ciclo de vida de un desarrollo web.
Diseo:
saltarse la fase anterior para comenzar directamente con esta fase, dependiendo de
si dominamos herramientas como Photoshop o no.
Programacin cliente:
Web 2.0.
Programacin servidor:
En esta fase, que se desarrolla junto con la anterior, crearemos la aplicacin web
en un lenguaje de servidor, como puede ser PHP, ASP .NET, Python, Perl, etc.
Depuracin:
Esta fase enlaza la anterior con la siguiente, y es donde haremos las pruebas
unitarias, aserciones, trazas, etc.
Pruebas en local:
Una vez nuestra web est completada y bien testeada en nuestro servidor local
(desarrollo), la subiremos al servidor del hosting elegido (produccin). Dependiendo
del hosting, podremos usar FTP, SFTP (SSH), WebDAV, o incluso
Subversin.
Pruebas en hosting:
Realizaremos las ltimas pruebas en el servidor del hosting para comprobar que el
cambio de servidor no ha afectado a nada. Para evitar problemas, nuestro servidor
local debe tener exactamente la misma configuracin que el servidor del hosting.
Herramientas: desarrollo en PHP
Adobe PhotoShop
GIMP:
Inkscape
Adobe Fireworks
Dreamweaver, Aptana, Amaya:
Fase: maquetacin
Fases: maquetacin, programacin cliente
Fase: programacin servidor
Apache
Firefox / Firebug / Web Developer Extension
Una vez hayamos concluido todas las fases anteriores, y nuestro proyecto est
listo, deberemos subirlo al servidor del hosting.
La herramienta a utilizar depender de las opciones que nos ofrezca el hosting,
que desgraciadamente en la mayora de los casos es solamente el antiguo FTP
(FileZilla). En Dreamweaver y Zend Studio tenemos un cliente FTP y SFTP (SSH),
y la tarea consistir simplemente en configurar el FTP y copiar y pegar los
directorios que queramos subir.
1.4 planeacin
1. Planificar el futuro
Puede sonar un poco duro que nos tengamos planear el futuro de algo que an no
existe pero es as, que pasa si en un futuro tuvieramos problemas de escalabilidad, y s
tuvieramos que migrar las bases de datos de MySql a Oracle, de una buena planificacin
depende la dificultad en un futuro de realizar cambios en la plataforma que
sostiene nuestra aplicacin.
2. Documentacin
Documenta todo lo que puedas tu aplicacin en especial aquellas partes de la misma que
hayan requerido un mayor tiempo de desarrollo, en un futuro cercano te librar de ms de
un quebradero de cabeza.
4. Diseo de la interfaz
Esta entrada puede que te ayude en esta parte, es importante conseguir un buen diseo
para nuestra interfaz, es importante conseguir un interfaz que se atractivo y til para la
gran mayoria de los usuarios, lo ms importante es llegar a conectar con el usuario y la
mejor manera es ofrecerle la mayor cantidad de informacin posible para que se llegue a
sentir parte del proyecto pero todo esto muchas veces no lo llegamos a conseguir por una
mala eleccin en la combinacin de los colores que se integran en nuestra interfaz.