2. Título da
Apresentação
Demoiselle 2.0:
Produtividade com
Java EE6 no
Framework Open
Source Brasileiro
Palestrante: Flávio Gomes da Silva Lisboa 00/00/0000
3. Palestrante
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.
flavio.lisboa@serpro.gov.br
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
4. Serpro em 5 tempos
Soluções para a sociedade
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
5. Serpro em 5 tempos
Inclusão digital
Oficinas de inclusão
Telecentros em todos os estados
Espaço Serpro Cidadão
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
6. Serpro em 5 tempos
Acessibilidade
Liane TTS, sintetizador de voz
desenvolvido em parceria com o
NCE/UFRJ, para ser usado nos
telecentros.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
7. Serpro em 5 tempos
Software Livre
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
8. Serpro em 5 tempos
Tecnologias de desenvolvimento
ASP
NATURAL COBOL
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
9. Java em 60 segundos
Tecnologia de Propósito Geral Independente de Plataforma
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
10. Java em 60 segundos
Propósito de Java...
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
11. Java em 60 segundos
Muito abrangente...
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
12. Necessidades em Aplicações JEE
1 . Facilidade de alteração
2 . Reaproveitamento de código
3 . Desenvolvimento orientado a componentes
4 . Independência de fornecedores
1 2 3 4
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
13. Solução
Demoiselle Framework
2008 2009 2010
2.0
JEE6
1.2.0 1.2.1
1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5
1.0 1.0.4 1.0.5 1.0.6 1.0.7
JEE5
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
15. Arquitetura
ÁREA DE MUDANÇA
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
16. Ferramentas para desenvolvimento
Framework
Subprojetos
Components Sample Infra Process
Self-service Exemplos Instalação Processo ágil
de componentes de aplicações e configuração
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
17. Demoiselle Framework 2.0
Pré-requisitos
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
18. Demoiselle Framework 2.0
JEE6:
Menos coisas pra
digitar, errar, controlar ...
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
19. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
Servlet 3.0 (JSR 315)
Servlets, Listeners, ServletContextListeners e outros
podem ser declarados com anotações, evitando sua
configuração no web.xml
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
20. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
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.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
21. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
Servlet 3.0 (JSR 315)
Suporte nativo a chamadas assíncronas (AJAX).
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
22. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
JSF 2.0 (JSR 314)
Declaração de ManagedBeans via anotações,
deixando o faces-config.xml mais enxuto.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
23. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
JSF 2.0 (JSR 314)
Facelets nativo. Não era
nativo. É JSF
para
webdesigners
Pra que serve isso?
Não era nativo?
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
24. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
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.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
25. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
JSF 2.0 (JSR 314)
É possível criar um ExceptionHandler personalizado
para tratar as falhas da aplicação.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
26. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
JSF 2.0 (JSR 314)
É possível passar parâmetros nas invocações de
métodos via Expression Language.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
27. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
JPA 2.0 (JSR 317)
Recurso Criteria Queries.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
28. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
JPA 2.0 (JSR 317)
Cache de segundo nível.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
29. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
EJB 3.1 (JSR 318)
EJB Lite: só o que você realmente precisa.
Pouquíssimos casos precisam mesmo de TODOS os
recursos de EJB.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
30. Demoiselle Framework 2.0
Java EE6 (JSR 316)
+ Java - XML
EJB 3.1 (JSR 318)
Não é preciso criar interfaces remotas e locais, é
opcional.
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
31. Demoiselle Framework 2.0
Framework
Core Extensions Components
JPA JSF Swing
Depende Não depende
do framework do framework
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
32. Demoiselle Framework 2.0
Liberdade de escolha
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
33. Demoiselle Framework 2.0
Injeção de dependência
Aplicação JEE6
1 01 0 1 1 1
1 0 10100
0
1 1
0 1
1
JSR 299
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
34. Demoiselle Framework 2.0
Injeção de dependência
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
35. Demoiselle Framework 2.0
Injeção de dependência
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
36. Demoiselle Framework 2.0
Código pré-compilação não tem dependências
COMPILAÇÃO
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
37. Demoiselle Framework 2.0
Facilidade de manutenção
COMPILAÇÃO
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
38. Demoiselle Framework 2.0
Facilidade de manutenção
class A {
}
class B {
@Inject
A a;
}
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
39. Demoiselle Framework 2.0
Facilidade de manutenção
class AFactory {
@Produces
public A create() {
A a = new A();
a.setAllThatINeed();
return a;
}
}
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
40. Demoiselle Framework 2.0
Facilidade de manutenção
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
41. Demoiselle Framework 2.0
Facilidade de manutenção
class B {
@Inject
FacesContext context;
}
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
42. Demoiselle Framework 2.0
Facilidade de manutenção
class FacesContextFactory {
@Produces
public FacesContext create() {
return FacesContext.getCurrentInstance();
}
}
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
43. Demoiselle Framework 2.0
Controladores
Identificam as camadas e são pré-requisitos para
utilização da funcionalidade de tratamento
de exceções, através do uso da anotação
@ExceptionHandler.
●ViewController
● FacadeController
● BusinessController
● PersistenceController
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
44. Demoiselle Framework 2.0
Controladores
@PersistenceController @BusinessController
class A { class B {
@Inject @Inject A a;
EntityManager em;
}
}
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
45. Demoiselle Framework 2.0
Crie seu próprio controlador
@Controller
@Stereotype
@ViewScoped
public @interface SeuController { }
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
46. Demoiselle Framework 2.0
Métodos transacionais
class B {
@Inject A a;
@Transactional
public carga () {
a.inserir(“1”);
a.inserir(“2”);
}
}
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
47. Demoiselle Framework 2.0
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 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
48. Demoiselle Framework 2.0
...
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
52. Contatos
Antonio Carlos Tiboni
Coordenador Institucional da Comunidade Demoiselle
antonio.tiboni@serpro.gov.br
Lista de discussão:
https://lists.sourceforge.net/lists/listinfo/demoiselle-users
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro