Pergunta

Será que 2 camadas ser uma opção válida para este cenário:

  1. banco de dados SQL Server
  2. o negócio nunca iria exigir mais do que um par de centenas de conexões simultâneas ao banco de dados compartilhado em uma LAN
  3. o fato de que (eu acredito) é muito menos esforço para desenvolver um tier 2
    aplicação
  4. As atualizações do programa do cliente automatizados através da LAN

Nenhuma solução correta

Outras dicas

Uma solução 2-tier pode ser mais fácil de desenvolver, mas será mais difícil de manter, se o pedido for de qualquer tamanho e / ou complexidade.

Se esta aplicação vai ser importante para o negócio e no local por um período significativo de tempo, eu acho que você vai encontrar o tempo extra gasto separando sua apresentação, lógica de negócios e acesso a dados em suas próprias camadas será reembolsado quando chega a hora de consertar as coisas, alterar a lógica, ou estender o aplicativo.

Esta é uma daquelas perguntas que você provavelmente vai ter tantas opiniões diferentes quanto respostas.

Pode ser mais fácil para desenvolver no início, mas eu também acho que vai custar-lhe a longo prazo se o projeto não é uma ferramenta trivial apenas para uso interno.

Se vai ou não precisa de 3 camadas deve depender de quanto tempo você está indo para manter o projeto e quantos recursos / atualiza você está planejando para ele mais tarde. Ele também pode depender de quantos erros você está disposto a aceitar (e correção). IMO três camadas tende a criar um software mais estável.

Ambas as respostas parecem ser quase dizendo que é um acéfalo que 3 níveis é uma solução superior. talvez

Rockford Lhotka parece estar argumentando que você deve ir com 2-tier, a menos o custo benefício análise da sua situação particular se resume a favor de 3 camadas.

ele diz:

Como um bom arquiteto deve ser arrastadas, chutando e gritando em adicionando camadas para o seu sistema.

Segurança ele sugere é a única área em que uma solução de 3 camada é claramente superior.

E ele argumenta que

Pior, limites adicionar complexidade cru para design de software, infraestrutura de rede, gerenciamento e manutenção geral de um sistema. Em suma, quanto mais camadas em um aplicativo, o mais complexidade que existe para lidar com -. O que aumenta diretamente o custo para construir e manter a aplicação

Finalmente, no que diz respeito a escalabilidade, eu gostaria de saber se é verdade que se você usar conjuntos de registros desconectados no ADO para acesso a dados que você tem o pool de conexão por padrão e, portanto, um alto grau de escalabilidade de qualquer maneira?

Copiado do livro Charles Williams' Professional Visual Basic 6 Bancos de dados: -

2-Tier vs N-fileira

A escolha entre um 2-tier e n-tier modelos parece ser o que está em povos mentes. Há tantas variáveis ??para fator na equação (incluindo preferência) que nenhum livro pode determinar a melhor estrutura para o seu modelo cliente-servidor. Alguns desses variáveis ??podem incluir:

A flexibilidade e poder de seu servidor de banco de dados escolhido. hoje servidores de banco de dados são capazes de manipulação de centenas ou mesmo milhares de conexões simultâneas sem se mover para uma arquitetura de 3 camadas.

A potência e versatilidade da caixa CPU do servidor. O mais poderoso a CPU mais rápida é a vontade servidor lidar com as tarefas solicitadas.

Quanto rendimento está sendo executado no servidor e quantas consecutivo existem ligações. Você pode ter poucos ou muitas conexões e cada conexão pode estar passando poucos ou muitos pedidos.

O fator econômico. Quanto você está disposto a gastar em seu sistema. Tipicamente, um sistema n-camadas custará mais para desenvolver e manter. Se vocês pode conviver com uma solução 2-tier você pode salvar uma grande quantidade de dinheiro.

Para mim, isso parece sugerir que a menos que você está desenvolvendo para uma aplicação (muito popular) baseado na web que tier 2 pode ser a escolha mais lógica.

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