Aplicação monolítica

Em engenharia de software, uma aplicação monolítica descreve uma única aplicação de software em camadas no qual a interface de usuário e código de acesso aos dados são combinados em um único programa a partir de uma única plataforma.

Uma aplicação monolítica é autônoma e independente de outras aplicações de computação. A filosofia do projeto consiste em um aplicativo que não é responsável apenas por uma determinada tarefa, mas que também pode executar todos os passos necessários para completar uma determinada função.[1][2]

Um aplicativo monolítico descreve uma aplicação de software que é projetado sem modularidade. A modularidade é desejável, em geral, uma vez que suporta a reutilização de partes da lógica da aplicação e também facilita a manutenção, permitindo o reparo ou substituição de peças da aplicação sem a necessidade de substituição por atacado.

A modularidade é obtida em graus diversos, por diferentes abordagens de modularização. Código baseado em modularidade permite aos desenvolvedores reutilizar e reparar as partes do aplicativo, mas ferramentas de desenvolvimento são necessários para executar essas funções de manutenção (por exemplo, a aplicação pode precisar ser recompilada). Objeto baseado em modularidade prevê a aplicação como uma coleção de separar os arquivos executáveis que podem ser mantidos de forma independente e substituído sem reimplantar o aplicativo inteiro (por exemplo, arquivos "dll" da Microsoft, arquivos "shared object" da Sun/UNIX). Alguns recursos objeto de mensagens permite aplicações baseadas em objeto serem distribuídos em vários computadores (por exemplo, Microsoft COM +). Service Oriented Architectures uso padrão de comunicação específica e protocolos de comunicação entre os módulos.

A medida em que uma aplicação é descrita como monolítica é dependente da perspectiva. Software que não está orientado a serviços pode ser descrito como monolítico embora seja baseado em objeto e pode ser distribuído.

O uso original do termo monolítico, descreve enorme aplicações no quadro principal sem modularidade utilizável, portanto, resultando em sistemas insustentáveis e passíveis de crise no software. Tais aplicações monolíticas também são comumente referidos como "código espaguete".

NotaEditar

Referências

  1. «What is a Monolith?». Coding the Architecture. 19 de novembro de 2014. Consultado em 13 de abril de 2020 
  2. «Glossary». Information Technology Services. Arquivado do original em 18 de janeiro de 2008 



  Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.