Você deve ter ouvido a palavra “camada” ao pesquisar aplicativos da Internet. Uma camada é como uma camada em um bolo de casamento. Um bolo pode ter várias camadas e um aplicativo da Web pode ter várias aparências que executam tarefas diferentes. Se sua empresa tem um site, e mesmo que não tenha, isso pode ajudá-lo a aprender como os desenvolvedores da Web modernos usam camadas, como a camada da Web, para construir sites que você pode ver diariamente.
Arquitetura do Sistema
A arquitetura do sistema descreve um sistema e seus componentes. Aplicativos, como sites, são sistemas que podem ser tão simples quanto uma página da Web ou tão complexos quanto o site da Casa Branca. Os desenvolvedores da Web geralmente criam aplicativos que usam o modelo de arquitetura de três camadas. Ao usar esse modelo, os desenvolvedores separam os componentes de um aplicativo em uma camada da Web ou de apresentação, uma camada de serviços de negócios e uma camada de dados. Esses rasgos não representam locais específicos em um computador, disco rígido ou rede. Em vez disso, eles definem representações lógicas de componentes discretos que constituem um aplicativo.
Benefícios de nível
A abordagem de design de três camadas tem benefícios que podem ajudar as empresas que possuem aplicativos a economizar dinheiro, aumentar a produtividade e gerenciar seus aplicativos de forma mais eficaz. Projetos de três camadas aumentam a flexibilidade de um aplicativo e permitem que as pessoas que os implantam reutilizem o código existente e escalem seus aplicativos quando necessário. Como os componentes são reutilizáveis, você pode compartilhá-los com outras pessoas que possam precisar de funcionalidades específicas fornecidas por seus componentes.
Camada da web
Muitos internautas estão familiarizados com a importantíssima camada da Web, também conhecida como camada de apresentação. A camada de apresentação gerencia a comunicação entre o navegador da Web de uma pessoa e um servidor da Web. Seu navegador, por exemplo, pode conter JavaScript do lado do cliente que é executado localmente no navegador. O servidor Web, por outro lado, recebe solicitações do navegador e retorna respostas a elas. Um servidor da Web também pode conter um ou mais serviços da Web que podem se comunicar com navegadores e aplicativos de desktop.
Camada de serviços empresariais
Se você criou um sistema de três camadas, sua camada de serviços de negócios conteria o código que contém a lógica necessária para impor as regras de negócios e dados de sua organização. Por exemplo, um módulo em sua camada de serviços de negócios pode examinar um valor que um visitante do site digitou em uma caixa de texto "Imposto sobre vendas". A lógica de programação do módulo poderia então determinar se esse era um valor válido com base nas regras que você definiu. Se o valor fosse inválido, o módulo poderia informar a camada de apresentação que o valor era inválido. O código na camada de apresentação pode, então, exibir uma mensagem de erro no navegador da pessoa.
Camada de dados
Provavelmente, você precisará de um repositório de dados para armazenar informações se o site da sua empresa gerencia dados. Este repositório pode ser um banco de dados ou algum outro mecanismo de armazenamento de dados. O código na camada de dados tem uma única função: gerenciar os dados. Ele faz isso usando o código que você escreve que dá à camada de dados a capacidade de inserir, atualizar e excluir dados de seu repositório. Se o valor do imposto sobre vendas descrito na seção anterior for válido, a camada de negócios pode solicitar que a camada de dados insira essas informações em um banco de dados.
Juntando tudo
Como você pode ver nas descrições das três camadas, elas existem como unidades lógicas separadas que interagem para criar um aplicativo, como um site baseado em dados. Como o modelo de arquitetura multicamadas separa esses componentes, você pode trocar os componentes quando necessário. Por exemplo, se sua camada de dados gerencia dados em um banco de dados SQL, você pode apontá-lo para um banco de dados Oracle, se necessário, sem fazer nenhuma alteração em sua camada da Web ou em seus serviços de negócios, uma vez que eles não sabem nada sobre como a camada de dados gerencia seus dados.
Considerações
Você não precisa usar um modelo de três camadas para projetar o site da sua empresa. Algumas pessoas com sites mais simples omitem a camada de serviços de negócios e colocam seu código na camada da web. Outras pessoas podem até mesmo eliminar a camada de dados e colocar tudo na camada da web. Nesses casos, todo o site consiste em código do lado do cliente executado em um navegador e todos os outros códigos executados em um servidor web.