Now Reading
A importância da Arquitetura Aplicacional

A importância da Arquitetura Aplicacional

application architecture

O constante crescimento tecnológico ao longo dos últimos anos conduz a uma acentuada necessidade de desenvolvimento de software tornando as aplicações cada vez mais completas e complexas. Surge, neste sentido, uma questão muito importante: Como conseguimos garantir uma manutenção e custo reduzidos com aplicações maiores? A resposta é com uma atenção especial à importância da arquitetura aplicacional e a sua correta definição!

Parece simples, mas durante muitos anos este conceito não estava bem assente na maioria das empresas. Era privilegiada a rapidez da entrega não sendo tida em conta a evolução do produto. Quando se tornou imperativo adicionar novas funcionalidades percebeu-se que a rapidez não trouxe vantagens quanto ao desempenho, manutenção evolutiva e escalabilidade das aplicações.

Conseguem imaginar um livro todo escrito na mesma página? Não? É exatamente isso que acontece em muitas aplicações com vários conceitos misturados na mesma “página” tornando a sua leitura bastante complicada e impossibilitando o seu crescimento. Numa aplicação estruturada desta forma não conseguirmos ter sequer uma clara perceção da quantidade de funcionalidades que podem deixar de funcionar caso se altere apenas uma linha.

A grande parte das aplicações desenvolvidas em OutSystems, têm uma aplicação com vários módulos e a separação das camadas lógicas existentes no modelo proposto (4 Layer Canvas) é efetuado dentro da mesma aplicação. Esta abordagem funcionando, rapidamente percebemos que a aplicação se começa a tornar mais lenta a publicar e mais lenta a efetuar passagens entre os diferentes ambientes, causando um decréscimo da produtividade.

É por isso necessário fazer uma reflexão e análise prévia acerca do que pretendemos construir, quais são os conceitos funcionais e como podemos agrupar os nossos módulos em diferentes aplicações. Esta reflexão prévia permitirá que o desenvolvimento seja efetuado de forma progressiva, sem impactos no trabalho da restante equipa e tornando-o passível de ser ampliado futuramente.

Arquitetura aplicacional numa aplicação
Figura 1 – Arquitetura aplicacional – v1

Numa primeira impressão, vemos uma estrutura de aplicação que não aparenta problemas a nível de arquitetura, mas será que conseguimos responder concretamente em que é que consiste cada módulo desta aplicação? Será que conseguimos estimar a quantidade de ecrãs necessários para cada módulo? E a quantidade de tabelas que iremos ter num único módulo da camada Core?

arquitetura aplicacional em desenvolvimento
Figura 2 – Arquitetura aplicacional – v2

Uma correta abstração dos conceitos funcionais, a separação das aplicações monolíticas em diferentes aplicações e módulos e uma análise constante à implementação são as chaves para que, a longo prazo, uma aplicação possa ser mantida e evoluída sem que exista um custo acrescido para cada novo requisito que seja necessário implementar. Desta forma, iremos ter várias aplicações, com ciclos de vida diferentes e uma gestão independente entre elas, podendo até, ter equipas específicas para cada uma das soluções, minimizando o número de dependências, o tempo necessário a cada implementação e aumentando, assim, a produtividade.

See Also
Functional Analysis - Navigating to the goal

Em suma, um refletido e empenhado trabalho de arquitetura aplicacional é fundamental para garantir a flexibilidade e qualidade da aplicação, garantindo a sua escalabilidade, alto desempenho e possível adaptação de forma ágil.

Mais de Romil Naggi:

What's Your Reaction?
Like
6
View Comments (0)

Leave a Reply

Your email address will not be published.