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:

Destaques

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.

Edições de Software com Compatibilidade Conhecida

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: