Arquiteturas Monolíticas

A expressão arquitetura monolítica no contexto das aplicações para web é inspirada, na sua origem, na expressão aplicação monolítica.

Aplicação Monolítica

Uma aplicação monolítica é aquela onde há um único código envolvendo tanto a interface com o usuário quanto a parte lógica (ligada ao problema resolvido pela aplicação). A aplicação não é organizada em partes independentes. Cada parte, para funcionar, depende de outras partes.

Arquitetura Monolítica em Aplicações para Web

A arquitetura monolítica pode ser representada pela figura abaixo.

Uma aplicação para web é tipicamente formada por três partes:

  1. O programa cliente (browser)
  2. O programa servidor
  3. O banco de dados

Se a aplicação é desenvolvida por uma equipe, como frequentemente acontece, todos precisam trabalhar de forma sincronizada pois existe a noção de que há uma única aplicação.

A produção de uma nova versão da aplicação, seja para a correção de falhas em algum requisito seja para a incorporação de novos requisitos, implica em que todos os envolvidos definam uma data única. Neste dia alguém da equipe junta as partes e sai a nova versão.

Implantar a nova versão implica em retirar do ar a versão atual e em colocar no ar a nova versão. Este procedimento deve ser feito o mais rapidamente possível. Afinal, a aplicação não pode ficar indisponível por muito tempo.

Arquiteturas monolíticas são em essência caracterizadas pela forma como todos os requisitos, as funcionalidades da aplicação, são atendidos. O fluxo de dados desde a manifestação da vontade do usuário no lado cliente, passando pelas diferentes etapas no lado servidor e, finalmente, retornando a resposta (seja ela uma página ou apenas dados) é sempre o mesmo. Há também um modelo de dados unificado gerando, em última análise, um esquema padrão de representação dos dados no banco de dados.

Algumas práticas de desenvolvimento de aplicações sugerem inclusive que a primeira atividade seja exatamente a definição do esquema de representação dos dados de acordo com o modelo presente no banco de dados. Se, por exemplo, o banco é do tipo relacional, como os tradicionais MySQL, Oracle, Postgres, então deve-se fazer a análise dos requisitos e produzir o esquema relacional correspondente (tabelas e relacionamentos).

results matching ""

    No results matching ""