Título daApresentação
00/00/0000Palestrante: Flávio Gomes da Silva Lisboa
Demoiselle 2.0: Demoiselle 2.0: Produtividade com Produtividade com Java EE6 no Java EE6 no Framework Open Framework Open Source Brasileiro Source Brasileiro
Palestrante
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Bacharel em Ciência da Computação, pós-graduado em Aplicações Corporativas usando Orientação a Objetos e Tecnologia Java pela Universidade Tecnológica Federal do Paraná.
Ex-analista da diretoria internacional do Banco do Brasil.
Consultor tecnológico e instrutor do Serviço Federal de Processamento de Dados.
Soluções para a sociedade
Serpro em 5 tempos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Inclusão digital
Serpro em 5 tempos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Telecentros em todos os estados
Oficinas de inclusão
Espaço Serpro Cidadão
Acessibilidade
Serpro em 5 tempos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Liane TTS, sintetizador de voz desenvolvido em parceria com o NCE/UFRJ, para ser usado nos telecentros.
Software Livre
Serpro em 5 tempos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Tecnologias de desenvolvimento
Serpro em 5 tempos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
ASP
NATURAL COBOL
Tecnologia de Propósito Geral Independente de Plataforma
Java em 60 segundos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Propósito de Java...
Java em 60 segundos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Muito abrangente...
Java em 60 segundos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
1 . Facilidade de alteração2 . Reaproveitamento de código3 . Desenvolvimento orientado a componentes4 . Independência de fornecedores
Necessidades em Aplicações JEE
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
1 2 32 4
Demoiselle Framework
Solução
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
2008 2009 2010
1.0 1.0.4 1.0.51.0.4 1.0.6 1.0.71.0.6
1.1.0
1.2.0
2.0
1.1.1 1.1.2 1.1.3 1.1.4 1.1.5
1.2.1
JEE5
JEE6
Arquitetura
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Arquitetura
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
ÁREA DE MUDANÇA
Ferramentas para desenvolvimento
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Components Sample ProcessInfra
Self-service de componentes
Instalação e configuração
Exemplos de aplicações
Processo ágil
Subprojetos
Framework
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Pré-requisitos
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
JEE6: Menos coisas pra
digitar, errar, controlar ...
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
Servlet 3.0 (JSR 315)
Servlets, Listeners, ServletContextListeners e outros podem ser declarados com anotações, evitando sua configuração no web.xml
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
Servlet 3.0 (JSR 315)
Fragmentos de web.xml podem ser colocados dentro do JAR de componentes, evitando a configuração do web.xml da aplicação.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
Servlet 3.0 (JSR 315)
Suporte nativo a chamadas assíncronas (AJAX).
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
JSF 2.0 (JSR 314)
Declaração de ManagedBeans via anotações, deixando o faces-config.xml mais enxuto.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
JSF 2.0 (JSR 314)
Facelets nativo.
+ Java - XML
Pra que serve isso?Não era nativo?
Não era nativo. É JSF
para webdesigners
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
JSF 2.0 (JSR 314)
Não é preciso declarar outcomes no faces-config.xml. O valor de retorno do método invocado já é o endereço da página. Mas você pode declarar se quiser.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
JSF 2.0 (JSR 314)
É possível criar um ExceptionHandler personalizado para tratar as falhas da aplicação.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
JSF 2.0 (JSR 314)
É possível passar parâmetros nas invocações de métodos via Expression Language.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
JPA 2.0 (JSR 317)
Recurso Criteria Queries.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
JPA 2.0 (JSR 317)
Cache de segundo nível.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
EJB 3.1 (JSR 318)
EJB Lite: só o que você realmente precisa. Pouquíssimos casos precisam mesmo de TODOS os recursos de EJB.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java EE6 (JSR 316)
EJB 3.1 (JSR 318)
Não é preciso criar interfaces remotas e locais, é opcional.
+ Java - XML
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Framework
ComponentsCore Extensions
Dependedo framework
Não dependedo framework
JPA JSF Swing
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Liberdade de escolha
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Injeção de dependência
Aplicação JEE6
01 01
011
10
0
0 1
01
10
1
0
1
11
JSR 299
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Injeção de dependência
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Injeção de dependência
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Código pré-compilação não tem dependências
COMPILAÇÃO
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Facilidade de manutenção
COMPILAÇÃO
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Facilidade de manutenção
class B { @Inject A a;}
class A {}
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Facilidade de manutenção
class AFactory {
@Producespublic A create() {
A a = new A(); a.setAllThatINeed();
return a;}
}
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Facilidade de manutenção
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Facilidade de manutenção
class B { @Inject A a;}
class A {}
class B {
@Inject FacesContext context;
}
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Facilidade de manutenção
class AFactory {
@Producespublic A create() {
A a = new A(); a.setAllThatINeed();
return a;}
}
class FacesContextFactory {
@Producespublic FacesContext create() {
return FacesContext.getCurrentInstance();}
}
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Controladores
Identificam as camadas e são pré-requisitos para utilização da funcionalidade de tratamentode exceções, através do uso da anotação @ExceptionHandler.
● ViewController● FacadeController
● BusinessController● PersistenceController
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Controladores
@PersistenceControllerclass A {
@Inject EntityManager em;
}
@BusinessControllerclass B {
@Inject A a;
}
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Crie seu próprio controlador
@Controller@Stereotype@ViewScopedpublic @interface SeuController { }
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Métodos transacionais
class B {
@Inject A a;
@Transactional public carga () { a.inserir(“1”); a.inserir(“2”); }}
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Métodos transacionais
Caso ocorra uma exceção na execução de um método transacional o mecanismo fará rollback na transação automaticamente.
É possível mudar este comportamento utilizando exceções de aplicação.
Demoiselle Framework 2.0
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
...
www.frameworkdemoiselle.org.br
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
http://sourceforge.net/apps/mantisbt/demoiselle
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Bugs?
Novas funcionalidades?
Melhorias?
http://sourceforge.net/apps/phpbb/demoiselle
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Discussões
Contatos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Antonio Carlos TiboniCoordenador Institucional da Comunidade Demoiselle
Lista de discussão:
https://lists.sourceforge.net/lists/listinfo/demoiselle-users