Introdução ao Demoiselle - parte 1

Geralmente os tópicos começam com perguntas. Por que não fazer algo diferente e começar com a resposta?

Visão Geral

O Demoiselle será utilizado por todas as empresas que fornecerem software à Administração Pública, como a ferramenta base para o desenvolvimento. O framework é totalmente desenvolvido em Java, dessa forma, os códigos gerados em sua plataforma são livres, proporcionando ao governo grande economia. De acordo com Marcos Mazoni, diretor-presidente do Serpro, estima-se em 50% a redução dos custos com operação e manutenção de sistemas. Ele indica, ainda, que o Estado poderá ter maior controle nas aquisições e manutenções, já que a ferramenta de desenvolvimento é aberta. “A documentação será conhecida, sendo assim, outra empresa ou até o próprio governo poderá dar manutenção em qualquer um dos sistemas”, acrescenta.

Um framework ou arcabouço é uma estrutura de suporte definida em que um outro projeto de software pode ser organizado e desenvolvido. Ele visa direcionar o desenvolvedor aos problemas relacionados às regras de negócio do cliente e à apresentação das informações reduzindo o esforço utilizado para resolver detalhes de baixo nível como segurança, acesso a dados, comunicação com outros ambientes, etc.

Em suma, os resultados que pretendemos alcançar com a utilização de um framework são:

[list]Padronização;[/list]
[list]Redução da curva de aprendizagem;[/list]
[list]Aumento da produtividade;[/list]
[list]Simplificação do processo;[/list]
[list]Reutilização de artefatos;[/list]
[list]Manutenção simplificada.[/list]

As premissas de um framework são as de que ele deve ser:

[list]Baseado em interfaces;[/list]
[list]Extensível;[/list]
[list]Fácil de usar;[/list]
[list]Estável;[/list]
[list]Configurável;[/list]
[list]Confiável;[/list]
[list]Ter documentação publicada (em breve).[/list]

O Framework implementa o conceito de framework integrador. Seu objetivo é facilitar a construção de aplicações sem o investimento de tempo em escolha e integração de frameworks especialistas, o que resulta no aumento da produtividade e garante a manutenibilidade dos sistemas.

Funcionalidades

Funcionalidades implementadas pelo framework.
[list]Especificação de uma definição de camadas[/list]
[list]Especificação de uma abstração de componentes para cada camada[/list]
[list]Criação de injeção de dependência entre componentes das camadas[/list]
[list]Implementação de uma especificação padrão para controle transacional[/list]
[list]Provimento de controle transparente de transação às aplicações[/list]
[list]Provimento de um contexto de transação[/list]
[list]Provimento de um mecanismo para autenticação e autorização[/list]
[list]Provimento de acesso ao contexto de segurança a partir das camadas[/list]
[list]Provimento de um contexto de segurança.[/list]
[list]Provimento de acesso a dados por meio de Hibernate, JDBC e SQLADA[/list]

não sei o pq isto me cheira a um maker versão open source

Não acredito mais nisso… :lol:

Vamos continuar o assunto. O diagramas abaixo devem dar uma visão geral da arquitetura do Demoiselle.

[img]



Se não for um modelo anêmico, já é um avanço.
Se tiver TDD, melhor ainda.

[quote=victorwss]Se não for um modelo anêmico, já é um avanço.
Se tiver TDD, melhor ainda.[/quote]
É modelo anêmico sim. Observe que as regras de negócio são implementadas nos objetos BusinessController, que acessa os dados dos POJOs na camada de persistência. Esses POJOs devem ser as entidades JPA.

Vocês criaram um Spring framework? Não seria mais barato pagar uma consultoria da SpringSource?

O nome da imagem é reference-architecture.png. Isso me lembra um certo post.

Você leu os posts da última discussão sobre esse framework?