A arquitetura utilizada é baseada em thin clients, que impõem poucos requisitos aos clientes (apenas um navegador que suporte HTML). Essa arquitetura compreende 3 camadas fundamentais: camada de apresentação, camada de negócios e camada de dados. Os clientes comunicam-se apenas com a camada de apresentação. A lógica de negócios encontra-se no servidor, único que tem acesso à base de dados.
A escolha dessa arquitetura nos permitiu atingir alguns objetivos, tais como a facilidade para desenvolver um sistema distribuído, que fosse escalável, seguro e de alta disponibilidade, além de facilitar sua manutenção.
A opção por thin clients torna o sistema muito flexível, pois o acesso ao sistema não depende de um computador. O usuário pode, a princípio, acessá-lo de qualquer aparelho (como PDAs e celulares) que possua um navegador.
Nas 3 camadas foram utilizados softwares livres:
Optamos por um servidor de aplicação que implementasse a especificação J2EE pelos seguintes motivos:
Nos próximos tópicos, cada camada será detalhada.