Demoiselle Readme
Demoiselle tem por objetivo definir uma arquitetura de software padronizada para o desenvolvimento de sistemas baseados na plataforma JEE (Java Enterprise Edition), além de padronizar e integrar frameworks especialistas para o desenvolvimento de aplicações.
A arquitetura de referência proposta para Demoiselle é baseada em camadas. Além das clássicas camadas do modelo MVC (Modelo, Visão e Controlador), elas se distinguem como camadas de persistência, transação, segurança, injeção de dependência e mensagem.
Pela essência das aplicações web, os servidores de aplicação devem implementar as especificações JEE. Devido a essa restrição, é recomendado o uso de Apache Tomcat 6.0 ou JBoss 4.2.2 ou versões superiores. As definições de banco de dados precisam suportar padrões SQL Ansi 92 entre outras características. Quando a demanda for por software livre, são recomendados os seguintes SGBD's: PostgreSQL, MySQL, Derby, Firebird; caso contrário recomenda-se: Oracle, SqlServer e Informix.
Para mais informações sobre Demoiselle, veja as próximas seções deste documento:
A arquitetura do Demoiselle para aplicações que o utilizam orienta o uso de componentes reutilizáveis e frameworks especialistas. Sua definição se baseia em três camadas:
- Visão e Controlador: usa componentes de apresentação. (JSF, Jasper, Framework,...);
- Negócio: implementa as regras de negócio da aplicação;
- Persistência: usa componentes para persistência da informação (Hibernate, JDBC, SQLADA,...).
Além das camadas que modulam as aplicações, o Framework implementa um grupo de recursos que fornecem funcionalidades especiais para as aplicações de um modo simples e transparente para os desenvolvedores. Seguem esses recursos:
- Transação: fornece uma mecanismo para gerenciamento de transação para prover controle transacional de um modo transparente. Implementa a especificação Java Transaction API (JTA).
- Aspectos: é o mecanismo usado pelo Framework para embutir funcionalidades nas aplicações de um modo transparente. Por meio desse recurso o Framework consegue fornecer suas injeções de dependência, controle de transações, controle de log e controle de mensagem e exceção. É implementado por AspectJ.
- Mensagem e Exceção: para padronizar a navegação de mensagens e exceções entre as camadas da aplicação de modo a fornecer uma infra-estrutura para tratamento de mensagens e permitir a manipulação de mensagens a partir de qualquer camada.
- Segurança: camada que fornece controle de autenticação por meio de usuário e senha ou certificação digital. Provê controle de autorização por meio de papéis. É compatível com Java IF Security (JAAS). Permite a manipulação de informação sobre autenticação e autorização a partir de qualquer camada.
- Integração: organiza o relacionamento entre os componentes da camada de arquitetura de referência. Facilita a injeção de camadas usando injeção de dependências e investimento de controle. Provê um mecanismo básico de injeção de dependências para a arquitetura de referência.
Segue a lista de compatibilidade do Demoiselle abaixo com o ambiente de desenvolvimento e produção:
- JDK5 é necessário para rodar o Framework
- Os servidores de aplicação que implementam as especificações JEE recomendadas são Apache Tomcat 6.0.x ou JBoss 4.2.x
Estão integrados neste produto os seguintes frameworks especialistas: