Pergunta

Eu deparei com a seguinte frase:

Como a indústria passou de três modelo de camada para modelos n-tier, o objeto relacional diferença de impedância tornou-se mais prevalente.

Mas eu não consigo encontrar uma explicação concisa da diferença entre três níveis e n-tier. Eu sei o que é de três camadas, e eu assumo n-tier apenas acrescenta uma ou mais camadas. Eu não sou apenas certo o que essas camadas adicionais seria. Se alguém tem uma breve explicação ou simplesmente um bom link, que seria muito apreciado.

Foi útil?

Solução

A citação parece ser a partir deste href="http://www.codeproject.com/KB/showcase/object_relational_mapping.aspx" rel="noreferrer"> codeproject página . Ele também parece fazer um trabalho muito bom de explicar n-tier para incluir coisas como serviços web, javascript, fluxos de trabalho, etc. Todas as coisas que os modelos 3-tier não incluem necessariamente.

Outras dicas

No desenvolvimento entendemos uma camada como um " nível de responsabilidade " abstração.

Tal nível de conceitos grupos de responsabilidade em conjunto para fornecer uma visão semântica coerente da realidade, ou pelo menos algo semelhante à realidade.

Nesse sentido, os chamados, modelo 3-tier ou n-tier modelos são apenas diferentes implementações de que os conceitos.

Um exemplo bom de um nível segue o modelo jerarquical onde as responsabilidades são cuidadosamente dirigida para as pessoas apropriadas. Por exemplo, uma empresa comum tem Comercial, Marketing, Sistemas, Desenvolvimento e departamento de teste (por exemplo), que representam níveis de negócio. Dessa forma, as responsabilidades são claras, Desenvolvimento fornece o produto, teste de testá-lo, Marketing promovê-lo e venda comercial, todos os que, enquanto os sistemas manter a infra-estrutura em execução (é apenas um exemplo).

Essa metáfora foi abordado pela primeira vez com o modelo 3-tier, onde são identificados três níveis. Normalmente este camadas são Banco de Dados Abstraction Layer , que é responsável pela comunicação e abstração sobre o banco de dados, Layer Business Rules , que contém as regras que descrevem o processo de negócio e user interface Camada que abstrai a interação do usuário com o sistema.

Dessa forma, temos papéis para as responsabilidades de cada camada, de modo que se o usuário precisa para interagir com o sistema que ele irá se comunicar com uma camada, não estragar todo o sistema buraco.

N-tier representa uma evolução do antigo conceito usando mais camadas para necessidades de endereços específicos. Normalmente camada de interface de usuário e camada de abstração de banco de dados são deixados intocados, como seus papéis são bastante claras enquanto a camada de regras de negócios é ainda mais refinado.

Por isso, nós sempre levar em conta as características do problema, bem como as características queremos proporcionar agora e no futuro. Por exemplo, se um aplicativo terá de trabalho com os clientes inteligentes ou seu prevista para trabalhar com clientes inteligentes, em seguida, camada de negócios é normalmente dividido em uma camada de proxy e uma camada de back-end, o primeiro encaminhamento das chamadas para onde devem ir.

No final, o que é importante é o conceito de abstrair responsabilidades entre camadas diferentes, e centralizar todas as operações relacionadas a partir de uma visão semântica no mesmo lugar.

Note que, além disso, a arquitetura n-tier permite a distribuição dessas "responsabilidades" entre os desenvolvedores. Dessa forma, uma determinada equipe pode ter responsabilidade sobre o banco de dados camada de abstração, enquanto outra equipe trabalha sobre a Camada de Proxy e Outro trabalha na camada de gráficos Abstraction. Quando um membro de uma equipe necessidades para acessar o banco de dados que ele procure a documentação DAL e usar uma das facilidades oferecidas ou pedir a equipe DAL para fornecer com a funcionalidade que ele precisa, de modo que ele não aborda diretamente o banco de dados, mas através das pessoas que mais conhecidos do desenho e meandros do próprio banco de dados.

Se olhamos para níveis como sendo camadas de um bolo; cada camada teria é próprios ingredientes e fazê-lo é possuir coisas. As camadas de cada aplicação interagem apenas com a camada acima, ou abaixo dela.

3 meios de camada do bolo tem 3 camadas. Geralmente é de dados na parte inferior, em seguida, uma camada de lógica de aplicação (PHP / Ruby / etc), e em seguida, uma camada de apresentação no topo (html)

Ter um meio arquitetura n-tier você projeta algo camada de múltiplas camadas para ele. O número de camadas que você vai depender de como você decidir fazê-lo.

Parece fazer muito mais sentido com maiores ou aplicações web.

Eu geralmente acabam com uma aplicação de 5 camadas. Cada nível só pode interagir com o um acima ou abaixo dela. Isso pode proporcionar extensibilidade fantástico e padronização em sua aplicação.

Camada Cliente

Navegador Web


camada de apresentação

Render o HTML -. Coldfusion / Flash / Ruby / PHP, etc


Business Logic Nível

Executar os processos e cálculos conforme necessário -. Coldfusion / Flash / Ruby / PHP, etc


Integração de Dados de Nível

(Consultas de minha língua Desenvolvimento, Stored Procedures, etc.)


Camada de Dados

(Banco de dados - MySQL, etc)

n-tier implica n é qualquer número -. Quando n = 3, então é o mesmo que n-tier

A definição usual de 3-tier é apresentação, lógica e dados (em qualquer ordem), e sim, SOA pode confundir o neófito, porque às vezes ele se senta na camada de dados, por vezes, a camada de lógica e, por vezes, a lógica e dados tiers .

Todo o assunto é ... subjetivo. Se você precisa de alguns níveis, em seguida, chamá-lo de n-tier -. Se você sabe que n = 7, em seguida, chamá-lo de 7 camadas, ou n-tier

Ei, eu não posso mesmo ter uma definição de 3 camadas. Às vezes, eles javascript desconto sobre o cliente e, por vezes javascript no cliente e navegador web o cliente são consideradas outra camada. Assim, uma página ASP que fala com um banco de dados pode ser de 3 camadas se você assumir database = Tier 3, servidor web = nível 2, navegador web client = nível 1. E outras vezes servidor web = tier 1, middleware = nível 2, banco de dados = nível 3. Isso realmente depende de quem está escrevendo a definição / livro.

n camadas geral parece referir-se a divisão a camada de middleware-se mais. Mas fora isso não vejo definições consistentes.

Onde é que citação de? O que a indústria eles estão se referindo? Eu teria de imaginar que isso tem algo a ver com SOA porque essa é a única coisa que faz sentido para este tipo de declaração.

A maioria das pessoas que ouvi que fazem esse tipo de declaração acreditam que em um domínio orientada a serviços cada serviço é de alguma forma a sua própria camada. Eu discordo, como na maioria das vezes estes serviços diferentes podem ser agrupados logicamente para o comum três níveis de qualquer forma (apresentação, lógica e dados). Mas, novamente, é tudo muito subjetivo.

oi pls verificar este link, assim que u pode obter uma boa idéia sobre este

http://msdn.microsoft.com/en-us/library /ms973829.aspx

Este capítulo Wiki-livro sobre arquitetura de aplicação é um guia simples de camadas, camadas, e decidir o que você precisa para uso.

Sem ver a frase no contexto, eu suponho que se refere à explosão de serviços e middleware.

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