O que é N-Tier?
Um programa de aplicativo N-Tier é aquele que é distribuído entre três ou mais computadores separados em uma rede distribuída.
A forma mais comum de n camadas é o aplicativo de 3 camadas e é classificado em três categorias.
- Programação da interface do usuário no computador do usuário
- Lógica de negócios em um computador mais centralizado e
- Dados necessários em um computador que gerencia um banco de dados.
Este modelo de arquitetura fornece aos Desenvolvedores de Software a criação de aplicativos / sistemas reutilizáveis com o máximo de flexibilidade.
Em N camadas, "N" refere-se a um número de níveis ou camadas estão a ser utilizados como - 2 camadas, três camadas ou quatro camadas, etc . É também chamada de “ Arquitetura Multi-Camada” .
A arquitetura de n camadas é um modelo de arquitetura de software comprovado pelo setor. É adequado para oferecer suporte a aplicativos cliente-servidor de nível empresarial, fornecendo soluções de escalabilidade, segurança, tolerância a falhas, reutilização e manutenção. Ajuda os desenvolvedores a criar aplicativos flexíveis e reutilizáveis.
Neste tutorial, você aprenderá-
- O que é N-Tier?
- Arquitetura N-Tier
- Tipos de arquiteturas N-Tier
- Arquitetura de 3 camadas
- Arquitetura de 2 camadas
- Arquitetura de camada única ou 1 camada
- Vantagens e desvantagens das arquiteturas multicamadas
- Dicas e desenvolvimento de arquitetura N-Tier
Arquitetura N-Tier
Uma representação esquemática de um sistema de n camadas descreve aqui - camadas de apresentação, aplicativo e banco de dados.
Essas três camadas podem ser subdivididas em diferentes subcamadas, dependendo dos requisitos.
Alguns dos sites populares que aplicaram essa arquitetura são
- MakeMyTrip.com
- Aplicativo corporativo da Força de Vendas
- Ferrovias indianas - IRCTC
- Amazon.com, etc.
Alguns termos comuns a lembrar, para entender o conceito de forma mais clara.
- Rede Distribuída: É uma arquitetura de rede, onde os componentes localizados nos computadores da rede coordenam e comunicam suas ações apenas passando mensagens. É uma coleção de vários sistemas situados em nós diferentes, mas aparece para o usuário como um único sistema.
- Ele fornece uma única rede de comunicação de dados que pode ser gerenciada separadamente por diferentes redes.
- Um exemplo de Rede Distribuída - onde diferentes clientes são conectados dentro da arquitetura LAN de um lado e do outro lado eles são conectados a switches de alta velocidade junto com um rack de servidores contendo nós de serviço.
- Arquitetura Cliente-Servidor: É um modelo de arquitetura onde o cliente (um programa) solicita um serviço de um servidor (outro programa), ou seja, é um serviço de solicitação-resposta prestado pela internet ou por uma intranet.
Neste modelo, o Cliente servirá como um conjunto de programa / código que executa um conjunto de ações na rede. Já o Servidor , por outro lado, é um conjunto de outro programa, que envia os conjuntos de resultados ao sistema cliente conforme solicitado.
- Nesse caso, o computador cliente fornece uma interface para um usuário final solicitar um serviço ou recurso de um servidor e, por outro lado, o servidor processa a solicitação e exibe o resultado ao usuário final.
- Um exemplo de modelo cliente-servidor - uma máquina ATM. Um banco é o servidor para processar o aplicativo nos grandes bancos de dados do cliente e a máquina ATM é o cliente que possui uma interface de usuário com algum processamento de aplicativo simples.
- Plataforma: na ciência da computação ou na indústria de software, uma plataforma é um sistema no qual um programa de aplicativo pode ser executado. Consiste em uma combinação de hardware e software que possui uma instrução embutida para que processadores / microprocessadores realizem operações específicas.
- Em palavras mais simples, a plataforma é um sistema ou uma base onde qualquer aplicativo pode ser executado e executado para obter uma tarefa específica.
- Um exemplo de plataforma - uma máquina pessoal carregada com Windows 2000 ou Mac OS X como exemplos de 2 plataformas diferentes.
- Banco de dados: É um conjunto de informações de forma organizada para que possam ser facilmente acessadas, gerenciadas e atualizadas.
- Exemplos de banco de dados - MySQL, SQL Server e Oracle Database são alguns Dbs comuns.
Tipos de arquiteturas N-Tier
Existem diferentes tipos de arquiteturas N-Tier, como Arquitetura de 3 camadas, Arquitetura de 2 camadas e Arquitetura de 1 camada.
Primeiro, veremos a Arquitetura de 3 camadas, que é muito importante.
Arquitetura de 3 camadas
Observando o diagrama abaixo, você pode identificar facilmente que a arquitetura de 3 camadas possui três camadas diferentes.
- Camada de apresentação
- Camada de lógica de negócios
- Camada de banco de dados
Aqui, pegamos um exemplo simples da forma do aluno para compreender todas essas três camadas. Ele contém informações sobre um aluno, como - Nome, Endereço, E-mail e Foto.
Camada de interface do usuário ou Camada de apresentação
Camada de apresentação
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){// Object of the Property layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString());// In this following code we are calling a function from the business layer and// passing the object of the property layer which will carry the ID till the database.ds=objbs.GetAllStudentBsIDWise(objproperty);// What ever the data has been returned by the above function into the dataset//is being populate through the presentation laye.txtId.Text=ds.Tables[0].Rows[0][0].ToString();txtFname.Text=ds.Tables[0].Rows[0][1].ToString();txtAddress.Text=ds.Tables[0].Rows[0][2].ToString();txtemail.Text=ds.Tables[0].Rows[0][3].ToString();
Explicação do código
- O código acima define o design básico de uma visão de front-end de aplicativos, bem como a chamada de funções de outras camadas para que possam ser integradas umas às outras.
Camada de acesso comercial -
Esta é a função da camada de negócios que aceita os dados da camada de aplicativo e os passa para a camada de dados.
- A lógica de negócios atua como uma interface entre a camada do cliente e a camada de acesso a dados
- Todas as lógicas de negócios - como validação de dados, cálculos, inserção / modificação de dados são gravadas na camada de lógica de negócios.
- Torna a comunicação mais rápida e fácil entre o cliente e a camada de dados
- Define uma atividade de fluxo de trabalho adequada, necessária para concluir uma tarefa.
// this is the function of the business layer which accepts the data from the//application layer and passes it to the data layer.public class clsStudentInfo{public DataSet GetAllStudentBsIDWise(clsStudent obj){DataSet ds=new DataSet();ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer functionreturn ds;}}
Explicação do código
O código está usando a função de camada de negócios, que aceitará os dados para a camada de aplicativo e os repassará para a camada de dados. Os códigos da camada de negócios atuam como mediadores entre as funções definidas na camada de apresentação e na camada de dados e chamando as funções vice -versa.
Camada de acesso a dados
Esta é a função da camada de dados, que recebe os dados da camada de negócios e executa a operação necessária no banco de dados.
// this is the datalayer function which is receiving the data from the business//layer and performing the required operation into the databasepublic class clsStudentData // Data layer class{// object of property layer classpublic DataSet getdata_dtIDUise(clsStudent obj){DataSet ds;string sql;sql="select * from student where Studentld=" +obj.id+ "order by Studentld;ds=new DataSet();//this is the datalayer function which accepts the sql query and performs the//corresponding operationds=objdt.ExecuteSql(sql);return ds;}}
Explicação do código
O código definido na camada do conjunto de dados acima aceita toda a solicitação: solicitada pelo sistema e executando as operações necessárias no banco de dados.
Arquitetura de 2 camadas:
É como a arquitetura Cliente-Servidor, onde a comunicação ocorre entre o cliente e o servidor.
Nesse tipo de arquitetura de software, a camada de apresentação ou a camada de interface do usuário é executada no lado do cliente, enquanto a camada do conjunto de dados é executada e armazenada no lado do servidor.
Não há camada de lógica de negócios ou camada imediata entre o cliente e o servidor.
Arquitetura de camada única ou 1 camada:
É o mais simples, pois equivale a executar o aplicativo no computador pessoal. Todos os componentes necessários para a execução de um aplicativo estão em um único aplicativo ou servidor.
Camada de apresentação, camada de lógica de negócios e camada de dados estão localizadas em uma única máquina.
Vantagens e desvantagens das arquiteturas multicamadas
Vantagens |
Desvantagens |
|
|
|
|
| |
| |
| |
|
Portanto, é uma parte de um programa que criptografa problemas de negócios do mundo real e determina como os dados podem ser atualizados, criados, armazenados ou alterados para concluir a tarefa.
Dicas e desenvolvimento de arquitetura N-Tier
Considerando que os profissionais de software devem ter controle total sobre todas as camadas da arquitetura, dicas sobre a arquitetura de n camadas são fornecidas a seguir
- Tente desacoplar camadas de outra camada, tanto quanto possível, usando uma técnica como sabão XML.
- Use algumas ferramentas automatizadas para gerar um mapeamento entre uma camada de lógica de negócios e uma camada de banco de dados relacional (camada de dados). As ferramentas que podem ajudar na modelagem dessas técnicas de mapeamento são - Entity Framework e Hibernate for .Net etc.
- Na camada de apresentador do cliente, coloque um código comum para todos os clientes em uma biblioteca separada, tanto quanto possível. Isso maximizará a capacidade de reutilização do código para todos os tipos de clientes.
- Uma camada de cache pode ser adicionada a uma camada existente para acelerar o desempenho.
Resumo:
A arquitetura N-tier ajuda a gerenciar todos os componentes (camada de negócios, camada de apresentação e camada de banco de dados) de um aplicativo sob o mesmo teto.
Os aplicativos que usam um pequeno número de usuários em uma rede local podem se beneficiar da arquitetura de n camadas.
Esse projeto arquitetônico verifica a manutenção, a ampliação e a implantação de um aplicativo na Internet de forma eficiente.