DGERT   APCER
Relações de compromisso

Arquitecturas de Desenvolvimento Aplicacional


Reaproveitamento, segurança, fiabilidade, expansibilidade são algumas das palavras que surgem aquando do arranque de um projecto, tendo um foco maior no momento em que se inicia a fase de elaboração do desenho da arquitectura do sistema de informação. Todo e qualquer arquitecto ou designer de software tem sempre essas preocupações com o sistema que vai ser desenvolvido, mas será que toma as decisões mais correctas para a sua resolução?

Sendo um projecto algo dinâmico, é frequente o âmbito alterar-se ao longo do seu ciclo de vida. No entanto algumas alterações que o sistema em desenvolvimento tem que acomodar são um quebra-cabeças, devido às opções de desenho tomadas, condicionadas pelo âmbito original. Um desenho ou arquitectura limitada é uma das principais causas dos verdadeiros pesadelos quando se revela a necessidade de proceder a alterações a um sistema de informação, ou a um acréscimo das funcionalidades.

Dado que muitos dos desafios que um arquitecto de software enfrenta são os mesmos, independentemente do projecto, não seria lógico que a sua resolução fosse sempre igual? A comunidade informática possui diversas soluções para problemas recorrentes, não se tratando portanto de algo novo, mas sim de uma preocupação antiga e bem real. Os patterns tentam apresentar uma solução cujo sucesso, testado em diversas cenários, comprova a sua eficácia na resolução do desafio apresentado.

Actualmente, existem patterns de desenho para quase tudo: controlo de acessos, separação do negócio da apresentação, aplicações distribuídas, etc. Basta pensar num qualquer problema que, muito provavelmente, existe algures um pattern que o aborda e resolve. No entanto, o pattern não é uma implementação da solução, mas antes a forma como o problema pode ser minimizado, ou mesmo resolvido. Assim, a não existência de uma implementação real dessas soluções faz com que o arquitecto ou designer da solução caia na tentação de iniciar o seu desenho a partir do zero sempre um novo projecto dá os primeiros passos, recorrendo só nessa altura aos patterns adequados para os requisitos que o sistema deve abranger.

Uma solução será pensar na implementação dos patterns como um projecto no verdadeiro sentido da palavra. Ou seja, desenvolver uma framework que suporte uma arquitectura de desenvolvimento aplicacional, utilizando-a como base para futuros projectos. A criação de uma framework deste tipo, além de aumentar exponencialmente o reaproveitamento de tudo o que já está criado e testado, disciplina a equipa de desenvolvimento e uniformiza todos os componentes do sistema de informação.

A implementação de componentes sobre um suporte conhecido e controlado em diversos cenários traz algumas vantagens adicionais - por exemplo, a facilidade de integração de sistemas e a capacidade de partilha de componentes de negócio numa perspectiva de uma arquitectura orientada aos serviços (SOA).

As arquitecturas de desenvolvimento aplicacional vieram para ficar, e a experiência diz que elas facilitam efectivamente a árdua tarefa de desenvolver software que vá de encontro às necessidades dos utilizadores finais, com qualidade.

Produzido em 2005

Topo
Pesquisa
Agenda
Destaques