Camada N (multicamadas), 3 camadas, 2 camadas Architextura com EXEMPLO
O que รฉ N-Tier?
An Aplicaรงรฃo N-Tier programa รฉ aquele 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 permite que os desenvolvedores de software criem aplicativos/sistemas reutilizรกveis โโcom mรกxima flexibilidade.
In N-camada, โNโ refere-se a uma sรฉrie de camadas ou camadas que estรฃo sendo usadas como - 2 nรญveis, 3 nรญveis ou 4 nรญveis, etc.. Tambรฉm รฉ chamado de โMulticamada Archiarquiteturaโ.
A arquitetura de n camadas รฉ um modelo de arquitetura de software comprovado pela indรบstria. ร adequado para oferecer suporte a aplicativos cliente-servidor de nรญvel empresarial, fornecendo soluรงรตes de escalabilidade, seguranรงa, tolerรขncia a falhas, capacidade de reutilizaรงรฃo e capacidade de manutenรงรฃo. Ajuda os desenvolvedores a criar aplicativos flexรญveis e reutilizรกveis.
Camada N Archiarquitetura
Uma representaรงรฃo diagramรกtica de um sistema de n camadas รฉ mostrada aqui โ camadas de apresentaรงรฃo, aplicaรงรฃo e banco de dados.

Estas trรชs camadas podem ser subdivididas em diferentes subcamadas, dependendo dos requisitos.
Alguns dos sites populares que aplicaram esta arquitetura sรฃo
- MakeMyTrip. com
- Aplicativo corporativo do Sales Force
- Ferrovias Indianas โ IRCTC
- Amazon.com, etc.
Alguns termos comuns a serem lembrados, para compreender o conceito com mais clareza.
- Rede Distribuรญda: ร uma arquitetura de rede, onde os componentes localizados nos computadores da rede coordenam e comunicam suas aรงรตes apenas atravรฉs da passagem de mensagens. ร uma coleรงรฃo de mรบltiplos sistemas situados em nรณs diferentes, mas aparece para o usuรกrio como um sistema รบnico.
- 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 estรฃo conectados dentro da arquitetura LAN de um lado e do outro lado estรฃo conectados a switches de alta velocidade junto com um rack de servidores contendo nรณs de serviรงo.
- Servidor cliente Architextura: ร 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 fornecido pela internet ou intranet. Neste modelo, Clientes servirรก como um conjunto de programa/cรณdigo que executa um conjunto de aรงรตes na rede. Enquanto servidor, por outro lado, รฉ um conjunto de outro programa, que envia os conjuntos de resultados ao sistema cliente conforme solicitado.
- Neste, 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 dentro dos grandes bancos de dados de clientes e a mรกquina ATM รฉ o cliente que possui uma interface de usuรกrio com algum processamento simples de aplicativos.
- Plataforma: Na ciรชncia da computaรงรฃo ou na indรบstria de software, uma plataforma รฉ um sistema no qual programas aplicativos podem ser executados. Consiste em uma combinaรงรฃo de hardware e software que possui instruรงรตes integradas para que processadores/microprocessadores executem operaรงรตes especรญficas.
- Em palavras mais simples, a plataforma รฉ um sistema ou 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.
- Base 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 Servidor, e Oracle Database sรฃo alguns bancos de dados comuns.
Tipos de camada N Architexturas
Existem diferentes tipos de N-Tier Architexturas, como De 3 camadas Archiarquitetura, 2 camadas Archiarquitetura e 1- Tier Archiarquitetura.
Primeiro, veremos 3 camadas Archiestrutura, o que รฉ muito importante.
3-Tier Archiarquitetura
Observando o diagrama abaixo, vocรช pode identificar facilmente que Arquitetura de trรชs camadas tem 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 de forma de aluno para entender todas essas trรชs camadas. 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 layer
clsStudent objproperty=new clsStudent();
// Object of the business layer
clsStudentInfo objbs=new clsStudentInfo();
// Object of the dataset in which we receive the data sent by the business layer
DataSet ds=new DataSet();
// here we are placing the value in the property using the object of the
//property layer
objproperty.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 desenho bรกsico de uma visรฃo frontal das aplicaรงรตes, bem como a chamada das funรงรตes de outras camadas para que possam ser integradas entre si.
Camada de acesso comercial โ
Esta รฉ a funรงรฃo da camada de negรณcios que aceita os dados da camada de aplicaรงรฃo e os passa para a camada de dados.
- A lรณgica de negรณcios atua como uma interface entre a camada Cliente e a Camada de Acesso a Dados
- Toda a lรณgica de negรณcios โ como validaรงรฃo de dados, cรกlculos, inserรงรฃo/modificaรงรฃo de dados รฉ escrita 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 function
return ds;
}
}
Explicaรงรฃo do cรณdigo
O cรณdigo estรก usando a funรงรฃo da camada de negรณcios, que aceitarรก os dados para a camada de aplicaรงรฃo e os passarรก 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 realiza 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 database
public class clsStudentData // Data layer class
{
// object of property layer class
public 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 operation
ds=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 realizando as operaรงรตes necessรกrias no banco de dados.
2-Tier Archiarquitetura
ร como uma arquitetura Cliente-Servidor, onde a comunicaรงรฃo ocorre entre cliente e servidor.
Neste tipo de arquitetura de software, a camada de apresentaรงรฃo ou 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 cliente e servidor.
Camada รบnica ou camada 1 Archiarquitetura
ร o mais simples, pois equivale a rodar a aplicaรงรฃo no computador pessoal. Todos os componentes necessรกrios para a execuรงรฃo de um aplicativo estรฃo em um รบnico aplicativo ou servidor.
A camada de apresentaรงรฃo, a camada de lรณgica de negรณcios e a camada de dados estรฃo todas localizadas em uma รบnica mรกquina.
Vantagens e desvantagens do multinรญvel Architexturas
| Vantagens | Desvantagens |
|---|---|
| Global | Aumento no esforรงo |
| Integridade de Dados | Aumento da Complexidade |
| Reutilizaรงรฃo | |
| Distribuiรงรฃo Reduzida | |
| Seguranรงa aprimorada | |
| Disponibilidade aprimorada |
Portanto, faz 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 realizar a tarefa completa.
Camada N Archidicas de arquitetura e desenvolvimento
Considerando que os profissionais de software devem ter controle total sobre todas as camadas da arquitetura, dicas sobre arquitetura n-tier 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). Ferramentas que podem ajudar na modelagem dessas tรฉcnicas de mapeamento sรฃo โ Entity Framework e Hibernate for .Net etc.
- Na camada do apresentador do cliente, coloque um cรณdigo comum para todos os clientes em uma biblioteca separada, tanto quanto possรญvel. Isso maximizarรก a 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 de N camadas 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 garante a manutenรงรฃo, expansรฃo e implantaรงรฃo eficiente de um aplicativo na Internet.

