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, 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
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
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
- 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.