Arquitectura web 2.0
A web 2.0 tamén se chama web dinámica. A palabra dinámica refírese a que os elementos cambian continuamente, son interactivos en lugar de só simplemente informativos. Esta en comparación coa web estática é máis complexa en canto ao seu deseño e desenvolvemento, pero tamén máis versátil en canto a funcionalidade que ofrece. Estes sitios web dinámicos tamén son coñecidos como aplicacións web (webapps).
As aplicacións web baséanse nunha arquitectura cliente/servidor, onde por un lado está o cliente, que será o navegador web, e polo outro lado está o servidor, que é o servidor web.
Aínda que existen moitas variacións posibles, unha aplicación web está normalmente estruturada como unha aplicación multicapa, máis habitualmente como unha aplicación de tres capas, onde:
- Primeira capa: navegador web.
- Segunda capa ou capa intermedia: motor que sexa capaz de usar algunha tecnoloxía web dinámica, como PHP, Python, etc.
- Terceira capa: a base de datos.
Funcionamento
Coa chegada deste novo concepto de web, era necesario xerar os documentos HTML de xeito dinámico para ofrecer unha vista máis personalizada. Para iso apareceron as linguaxes de script que se executan no servidor, e xeran os documentos HTML xenéricos dependendo da petición realizada e da información gardada nunha base de datos.
No seguinte diagrama establecese o funcionamento da arquitectura que permite esta funcionalidade:

- O usuario a través de un navegador web, ingresa unha URL para realizar unha petición HTTP solicitando un recurso.
- Envíase a petición HTTP ao porto 80 (ou 443 se se utiliza o protocolo HTTPS) do servidor web da URL solicitando un recurso. O servidor redirixe a petición a un servidor web.
- O servidor web busca no sistema de ficheiros o recurso solicitado, neste caso é un script dunha linguaxe de lado servidor.
- O servidor web envía o script ao seu correspondente intérprete.
- O intérprete executa o script.
- Xeralmente os scripts realizan consultas ao sistema xestor de base de datos. O sistema xestor de base de datos reenvía os datos requiridos tras executar a consulta correspondente. Ademais de consultas tamén pode modificar datos.
- O intérprete procesa os datos recibidos (se é que recibe algún) e xera un documento HTML que lle envía ao servidor web.
- O servidor web envía a resposta HTTP ao navegador solicitante co correspondente ficheiro HTML no corpo da resposta.
- O navegador web renderiza o ficheiro HTML e mostra o seu resultado ao usuario.
Do mesmo xeito que se realizaba nas arquitecturas anteriores, se o servidor recibe unha petición dun recurso estático (elementos enlazados), este buscará dito recurso no sistema de ficheiros e reenviarao ao cliente.
Patrón MVC
O patrón MVC ou Modelo-Vista-Controlador é un patrón de arquitectura software, que separa os datos e a lóxica de negocio dunha aplicación da interface do usuario e o módulo de xestionar os eventos e as comunicacións. Ten tres compoñentes:
- Modelo: define os datos que debe conter unha aplicación. Xeralmente utilízase unha base de datos para realizar persistencia de ditos datos. Nesta arquitectura o modelo serían os datos que contén a base de datos.
- Controlador: invoca consultas ao modelo cando se fai algunha solicitude de información por parte dos usuarios da aplicación e contén a lóxica de negocio que actualiza o modelo e/ou a vista en resposta as entradas dos usuarios da aplicación. Nesta arquitectura o controlador serían os scripts que se executan no servidor.
O termo lóxica de negocio é a parte dun sistema que se encarga de codificar as regras de negocio do mundo real que determinan como a información pode ser creada, almacenada e cambiada.
Son rutinas que realizan entrada de datos, consulta de datos, xeración de informes e máis especificamente o procesamento que se realiza detrás da aplicación visible do usuario (backend)
- Vista: define como se deben de mostrar os datos da aplicación nun formato adecuado para o usuario final e permite a este interactuar coa aplicación. Nesta arquitectura a vista serían os documentos HTML.
O seu funcionamento nunha arquitectura tradicional é a seguinte:
