• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

ARQUITETURA EM CAMADAS

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
1. INTRODUÇÃO


Nos últimos anos, a arquitetura em camadas tem sido amplamente adotada no desenvolvimento de sistemas de software devido à organização lógica e à modularização que proporciona. Este artigo tem por objetivo contextualizar esse estilo arquitetural, explicando seus principais conceitos e características, além de abordar suas vantagens, desvantagens e aplicações práticas no desenvolvimento de sistemas.

2. CONCEITOS DE ARQUITETURA EM CAMADAS


A arquitetura em camadas é um estilo que organiza os componentes de um sistema em uma hierarquia lógica de camadas, onde cada camada é responsável por um conjunto específico de funcionalidades. De modo geral, uma camada só pode se comunicar com a imediatamente inferior, o que favorece a modularidade e o isolamento de responsabilidades. Isso facilita a substituição, teste e manutenção de componentes.

Segundo Elemar Júnior (2021):

A separação de um software em camadas revela, acima de tudo, uma estratégia de modularização. As camadas ‘mais baixas’ recebem ‘responsabilidades’ mais primitivas, enquanto as camadas ‘mais altas’ ficam responsáveis por ‘responsabilidades mais complexas’, que podem ser cumpridas, graças à combinação das camadas em nível mais baixo. O nível de ‘acoplamento para desenvolvimento e operacional’ das camadas fica, então, determinado pela estratégia de conexão entre as camadas. Cada camada pode fornecer um ou mais componentes, e cada componente pode se ligar com componentes de camadas superiores ou inferiores, com conectores diversos (exemplo, requisições HTTP ou simples chamadas de métodos, dependendo da separação ou não em tiers).
Segundo Valente (2020):

Uma arquitetura em camadas particiona a complexidade envolvida no desenvolvimento de um sistema em componentes menores. Como uma segunda vantagem, ela disciplina as dependências entre essas camadas. A camada n somente pode usar serviços da camada n-1. Isso ajuda no entendimento, manutenção e evolução de um sistema.
3. DIVISÃO ENTRE CAMADAS


A arquitetura em camadas organiza o sistema em partes com funções distintas, facilitando sua manutenção e evolução. Elas se dividem em três camadas principais, de acordo com Valente (2020):

  • Interface com o Usuário – também chamada de camada de apresentação, é responsável por toda interação com o usuário. Ela trata tanto da exibição de informação como da coleta e processamento de entradas e eventos de interfaces, tais como cliques em botões, marcação de texto etc. A camada de interface pode ser uma aplicação desktop (em Windows ou outro sistema operacional com interface gráfica) ou Web.
  • Lógica de Negócio – também conhecida como camada de aplicação, implementa as regras de negócio do sistema.
  • Banco de Dados – armazena os dados manipulados pelo sistema.

Normalmente, uma arquitetura em três camadas é uma arquitetura distribuída. Isto é, a camada de interface executa na máquina dos clientes, a camada de negócio executa em um servidor (frequentemente chamado de servidor de aplicação) e, por fim, temos o banco de dados (Valente, 2020).

Em geral, podemos dizer que o padrão dessa arquitetura segue sempre essa lógica, em que as camadas mais baixas estão diretamente ligadas ao sistema operacional, bancos de dados e funções de hardware, enquanto as camadas superiores se dedicam mais às funcionalidades próximas ao usuário, como as interfaces (Gallotti, 2016, p. 19).

4. EXEMPLO PRÁTICO: ARQUITETURA EM CAMADAS EM SISTEMAS WEB


Um exemplo clássico e amplamente difundido da aplicação da arquitetura em camadas são os sistemas de comércio eletrônico. Eles utilizam uma estrutura baseada na web composta por múltiplos servidores, cada um responsável por uma camada específica: apresentação, lógica de aplicação e persistência de dados.

Segundo Sommerville (2011, p. 110–111):

Em um sistema de comércio eletrônico, a camada específica de aplicação inclui funcionalidade adicional que apoia um ‘carrinho de compras’, no qual os usuários podem colocar uma série de itens em transações separadas e, em seguida, pagar por todos juntos em uma única transação. Nesses sistemas, a organização dos servidores geralmente reflete o modelo genérico de quatro camadas. O servidor Web é responsável por todas as comunicações de usuário; o servidor de aplicações implementa a lógica específica de aplicação; e o servidor do banco de dados lida com o gerenciamento de transações. Usar vários servidores permite que se tenha alto desempenho e faz com que seja possível lidar com centenas de transações por minuto.
Esse tipo de arquitetura facilita o escalonamento do sistema, permitindo a adição de servidores conforme a demanda aumenta. Além disso, reforça o princípio de separação de responsabilidades, fundamental na arquitetura em camadas.

5. VANTAGENS EM ARQUITETURA EM CAMADAS

"É perfeita para domínios onde seja possível resolver problemas compondo soluções a partir de blocos mais primitivos."

Júnior, 2020

"Desde que a interface seja mantida, permite a substituição de camadas inteiras. Recursos redundantes (por exemplo, autenticação) podem ser fornecidos em cada camada para aumentar a confiança do sistema."

Sommerville, 2011, p. 110
6. DESVANTAGENS EM ARQUITETURA EM CAMADAS

"Embora suportem bem evoluções tecnológicas, sofrem para acomodar adaptações necessárias para o negócio. Tendo em vista que qualquer mudança de negócio desencadeia, potencialmente, mudanças em todas as camadas."

Júnior, 2020
Segundo Sommerville (2011, p. 110):

Costuma ser difícil proporcionar uma clara separação entre as camadas, e uma de alto nível pode ter de interagir diretamente com camadas de baixo nível, em vez da imediatamente abaixo dela. O desempenho pode ser um problema por causa dos múltiplos níveis de interpretação de uma solicitação de serviço, uma vez que são processados em cada camada.
7. CONCLUSÃO


A arquitetura em camadas organiza o sistema em partes bem definidas, facilitando o desenvolvimento, a manutenção e a evolução do software. Sua divisão clara de responsabilidades permite maior reutilização de código e torna as aplicações mais flexíveis. Quando bem aplicada, essa arquitetura contribui para a criação de sistemas mais escaláveis e fáceis de adaptar às mudanças.

REFERÊNCIAS

  • GALLOTTI, Giocondo Marino Antonio. Arquitetura de software. São Paulo: Pearson, 2016.
  • SOMMERVILLE, Ian. Engenharia de Software. 9. ed. São Paulo: Pearson Addison Wesley, 2011.
  • VALENTE, Marco Tulio. Engenharia de software moderna. 2020. Disponível em:

    Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    . Acesso em: 4 mai. 2025.
  • JÚNIOR, Elemar. Manual do arquiteto de software. 2021. Disponível em:

    Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

    . Acesso em: 4 mai. 2025.


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу