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.

Camada N Archiarquitetura
Nível N Archidiagrama de arquitetura

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, Cliente 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
Camada 3 Archidiagrama de arquitetura
Camada 3 Archidiagrama de arquitetura

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

3-Tier Archiarquitetura

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

Diferenciais Desvantagens
Escalabilidade 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

  1. Tente desacoplar camadas de outra camada tanto quanto possível usando uma técnica como sabão XML.
  2. 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.
  3. 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.
  4. 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.