Aplicação monolítica

em Engenharia de software, uma aplicação monolítica descreve uma aplicação de software de nível único na qual a interface do Usuário e o código de acesso aos dados são combinados em um ÚNICO programa a partir de uma única plataforma.

uma aplicação monolítica é independente de outras aplicações de computação. A filosofia de design é que a aplicação é responsável não apenas por uma tarefa particular, mas pode realizar todos os passos necessários para completar uma função particular. Hoje, algumas aplicações de finanças pessoais são monolíticas no sentido de que ajudam o usuário a realizar uma tarefa completa, de ponta a ponta, e são silos de dados privados em vez de Partes de um sistema maior de aplicações que trabalham em conjunto. Alguns processadores de texto são aplicações monolíticas. Estas aplicações são por vezes associadas com computadores mainframe.

em Engenharia de software, uma aplicação monolítica descreve uma aplicação de software que é projetada sem modularidade. A modularidade é desejável, em geral, uma vez que suporta a reutilização de partes da lógica de aplicação e também facilita a manutenção, permitindo a reparação ou substituição de partes da aplicação sem exigir a substituição por grosso.

modularidade é alcançada em vários aspectos por diferentes abordagens de modularização. A modularidade baseada em código permite que os desenvolvedores reutilizem e reparem partes do aplicativo, mas Ferramentas de desenvolvimento são necessárias para executar essas funções de manutenção (por exemplo, o aplicativo pode precisar ser recompilado). A modularidade baseada em objetos fornece a aplicação como uma coleção de arquivos executáveis separados que podem ser mantidos e substituídos independentemente sem redistribuir toda a aplicação (por exemplo, arquivos Microsoft “dll”; arquivos Sun/UNIX “objeto compartilhado”). Algumas capacidades de mensagens de objetos permitem que aplicações baseadas em objetos sejam distribuídas através de vários computadores (por exemplo, Microsoft com+). As arquitecturas orientadas para os serviços utilizam normas/protocolos de comunicação específicos para comunicar entre módulos.

In its original use, the term “monolithic” described enormous mainframe applications with no usable modularity. Isto, em combinação com o rápido aumento do poder computacional e, portanto, rápido aumento da complexidade dos problemas que poderiam ser enfrentados pelo software, resultou em sistemas não-mantíveis e a “crise do software”.