Desenvolvimento Web/Java com
        Demoiselle Framework


                                 Serge Rehem
                      serge.rehem@serpro.gov.br
Maior empresa pública de TI da América Latina


Receita Federal do Brasil – maior cliente


Arrecadação Federal, Comércio Exterior




IRPF, SINPA, ITR, SIAFI, Receitanet, Siscomex
                                 
Aplicação 
        Java/Web




     
De um lado...




                 
                    http://special.news.msu.edu/ID_theft/images/creditcard_lg.jpg
Do outro...




                                                          
http://zonaneutra.files.wordpress.com/2009/01/nerd.jpg
No meio...


                                                                                                 

Adaptado de: http://dig.csail.mit.edu/2006/Talks/1017­privacy­e2e­acccountability/WebArch.jpg
Começando um projeto
    Java/Web...




                 
     
IDE




     
GlassFish
                         AppServer


                Tomcat


                    
JDBC       Persistência



           JPA




                        JDO
JSF
     Java Web
    Framework



          
Testes / Build /
    Integração Contínua

                  Hudson

              
Validação
           Segurança
                                                  e­Mail
       ?           +Componentes
                                                      ?

    Utilitários                      Relatórios

                  Workflow
                                        Agendamento
     Logging                     ?
Escolhas/decisões...


                              ica ã
                  Serv. Apl      ç o

    Arquitetura

                  Fwk auxiliares
           IDE




                      
~3000
desenvolvedores




                   
Levam Tempo...




                                                                                  

http://peregrinacultural.files.wordpress.com/2009/02/mechanical­clock­work.jpg
São Arriscadas!




                                                                                                    

http://www.aereo.jor.br/wp­content/uploads/2009/06/galante­voando­sem­asas­capacete­vermelho.jpg
Calma, Señorita...




                                                             

           http://mdemulher.abril.com.br/imagem/saude/interna­slideshow/am­571­saude­moca­desperada.jpg
     
         Demoiselle?!?
Demoiselle 

     8 x < 14 Bis                                                             #19 – 1907 ­ 200m 
     9 modelos                                                             #22 – 1909 – 18km (96km/h)
   40+ fabricados
  http://www.cosmo.com.br/especial/100anos14bis/?sec=santos08




                                                                                
http://www.fab.gov.br/portal/cabine/acontecefab/arquivos/0310%20I0000073.JPG
4




http://lproweb.procempa.com.br/pmpa/prefpoa/pwdtcomemorativas/usu_img/santosdumont.jpg


                                                                                     
                                                                                         http://individual.utoronto.ca/firstflight/demoiselle­magazine.gif
     
1.0 dez

                0.2 ago
      0.1 mar                  1.0.3 abr



                                  1.0.6 ago

    2008                  2009                2010

                            
Orientação




                                                       

http://www.softti.com.br/softti/imagens/bussola.jpg
  C 
    O M U
          N I C
               AÇÃO
           
       




                       

                          http://www.gettyimages.com/detail/86541835/Thinkstock
Padronização




                                                                        
http://www.imotion.com.br/imagens/data/media/83/4874quebracabeca.jpg
     
Arquitetura




          
Framework Integrador




                
Arquitetura
     
Demoiselle Framework
             View & Controller                                               Business                                               Persistence




                                             Transaction                                                       
                             JSF                                                                                                         POJO
                             Page



                    Faces 
                                                                             :Business
                                                                                                                                         :DAO
                    Servlet                                                  Controller
                                                                                                     Message                                           




                  Managed 
                                                Security                                                                                                                 
                      Bean




                                                                                                                                         Data
                                                                                                                                        Source
                                                                                     
Core




    Visão                     Negócio


             Integração                 Persistência
              Módulos/
            Subsistemas


                           
E
        Entidade   n
                   t




     
POJO / DAO


public class Aluno implements IPojo{
  private Long id;
  private String nome;
  private String CPF;

        public Long getId() { return id;}
        public void setId(Long id) { this.id = id; }
        /* … */
}

public       class IAlunoDAO implements IDAO {
}
                              
     
Core ­ Integração entre Camadas
                                         Injeção de um IDAO



public class AlunoBC implements IBusinessController{
  @Injection
  private IAlunoDAO alunoDAO;
}




                                        
     
Core ­ Integração entre Camadas
                                         Injeção de um IBusinessController



public class AlunoMB implements IViewController{
  @Injection
  private IAlunoBC alunoC;
}




                                       
     
Contexto de Mensagens




     
Transação




     
Localizador de Contextos




     
Demoiselle Framework
             View & Controller                                               Business                                               Persistence




                                             Transaction                                                       
                             JSF                                                                                                         POJO
                             Page



                    Faces 
                                                                             :Business
                                                                                                                                         :DAO
                    Servlet                                                  Controller
                                                                                                   Message                                             




                  Managed 
                                              Security                                                                                                                   
                      Bean




                                                                                                                                         Data
                                                                                                                                        Source
                                                                                     
    Comunidade Demoiselle
               
Comunidade




                 Conselho         P2
    P1
                Comunidade

                                              PN.1




                                          ...

         ...
                       
                             PN        PN.m
Framework
                     sf.net/projects/demoiselle


                                                         Component
     Wizard                                               sf.net/projects/demoiselle­comp

sf.net/projects/demoiselle­wzd




                                                  Sample
                                          sf.net/projects/demoiselle­samp



         Process
     sf.net/projects/demoiselle­proc
                                              
 
    Portal    
SourceForge




                z




     
Título

                         Título da Apresentação
    Login




             
Tela Inicial




          
Clique duas vezes para adicionar figuras
         Lista de aluno




                         
Tela de edição




           
Seleção de SKIN




            
Skin azul




         
     
Tracker




     
Portal




     
Tutorial




     
Próximo Vôo...



                         JPA + EJBi




                      
1.1 out
                     1.0 dez                JPA

                0.2 ago                        2.0 
      0.1 mar                  1.0.3 abr       EJB



                                  1.0.6 ago

    2008                  2009                 2010

                            
Como?

      Core      Persistence      Util              View     Web         EJB
Architectural Frameworks


                                 Base Frameworks




 JAAS         JCA          JCE   JDBC          JPA        JSF     JTA   Servlet

Foundation Frameworks

                                        Platform


                                   Virtual Machine


                                          OS
                                            
Roadmap Demoiselle

            Arquitetura Orientada a Serviços – SOA / ESB
                                                 Sistemas Distribuídos
      Aplicações Web Acessíveis por Dispositivos Móveis
     Processo Ágil, Reuso e Ferramentas de Produtividade
                                   Geração automática de código
                                                     Utilização de Java 6
                                               Engenharia de Domínio
                          Sistema de Permissões e Segurança

                                     
              http://www.frameworkdemoiselle.gov.br/menu/framework/sobre/roadmap­1
Saiba mais...




                    Tutorial
              Sample Apps
              Livro/Artigos
          Palestras/Oficinas
        E@D    Comunidade
     
MP ­ Ministério do Planejamento
                             ANP ­ Agência Nacional de Petróleo
          DATASUS
                                           Caixa Econômica Federal
Ministério Público do Paraná 

                                Comunidade
                                                               CELEPAR 
            Prodeba    
                                                                  Prodemge
USP / UFPR / UFBA / UFRJ / UESB? / FTC?
                                                    Empresas privadas
                  Desenvolvedores autônomos
                                            
    Lembram dela?




                     
+1 Desenvolvedora
          Java/Web
               Feliz




                        
Principais Referências


                                 Demoiselle Portal
                         http://www.frameworkdemoiselle.gov.br

Demoiselle Tutorial
http://sourceforge.net/docman/display_doc.php?docid=179204&group_id=247200




       Documentação Técnica do Framework Demoiselle
                                           http://demoiselle.sourceforge.net/



                                        
Obrigado!



                      Serge Rehem
        serge.rehem@serpro.gov.br
           twitter.com/serge_rehem




            www.frameworkdemoiselle.gov.br
            demoiselle­users@lists.sourceforge.net
                           
            twitter.com/fwkdemoiselle

Framework Demoiselle