SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
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
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
Serpro em 5 tempos


   Soluções para a sociedade




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
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
Serpro em 5 tempos


   Software Livre




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Serpro em 5 tempos


   Tecnologias de desenvolvimento




                                       ASP

              NATURAL                                  COBOL
Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java em 60 segundos


   Tecnologia de Propósito Geral Independente de Plataforma




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java em 60 segundos


   Propósito de Java...




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Java em 60 segundos


   Muito abrangente...




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
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
Arquitetura




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Arquitetura




                                          ÁREA DE MUDANÇA




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
Demoiselle Framework 2.0



                                  Pré-requisitos




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Demoiselle Framework 2.0


                                      JEE6:
                               Menos coisas pra
                           digitar, errar, controlar ...




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
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
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
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
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
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
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
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
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
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
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
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
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
Demoiselle Framework 2.0


                            Liberdade de escolha




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
Demoiselle Framework 2.0


                          Injeção de dependência




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
Demoiselle Framework 2.0


                          Injeção de dependência




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
Demoiselle Framework 2.0


                        Facilidade de manutenção




                                    COMPILAÇÃO




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
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
Demoiselle Framework 2.0


                        Facilidade de manutenção




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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
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
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
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
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
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
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
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


              Novas funcionalidades?

                   Bugs?                  Melhorias?




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
http://sourceforge.net/apps/phpbb/demoiselle


                                 Discussões




Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
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

Mais conteúdo relacionado

Destaque (14)

dos
dosdos
dos
 
Ccd campus site plan future mapping
Ccd campus site plan future mappingCcd campus site plan future mapping
Ccd campus site plan future mapping
 
Knm hena a natalga
Knm hena a natalgaKnm hena a natalga
Knm hena a natalga
 
Google académico
Google académicoGoogle académico
Google académico
 
Top 8 village administrator resume samples
Top 8 village administrator resume samplesTop 8 village administrator resume samples
Top 8 village administrator resume samples
 
Potenciando experiencias educativas
Potenciando experiencias educativasPotenciando experiencias educativas
Potenciando experiencias educativas
 
Symposium Poster Final
Symposium Poster FinalSymposium Poster Final
Symposium Poster Final
 
第九展覽室
第九展覽室第九展覽室
第九展覽室
 
Corporate Portfolio
Corporate PortfolioCorporate Portfolio
Corporate Portfolio
 
Sistema de alimentacao
Sistema de alimentacaoSistema de alimentacao
Sistema de alimentacao
 
Cometas Lonnie Pacheco
Cometas Lonnie PachecoCometas Lonnie Pacheco
Cometas Lonnie Pacheco
 
Resistance to organizational change manimegalai.s pondicherry university
Resistance to organizational change manimegalai.s pondicherry universityResistance to organizational change manimegalai.s pondicherry university
Resistance to organizational change manimegalai.s pondicherry university
 
5th power shift-melbourne-2016
5th power shift-melbourne-20165th power shift-melbourne-2016
5th power shift-melbourne-2016
 
Horno BOSCH HBG6763S1
Horno BOSCH HBG6763S1Horno BOSCH HBG6763S1
Horno BOSCH HBG6763S1
 

Semelhante a Demoiselle 2.0: Produtividade com Java EE6

Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Emerson Saito
 
Novidades de Java EE 7
Novidades de Java EE 7Novidades de Java EE 7
Novidades de Java EE 7pt_programar
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeAdriano Tavares
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Como Sobreviver Com Java2
Como Sobreviver Com Java2Como Sobreviver Com Java2
Como Sobreviver Com Java2Saulo Arruda
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEBruno Borges
 
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA  TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA Rodrigo Cândido da Silva
 
Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETAlessandro Binhara
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 
Demoiselle 3 Está chegando a hora
Demoiselle 3 Está chegando a horaDemoiselle 3 Está chegando a hora
Demoiselle 3 Está chegando a horaVanderson Silva
 
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo JavaJava Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo JavaPaulo César M Jeveaux
 

Semelhante a Demoiselle 2.0: Produtividade com Java EE6 (20)

Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL Palestra Demoiselle V1.x no 11 FISL
Palestra Demoiselle V1.x no 11 FISL
 
Novidades de Java EE 7
Novidades de Java EE 7Novidades de Java EE 7
Novidades de Java EE 7
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
Flisolgo2010
Flisolgo2010Flisolgo2010
Flisolgo2010
 
MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Como Sobreviver Com Java2
Como Sobreviver Com Java2Como Sobreviver Com Java2
Como Sobreviver Com Java2
 
GlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EEGlassFish, Maven, Cloud e Java EE
GlassFish, Maven, Cloud e Java EE
 
Javaone2010
Javaone2010Javaone2010
Javaone2010
 
JEE6 - Introdução
JEE6 - IntroduçãoJEE6 - Introdução
JEE6 - Introdução
 
JBoss5 @ FISL
JBoss5 @ FISLJBoss5 @ FISL
JBoss5 @ FISL
 
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA  TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
 
Interop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NETInterop itcare: Interoperabilidade Java e .NET
Interop itcare: Interoperabilidade Java e .NET
 
Aula 01 o que é java
Aula 01  o que é javaAula 01  o que é java
Aula 01 o que é java
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Demoiselle 3 Está chegando a hora
Demoiselle 3 Está chegando a horaDemoiselle 3 Está chegando a hora
Demoiselle 3 Está chegando a hora
 
Java Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo JavaJava Scripting - Linguagens Interpretadas pelo Java
Java Scripting - Linguagens Interpretadas pelo Java
 

Mais de Campus Party Brasil

Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineCampus Party Brasil
 
Técnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosTécnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosCampus Party Brasil
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Campus Party Brasil
 
Tempestades solares: mitos e verdades
Tempestades solares: mitos e verdadesTempestades solares: mitos e verdades
Tempestades solares: mitos e verdadesCampus Party Brasil
 
A busca por planetas além do sistema solar
A busca por planetas além do sistema solarA busca por planetas além do sistema solar
A busca por planetas além do sistema solarCampus Party Brasil
 
Construção de uma luneta a baixo custo
Construção de uma luneta a baixo custoConstrução de uma luneta a baixo custo
Construção de uma luneta a baixo custoCampus Party Brasil
 
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livresHardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livresCampus Party Brasil
 
Robótica e educação inclusiva
Robótica e educação inclusivaRobótica e educação inclusiva
Robótica e educação inclusivaCampus Party Brasil
 
Fazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectXFazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectXCampus Party Brasil
 
Robótica e educação inclusiva
	Robótica e educação inclusiva	Robótica e educação inclusiva
Robótica e educação inclusivaCampus Party Brasil
 
Gestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software LivreGestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software LivreCampus Party Brasil
 
Confecção de Circuito Impresso
Confecção de Circuito ImpressoConfecção de Circuito Impresso
Confecção de Circuito ImpressoCampus Party Brasil
 
Virtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendenciasVirtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendenciasCampus Party Brasil
 

Mais de Campus Party Brasil (20)

Wordpress
WordpressWordpress
Wordpress
 
Buracos negros
Buracos negrosBuracos negros
Buracos negros
 
Programação para Atari 2600
Programação para Atari 2600Programação para Atari 2600
Programação para Atari 2600
 
Desenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App EngineDesenvolvimento de aplicações para o Google App Engine
Desenvolvimento de aplicações para o Google App Engine
 
Técnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivosTécnicas forenses para a recuperação de arquivos
Técnicas forenses para a recuperação de arquivos
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?
 
Tempestades solares: mitos e verdades
Tempestades solares: mitos e verdadesTempestades solares: mitos e verdades
Tempestades solares: mitos e verdades
 
A busca por planetas além do sistema solar
A busca por planetas além do sistema solarA busca por planetas além do sistema solar
A busca por planetas além do sistema solar
 
Passeio virtual pelo LHC
Passeio virtual pelo LHCPasseio virtual pelo LHC
Passeio virtual pelo LHC
 
Construção de uma luneta a baixo custo
Construção de uma luneta a baixo custoConstrução de uma luneta a baixo custo
Construção de uma luneta a baixo custo
 
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livresHardware livre Arduino: eletrônica e robótica com hardware e software livres
Hardware livre Arduino: eletrônica e robótica com hardware e software livres
 
Robótica e educação inclusiva
Robótica e educação inclusivaRobótica e educação inclusiva
Robótica e educação inclusiva
 
Fazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectXFazendo do jeito certo: criando jogos sofisticados com DirectX
Fazendo do jeito certo: criando jogos sofisticados com DirectX
 
Blue Via
Blue ViaBlue Via
Blue Via
 
Linux para iniciantes
Linux para iniciantesLinux para iniciantes
Linux para iniciantes
 
Robótica e educação inclusiva
	Robótica e educação inclusiva	Robótica e educação inclusiva
Robótica e educação inclusiva
 
Gestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software LivreGestão e monitoramento de redes e dispositivos com Software Livre
Gestão e monitoramento de redes e dispositivos com Software Livre
 
Confecção de Circuito Impresso
Confecção de Circuito ImpressoConfecção de Circuito Impresso
Confecção de Circuito Impresso
 
Vida de Programador
Vida de Programador Vida de Programador
Vida de Programador
 
Virtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendenciasVirtualização, cloud computig e suas tendencias
Virtualização, cloud computig e suas tendencias
 

Demoiselle 2.0: Produtividade com Java EE6

  • 1.
  • 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
  • 14. Arquitetura 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
  • 49. www.frameworkdemoiselle.org.br Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
  • 50. http://sourceforge.net/apps/mantisbt/demoiselle Novas funcionalidades? Bugs? Melhorias? Demoiselle 2.0: Produtividade com Java EE6 no framework Open Source Brasileiro
  • 51. http://sourceforge.net/apps/phpbb/demoiselle Discussões 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