SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Introdução ao
       Framework Grails

Adriano Basto Antunes
Tópicos
                                Grails
 Contexto Histórico            Estudo de Caso
    Breve Histórico               Problema
    Surgimento do Grails          Desenvolvendo c/ Scrum
                                   Product Backlog
Surge o Grails                    Sprint Backlog
    O que é? Criadores e          Digrama de Classe
     Comunidade                    O Sistema
    Groovy                        Camada de Modelo
       Comparação com Java.       Camada de Controle
       Closures                   Camada de Visualização
                                   Testes
                                   Persistência de Dados
                                   Plugins
                                   Implantação
Breve Histórico

 Evolução ambiente computacional
 Desenvolvimento ágil
 Frameworks
Surgimento do Grails

    Java vs Ruby on RailsVantagens
      Vantagens do RoR sobre o Java
      Vantagens do Java sobre o RoR
      Soluções
          Implantar Ruby/Python em Java
          Criar nova ferramenta escrita em Groovy e
           baseada no RoR
Surge o Grails
 O que é?
 Criadores
 Comunidade
 Groovy
    O  que é?
     Principais Vantagens.
Closure
 Variáveis
 Bloco de códigos executaveis em lugar de
  um único valor
 Conceito antigo reutilizado ao máximo
  pelo Groovy
Exemplo de Closure
 Declaração
 def save = {
                  def usuarioInstance = new Usuario(params)
                  if (usuarioInstance.save(flush: true)) {
                  redirect(action: "show", id: usuarioInstance.id)
                  }
                  else {
                   render(view:"create", model:[usuarioInstance:
    usuarioInstance])
                  }
     }
 Referência/Execução
 def aba = new Usuario(nome:"Adriano Basto", login:"aba",
 senha:"123456")
 aba.save()
Grails
   Criando Uma aplicação Grails
     IDEs
          NetBeans, Eclipse
     Linha   de Comando

   Estudo de Caso
     Problema
     Soluçãoem Grails
     Desenvolvendo com Scrum
Product Backlog
       NOME DA ESTÓRIA     IMP   EST                       COMO DEMONSTRAR
 ID
                                                  Usuário faz login, clica em clientes, na página
         CADASTRO DE
 1                         10     1     clientes seleciona "criar novo", insere os dados e clica em
        CLIENTES
                                                                  salvar.
                                                Usuário faz login, clica em funcionários, e se for
         CADASTRO DE                      autorizado de acordo com seu papel na aplicação vai a
 2                          5     3
      FUNCIONÁRIOS                     pagina funcionários seleciona "criar novo", insere os dados e
                                                             clica em salvar.
                                              Possuirá dependência direta do controle de estoque e
 7    CONTROLE DE VENDAS   10     8
                                                                 de caixa.
                                              Se a forma de venda for a prazo, clica-se em Venda a
      CONTROLE DE VENDAS
 8                         10     2    prazo, clica em "Criar nova", seleciona cliente por código e
         A PRAZO
                                                   nome, insere dados da venda e salva.
                                               Depende do controle de vendas, serviços, compras,
 9    CONTROLE DE CAIXA     8    10
                                                                 despesas
                                               Clica em realizar venda na sessão venda, insere os
 15     REALIZAR VENDA     10    10
                                                 dados da venda e imprime cupom fiscal
      CONSULTAR VENDAS A                       Digita um dado sobre a venda no campo buscar da
 16                        10     2
          PRAZO                                  sessão vendas a prazo e clica em buscar
Sprint Backlog
       NOME DA ESTÓRIA       IMP   EST                    COMO DEMONSTRAR
ID

                                                 Usuário loga-se, clica em clientes, na página
1    CADASTRO DE CLIENTES    10     1    clientes seleciona "criar novo", insere os dados e clica
                                                               em salvar.

                                                 Se a forma de venda for a prazo, clica-se em
     CONTROLE DE VENDAS A
2                            10     2    Venda a prazo, clica em "Criar nova", seleciona cliente
          PRAZO
                                           por código e nome, insere dados da venda e salva.

     CONSULTAR VENDAS A                         Digita um dado sobre a venda no campo buscar
3                            10     2
          PRAZO                                da sessão vendas a prazo e clica em buscar

                                                   Digita um dado sobre o cliente no campo
4     CONSULTAR CLIENTES     10     3
                                              buscar da sessão clientes e clica em buscar

                                                    Clica em cliente e uma lista de clientes
5       LISTAR CLIENTES      10     1
                                                         cadastrados é exibida
                                                Clica em vendas a prazo e uma lista de vendas é
6    LISTAR VENDAS A PRAZO   10     2
                                                                 exibida
Diagramas de Classes
O Sistema
Estrutura de Diretórios
                            grails-app
   conf

domain
                          controllers
 services
                                 i18n
 utils
                          taglib

views                     lib

    src                   test


     Web-app
Camada de Modelo
 Constraints (Validações)
 Herança
 Relacionamento
Classe de Domínio
                            Herança




                                  Relacionamento




 Constraints (Validações)
Camada de Controle
   Scaffold
     Quando   usar? Como usar?
   Action Segurança
       Acesso e Autenticação de Usuários
   Filtros
     Administração   do Sistema
   Classes Utilitárias
     Codificação   de Senhas
Classe de Controle
                     Closure
                     No controller
                     chamada action
Camada de Visualização
 GSP – Groovy Server Pages
 SiteMesh
 Bibliotecas de Marcas (TagLibs)
     Templates   e Layout
Arquivo GSP
Testando a aplicação
 TDD
 Testes Unitários
 Hierarquia de teste em Grails
Persistência de Dados da
Aplicação
   DataSource.groovy
     Dbcreate
     Enviroments
       HSQLDB
       MySql

   GORM e Hibernate
Persistência de Dados
Expandindo a aplicação
 Plugins
 Spring
 O Plugin Searchale (busca rápida)
Implementação da Aplicação

   Deploy
   Tomcat
   War

             Árvore de
             diretórios war
Conclusão
Grails caracteriza-se por fim como:
 Recurso Aliado ao Java
 Implementar Desenvolvimento ágil
 Gerar soluções rápidas e eficientes
MUITO OBRIGADO!

Contenu connexe

Similaire à Introdução ao framework grails slide

Impacto do DevOps nos negócios
Impacto do DevOps nos negóciosImpacto do DevOps nos negócios
Impacto do DevOps nos negóciosRamon Durães
 
Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5Leandro Jardim
 
TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...
TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...
TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...tdc-globalcode
 
WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017Edgar Silva
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 
Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...Fábio Aguiar
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidaderzauza
 
Gerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance DigitalGerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance DigitalDynatrace Latin America
 
[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)Alessandro Almeida
 
20130220 startup weekendbsb
20130220 startup weekendbsb20130220 startup weekendbsb
20130220 startup weekendbsbBizstart
 
Gestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágilGestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágilSabrina Mariana
 
Gestão da qualidade metodologia ágil v01 (2)
Gestão da qualidade   metodologia ágil v01 (2)Gestão da qualidade   metodologia ágil v01 (2)
Gestão da qualidade metodologia ágil v01 (2)Sabrina Mariana
 
Information and Knowledge Management 6/10
Information and Knowledge Management 6/10Information and Knowledge Management 6/10
Information and Knowledge Management 6/10Joao Cunha
 
Palestra boxe qualiblog
Palestra boxe qualiblogPalestra boxe qualiblog
Palestra boxe qualiblogRonaldo Costa
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012Rodrigo Ribeiro
 

Similaire à Introdução ao framework grails slide (20)

Impacto do DevOps nos negócios
Impacto do DevOps nos negóciosImpacto do DevOps nos negócios
Impacto do DevOps nos negócios
 
Os cinco passos pensamento enxuto
Os cinco passos pensamento enxutoOs cinco passos pensamento enxuto
Os cinco passos pensamento enxuto
 
Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5Manual do desenvolvedor 1.5.5
Manual do desenvolvedor 1.5.5
 
TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...
TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...
TDC2016SP - Growth Hacking Mobile: Técnicas para aumentar as conversões do se...
 
WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017WSO2 Novo Modelo de Subscrições e Produtos 2017
WSO2 Novo Modelo de Subscrições e Produtos 2017
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...Gestão de Produtos com Scrum e algo mais...
Gestão de Produtos com Scrum e algo mais...
 
Conceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidadeConceitos e fundamentos sobre testes de software e garantia da qualidade
Conceitos e fundamentos sobre testes de software e garantia da qualidade
 
20100930 SaaS by RocMayer
20100930 SaaS by RocMayer20100930 SaaS by RocMayer
20100930 SaaS by RocMayer
 
Back Log User Stories
Back Log User StoriesBack Log User Stories
Back Log User Stories
 
Testes de software de A a Z
Testes de software de A a ZTestes de software de A a Z
Testes de software de A a Z
 
Gerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance DigitalGerenciando Portais Liferay com Soluções de Performance Digital
Gerenciando Portais Liferay com Soluções de Performance Digital
 
[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)[slides] CMMI (2011: 1º semestre)
[slides] CMMI (2011: 1º semestre)
 
20130220 startup weekendbsb
20130220 startup weekendbsb20130220 startup weekendbsb
20130220 startup weekendbsb
 
Gestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágilGestão da Qualidade - Metodologia ágil
Gestão da Qualidade - Metodologia ágil
 
Gestão da qualidade metodologia ágil v01 (2)
Gestão da qualidade   metodologia ágil v01 (2)Gestão da qualidade   metodologia ágil v01 (2)
Gestão da qualidade metodologia ágil v01 (2)
 
Information and Knowledge Management 6/10
Information and Knowledge Management 6/10Information and Knowledge Management 6/10
Information and Knowledge Management 6/10
 
Palestra boxe qualiblog
Palestra boxe qualiblogPalestra boxe qualiblog
Palestra boxe qualiblog
 
T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012T-SQL na prática com SQL SERVER Express 2012
T-SQL na prática com SQL SERVER Express 2012
 

Introdução ao framework grails slide

  • 1. Introdução ao Framework Grails Adriano Basto Antunes
  • 2. Tópicos  Grails  Contexto Histórico  Estudo de Caso  Breve Histórico  Problema  Surgimento do Grails  Desenvolvendo c/ Scrum  Product Backlog Surge o Grails  Sprint Backlog  O que é? Criadores e  Digrama de Classe Comunidade  O Sistema  Groovy  Camada de Modelo  Comparação com Java.  Camada de Controle  Closures  Camada de Visualização  Testes  Persistência de Dados  Plugins  Implantação
  • 3. Breve Histórico  Evolução ambiente computacional  Desenvolvimento ágil  Frameworks
  • 4. Surgimento do Grails  Java vs Ruby on RailsVantagens  Vantagens do RoR sobre o Java  Vantagens do Java sobre o RoR  Soluções  Implantar Ruby/Python em Java  Criar nova ferramenta escrita em Groovy e baseada no RoR
  • 5. Surge o Grails  O que é?  Criadores  Comunidade  Groovy O que é?  Principais Vantagens.
  • 6. Closure  Variáveis  Bloco de códigos executaveis em lugar de um único valor  Conceito antigo reutilizado ao máximo pelo Groovy
  • 7. Exemplo de Closure Declaração def save = { def usuarioInstance = new Usuario(params) if (usuarioInstance.save(flush: true)) { redirect(action: "show", id: usuarioInstance.id) } else { render(view:"create", model:[usuarioInstance: usuarioInstance]) } } Referência/Execução def aba = new Usuario(nome:"Adriano Basto", login:"aba", senha:"123456") aba.save()
  • 8. Grails  Criando Uma aplicação Grails  IDEs  NetBeans, Eclipse  Linha de Comando  Estudo de Caso  Problema  Soluçãoem Grails  Desenvolvendo com Scrum
  • 9. Product Backlog NOME DA ESTÓRIA IMP EST COMO DEMONSTRAR ID Usuário faz login, clica em clientes, na página CADASTRO DE 1 10 1 clientes seleciona "criar novo", insere os dados e clica em CLIENTES salvar. Usuário faz login, clica em funcionários, e se for CADASTRO DE autorizado de acordo com seu papel na aplicação vai a 2 5 3 FUNCIONÁRIOS pagina funcionários seleciona "criar novo", insere os dados e clica em salvar. Possuirá dependência direta do controle de estoque e 7 CONTROLE DE VENDAS 10 8 de caixa. Se a forma de venda for a prazo, clica-se em Venda a CONTROLE DE VENDAS 8 10 2 prazo, clica em "Criar nova", seleciona cliente por código e A PRAZO nome, insere dados da venda e salva. Depende do controle de vendas, serviços, compras, 9 CONTROLE DE CAIXA 8 10 despesas Clica em realizar venda na sessão venda, insere os 15 REALIZAR VENDA 10 10 dados da venda e imprime cupom fiscal CONSULTAR VENDAS A Digita um dado sobre a venda no campo buscar da 16 10 2 PRAZO sessão vendas a prazo e clica em buscar
  • 10. Sprint Backlog NOME DA ESTÓRIA IMP EST COMO DEMONSTRAR ID Usuário loga-se, clica em clientes, na página 1 CADASTRO DE CLIENTES 10 1 clientes seleciona "criar novo", insere os dados e clica em salvar. Se a forma de venda for a prazo, clica-se em CONTROLE DE VENDAS A 2 10 2 Venda a prazo, clica em "Criar nova", seleciona cliente PRAZO por código e nome, insere dados da venda e salva. CONSULTAR VENDAS A Digita um dado sobre a venda no campo buscar 3 10 2 PRAZO da sessão vendas a prazo e clica em buscar Digita um dado sobre o cliente no campo 4 CONSULTAR CLIENTES 10 3 buscar da sessão clientes e clica em buscar Clica em cliente e uma lista de clientes 5 LISTAR CLIENTES 10 1 cadastrados é exibida Clica em vendas a prazo e uma lista de vendas é 6 LISTAR VENDAS A PRAZO 10 2 exibida
  • 13. Estrutura de Diretórios grails-app conf domain controllers services i18n utils taglib views lib src test Web-app
  • 14. Camada de Modelo  Constraints (Validações)  Herança  Relacionamento
  • 15. Classe de Domínio Herança Relacionamento Constraints (Validações)
  • 16. Camada de Controle  Scaffold  Quando usar? Como usar?  Action Segurança  Acesso e Autenticação de Usuários  Filtros  Administração do Sistema  Classes Utilitárias  Codificação de Senhas
  • 17. Classe de Controle Closure No controller chamada action
  • 18. Camada de Visualização  GSP – Groovy Server Pages  SiteMesh  Bibliotecas de Marcas (TagLibs)  Templates e Layout
  • 20. Testando a aplicação  TDD  Testes Unitários  Hierarquia de teste em Grails
  • 21. Persistência de Dados da Aplicação  DataSource.groovy  Dbcreate  Enviroments  HSQLDB  MySql  GORM e Hibernate
  • 23. Expandindo a aplicação  Plugins  Spring  O Plugin Searchale (busca rápida)
  • 24. Implementação da Aplicação  Deploy  Tomcat  War Árvore de diretórios war
  • 25. Conclusão Grails caracteriza-se por fim como:  Recurso Aliado ao Java  Implementar Desenvolvimento ágil  Gerar soluções rápidas e eficientes