Upload
adriano-antunes
View
1.186
Download
4
Embed Size (px)
Citation preview
Introdução ao
Framework Grails
Adriano Basto Antunes
Tópicos
Contexto Histórico Breve Histórico
Surgimento do Grails
Surge o Grails O que é? Criadores e
Comunidade
Groovy Comparação com Java.
Closures
Grails
Estudo de Caso Problema
Desenvolvendo c/ Scrum
Product Backlog
Sprint Backlog
Digrama de Classe
O Sistema
Camada de Modelo
Camada de Controle
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 ClosureDeclaraçã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ção em Grails
Desenvolvendo com Scrum
Product Backlog
IDNOME DA ESTÓRIA IMP EST COMO DEMONSTRAR
1CADASTRO DE
CLIENTES10 1
Usuário faz login, clica em clientes, na página
clientes seleciona "criar novo", insere os dados e clica em
salvar.
2CADASTRO DE
FUNCIONÁRIOS5 3
Usuário faz login, clica em funcionários, e se for
autorizado de acordo com seu papel na aplicação vai a
pagina funcionários seleciona "criar novo", insere os dados e
clica em salvar.
7 CONTROLE DE VENDAS 10 8Possuirá dependência direta do controle de estoque e
de caixa.
8CONTROLE DE VENDAS
A PRAZO10 2
Se a forma de venda for a prazo, clica-se em Venda a
prazo, clica em "Criar nova", seleciona cliente por código e
nome, insere dados da venda e salva.
9 CONTROLE DE CAIXA 8 10Depende do controle de vendas, serviços, compras,
despesas
15 REALIZAR VENDA 10 10Clica em realizar venda na sessão venda, insere os
dados da venda e imprime cupom fiscal
16CONSULTAR VENDAS A
PRAZO10 2
Digita um dado sobre a venda no campo buscar da
sessão vendas a prazo e clica em buscar
Sprint Backlog
IDNOME DA ESTÓRIA IMP EST COMO DEMONSTRAR
1 CADASTRO DE CLIENTES 10 1
Usuário loga-se, clica em clientes, na página
clientes seleciona "criar novo", insere os dados e clica
em salvar.
2CONTROLE DE VENDAS A
PRAZO10 2
Se a forma de venda for a prazo, clica-se em
Venda a prazo, clica em "Criar nova", seleciona cliente
por código e nome, insere dados da venda e salva.
3CONSULTAR VENDAS A
PRAZO10 2
Digita um dado sobre a venda no campo buscar
da sessão vendas a prazo e clica em buscar
4 CONSULTAR CLIENTES 10 3Digita um dado sobre o cliente no campo
buscar da sessão clientes e clica em buscar
5 LISTAR CLIENTES 10 1Clica em cliente e uma lista de clientes
cadastrados é exibida
6 LISTAR VENDAS A PRAZO 10 2Clica em vendas a prazo e uma lista de vendas é
exibida
Diagramas de Classes
O Sistema
Estrutura de Diretóriosgrails-app
conf
controllers
domain
i18n
services
taglib
views lib
src
utils
test
Web-app
Camada de Modelo
Constraints (Validações)
Herança
Relacionamento
Classe de DomínioHerança
Constraints (Validações)
Relacionamento
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)
Conclusão
Grails caracteriza-se por fim como:
Recurso Aliado ao Java
Implementar Desenvolvimento ágil
Gerar soluções rápidas e eficientes
MUITO OBRIGADO!