Pergunta

Pelo que entendi, podemos dizer que arquitetura de três camadas significa projetos separados para cada preocupação.Essas camadas de UI, camada de negócios e camada de dados.UI fala com BL e BL fala com DB e vice-versa.Isso é bom para a manutenção e a ideia de separação de preocupações é razoável.Mas, por outro lado, as camadas são diferentes das camadas.Ou seja, as camadas estão diretamente relacionadas às máquinas/rede.Quero dizer, quando dizemos 2 camadas, geralmente é uma máquina cliente e uma máquina servidor de banco de dados.Quando dizemos 3 camadas, geralmente é uma máquina cliente, uma máquina servidora de aplicativos e uma máquina servidora de banco de dados.Portanto, em termos dessas informações, é possível desenvolver aplicativos de duas camadas que usem arquitetura de três camadas.

Até agora, usei 3 camadas, mas é hora de decidir se devemos desenvolver em 3 ou 2 camadas.Haverá projeto windows form em campo e cerca de 150 clientes e 100 terminais manuais que usarão o projeto windows form e se comunicarão por meio de serviços web.Em terminais manuais, é óbvio que a melhor solução é usar três camadas, mas para clientes Windows que rodarão no Windows 7, é difícil decidir se devemos conversar com o banco de dados em um servidor de aplicativos ou conectar-nos diretamente ao banco de dados.

A questão principal aqui são quais são os benefícios da arquitetura de 3 camadas em relação à de 2 camadas.Para mim, mais uma camada significa mais um servidor/host/máquina que precisa estar funcionando o tempo todo, o que pode ser uma sobrecarga.

Por favor, oriente-nos para escolher a melhor arquitetura de nível.

Foi útil?

Solução

Eu só recomendaria usar um '3 nível' (cliente, servidor de aplicativos e servidor de banco de dados) se você estiver fazendo alguma tarefa importante no servidor de aplicativos que consomem de outra forma os recursos disponíveis para executar uma plataforma de banco de dados.Por exemplo, pool de conexões ou software de gerenciamento de conexão em execução entre o aplicativo (camada de negócios) e o servidor de banco de dados (camada de dados).

Outras dicas

Digamos que você tenha estes componentes:UI, Common, Biz, DAL

No desenvolvimento de aplicativos de 2 ou 3 camadas, você implanta UI e Common sobre client e Common, Biz , DAL sobre server (preste atenção que o comum está implantado em ambos) e você tenta se conectar ao seu BIZ via .Net Remoting ou WCFE, finalmente, o banco de dados pode estar no servidor ou em outros servidores da última camada.

Eu espero que isso ajude

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top