A figura abaixo representa a estrutura geral do Framework e suas dependências estruturais. A primeira camada, denominada como Architectural Framework constitui o framework integrador. Doravante, o foco desta documentação é essa camada, que trata-se mais especificamente de um framework arquitetural de aplicações web não distribuídas. Além disso, há uma restrição quanto ao ambiente de produção, onde necessariamente deve haver um servidor JBoss 4.2.x ou Tomcat 6.x.

O framework arquitetural provê essencialmente uma biblioteca central de módulos que atende às necessidades de infra-estrutura básica de uma aplicação web não distribuída. A idéia é que ele seja o mais fracamente acoplado quanto possível, de forma que através do desenvolvimento orientado a componentes, as aplicações possam ser criadas e modificadas com substituição ou acoplamento de novos módulos, sem que o núcleo central precise ser modificado.
Essa arquitetura flexível junto com uma base de código extensível e bem testada permite aplicar ao processo de desenvolvimento de sistemas a metáfora das montadoras de veículos. No princípio, haviam fábricas de carros, que construíam todas as peças do veículo e o montavam. Esse modelo já foi superado pelo conceito de montadora. As antigas fábricas pararam de construir todas as peças e hoje montam os veículos a partir de componentes fabricados por terceiros.
O framework arquitetural permite fazer uma analogia com as montadoras. Os sistemas não precisam ser fabricados, desde o zero. Eles podem ser montados, a partir de uma infra-estrutura genérica (o framework arquitetural) a qual são acoplados componentes que constituem a parte específica de cada sistema.
A arquitetura possui pontos de extensão seja por meio de interfaces, abstrações ou pela utilização de padrões de projetos tais como Inversão de Controle e Abstract Factory. Também possibilita a aplicação do padrão Bridge em futuros projetos. Segue abaixo as principais interfaces da arquitetura.
A arquitetura favorece o reuso a partir da especificação de artefatos comuns em diversos projetos. Os principais artefatos de reuso são a arquitetura de referência e a utilização de componentes para resolver situações restritas a um determinado escopo, como relatórios, mail, scheduler, criptografia, certificado, etc. Os componentes são criados em projetos separados ao do framework, eles tem dependencias com o framework mas não fazem parte do seu ciclo de vida.
A arquitetura divide responsabilidades entre módulos lógicos para garantir o menor impacto no todo, diminuindo o acoplamento e focando a manutenção em pontos específicos.
A arquitetura proposta minimiza os riscos de desempenho nas aplicações instanciadas por implementar os pontos críticos de performance, tais como a integração entre camadas e controle de transações.
A arquitetura é fundamentada em especificações (Foundation Framework) reconhecidas pelo mercado que garantem a estabilidade para o desenvolvimento de aplicações baseadas nela.
Os componentes do framework podem ser utilizados pela aplicação de duas formas.
A primeira é através do processo manual, onde os artefatos são copiados diretamente para o projeto da aplicação, nesse caso o responsável pela aplicação deve estar atento ao controle de versão de cada componente e também deve copiar os frameworks de base utilizados por cada componente, ou seja, deve garantir que todas a dependências entre o framework e frameworks de base sejam atendidas. O processo manual é trabalhoso e sujeito a falhas pois exige que o desenvolvedor esteja atento a qualquer mudança com relação as dependências entre os componentes do framework e frameworks de base.
Na segunda forma o desenvolvedor estabelece as dependências entre o framework e a aplicação através do Maven, nesse caso essa ferramenta auxilia o processo de controle de dependência de forma automatizada, facilitando o trabalho e diminuindo a possibilidade de falhas.
O framework está dividido em dois módulos principais, o primeiro é o framework arquitetural (core, util, web, persistence e view) e o segundo é um conjunto de componentes. O framework arquitetural promove a padronização na construção das aplicações. Os componentes são complementares ao framework e possuem ciclo de vida próprio, desta forma podem ser utilizados individualmente de acordo com a necessidade da aplicação. Novos componentes podem ser adicionados a cada release.