Aplicações web N-Tier

Aplicações em camadas N-tier são aplicações em que cada camada deve conhecer e acessar apenas a camada imediatamente abaixo dela. Essa abordagem oferece muitas vantagens, mesmo para aplicações monolíticas como uma aplicação VCL usando um servidor de banco de dados embutido.

Quando as camadas estão fisicamente separadas, é ainda melhor. Uma aplicação típica 2-tier é uma aplicação cliente/servidor VCL conectada a um servidor de banco de dados compartilhado. Nesse caso, ambos os níveis são claramente identificáveis e separados.

Criar a aplicação web equivalente com uniGUI automaticamente criará uma 3ª camada, executando-se fisicamente no navegador, criada dinamicamente e transmitida ao navegador do cliente a partir da aplicação uniGUI.

O desenvolvedor deve estar ciente dessa separação física entre a camada de apresentação e a camada de negócios (independentemente de quão boa seja em termos de Design Orientado a Objetos). Na nova aplicação, parte do código é executada no cliente, enquanto outro código é executado no servidor. Existem eventos do lado do cliente, eventos do lado do servidor e requisições AJAX dinâmicas vindas do cliente que devem ser atendidas pelo servidor.

Uma diferença muito importante é o caráter assíncrono da típica aplicação web. A aplicação servidor renderiza dinamicamente a página web do cliente e espera por eventos dos clientes de todas as sessões; ela não deve esperar em um loop de mensagens por uma sessão específica como as aplicações VCL fazem.

Também é importante entender como interagir com grandes quantidades de dados — na maioria dos casos essas aplicações exigem um servidor de banco de dados compartilhado no back-end.