Da introdução à prática com Drools Expert e Drools Flow
Grails: O Java em Alta Produtividade
1. MatrizMatriz
● Cleórbete Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
● Michael Schuenck dos Santos
2. FLISOL DF 2013
27 de abril de 201327 de abril de 2013
GrailsGrails
O Java em alta produtividadeO Java em alta produtividade
Cleórbete SantosCleórbete Santos
cleorbete@gmail.comcleorbete@gmail.com
www.cleorbete.comwww.cleorbete.com
3. Help! I lost my mojo!Help! I lost my mojo!
● Java = Customização de arquivos de
configuração, XML's, scripts...
● E onde estará o mojo perdido?
● Grails = The search is over!
4. O que é Grails?O que é Grails?
● Grails é um 'Full Stack Framework' de
desenvolvimento web que oferece as
ferramentas, técnicas e tecnologias
presentes em outros frameworks
Java, combinando-os com o poder e a
inovação de uma linguagem de
desenvolvimento dinâmica (Groovy),
e as vantagens do COC (Convention
Over Configuration);
5. O que o Grails permite?O que o Grails permite?
● Principalmente que o programador
ocupe-se mais na implementação do
que na configuração;
6. Grails é da SpringsourceGrails é da Springsource
● Springsource?
● VMWare?
● Groovy?
● Spring Framework -> Java | Grails -> Groovy
7. O que é Groovy?O que é Groovy?
● É uma linguagem OO para a plataforma Java;
● É dinâmica, como Python, Ruby, Perl, e outras;
● Códigos em Java são sintaticamente aceitos;
● É compilada para bytecodes pela JVM;
● Possui recursos como tipagem dinâmica e
closures;
● É compacta em relação ao Java;
8. O que é Groovy?O que é Groovy?
[continuação][continuação]
● // Exemplo em Java
public class Aluno {
Integer id;
String nome;
public String getNome() { return this.nome; }
public void setNome(String nome) {this.nome =
nome;}
public Integer getId() { return this.id; }
public void setId(Integer id) { this.id = id; } }
9. O que é Groovy?O que é Groovy?
[continuação][continuação]
● // Exemplo em Groovy
class Aluno { String nome }
10. Um pouco de etimologiaUm pouco de etimologia
● Significado de Grails (Groovy on Rails);
● Significado de Groovy;
11. Tecnologias disponíveis emTecnologias disponíveis em
GrailsGrails
● Model: GORM – Grails Object Relational
Mapping (Hibernate)
● Controller: Spring Framework
● Gant
● Tomcat Embedded
● View: GSP's – Groovy Server Pages
● (entre outras)
12. Princípios do GrailsPrincípios do Grails
● DRY – Don't Repeat Yourself (DIE – Duplication
Is Evil);
● COC – Convention Over Configuration;
13. Estrutura de uma aplicação GrailsEstrutura de uma aplicação Grails
● /grails-app
|---/conf
|---/controllers
|---/domain
|---/i18n
|---/services
|---/views
|---/(...)
14. Comandos do GrailsComandos do Grails
● grails help
● grails create-app
● grails create-controller
● grails create-domain-class
● grails generate-all
● grails generate-controller
● grails generate-views
● grails run-app
● grails war
● (...)
16. ScaffoldingScaffolding
● Dinâmico: recurso que permite ao compilador
criar o código para o CRUD da aplicação para
uso em runtime;
● Estático = CRUD em tempo de projeto;
● É um termo em inglês de engenharia civil, que
denota a colocação de andaimes e outras
estruturas para suportar temporariamente
trabalhadores de maquinário enquanto a
construção definitiva não está pronta;
20. H2 Database EngineH2 Database Engine
● Banco de dados Lightweight, Opensource,
Java puro;
● Suporta nativamente criptografia;
● Instalado como plugin, no Grails;
● Trabalha Embedded, Server e Em memória;