Frameworks - Grails. Aécio Costa



Documentos relacionados
Breve introdução. Uma breve introdução. Simplicidade e Poder. Rápido Dinâmico Robusto

WebWork 2. João Carlos Pinheiro.

Groovy & Grails. Arian Pasquali. quarta-feira, 12 de outubro de 11

Análise comparativa de produtividade entre Groovy e Java, aplicado no desenvolvimento web

Grails e as novidades

Instalação e Configuração do Java (por Gilberto Irajá Müller)

Um pouco do Java. Prof. Eduardo

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Produtividade na web com Groovy e Grails

Tutorial de instalação do Java 7 no Windows 7.

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Objetivos do mini curso. Conhecer a linguagem. Noção de programação utilizando Python. Aprender o báscio.

Laboratório I Aula 2

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

CURSO DE PROGRAMAÇÃO EM JAVA

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Grails. C ada vez mais aplicações corporativas são desenvolvidas ou migradas para a plataforma web.

Persistência de Classes em Tabelas de Banco de Dados

Desenvolvimento Web com Framework Demoiselle versão 1.0

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC TurmaBC TurmaBC TurmaBC

Padrão Arquitetura em Camadas

Projeto Arquitetural do IEmbedded

TUTORIAL JAVA AS - HTTP CLIENT COMPOSITION ENVIROMENT 7.1

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

LINGUAGEM ORIENTADA A OBJETOS

ZEND F r a m e w o r k

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Prova Específica Cargo Desenvolvimento

Luiz Arão Araújo Carvalho Bacharel em Ciência da Computação Desenvolvedor RedeSat-TO

Aula 03 - Projeto Java Web

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Procedimentos para Configuração do Ambiente J2EE e J2SE em Ambiente Windows

Tutorial Eclipse (IDE)

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Grails: o que isso quer dizer? Gilliard Cordeiro

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Acesso a banco de dados

Listando, gravando, alterando e excluindo registro do banco de dados com JSP

Configuração de Cliente de Web Service HTTPS

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Introdução ao IDE Netbeans (Programação Java)

Introdução. Entendendo os Controles. Definindo um controle. Introdução MOCKDOMAIN() Testando uma classe de domínio mockdomain

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

4 O Workflow e a Máquina de Regras

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Scriptlets e Formulários

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

Como já foi muito bem detalhado no Capítulo IV, o jcompany Developer Suite pode ser

Google Web Toolkit* Clério Damasceno Soares, Daniel da Silva Filgueiras e Fábio Figueiredo da Silva

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

II Semana de Tecnologia da Informação. Rails Framework

Introdução à Linguagem Java

CONEXÃ O NFS-E SISTEMÃ ISS-INTEL UTILIZÃNDO JÃVÃ E SSL

Criar uma aplicação JPA2 com EclipseLink e H2

FRWTC800 - Desenvolvimento Web com Ruby on Rails

Tutorial Básico. Instalando e testando o Ruby on Rails no Windows

Computação II Orientação a Objetos

Programação online em Java

Invocação de Métodos Remotos

Manual de instalação e configuração da Ferramenta Android SDK

O que é um framework?

Prof. Roberto Desenvolvimento Web Avançado

Tutorial Módulo 06 - Segurança

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

GEPLANES GESTÃO DE PLANEJAMENTO ESTRATÉGICO MANUAL DE INSTALAÇÃO DO GEPLANES EM UM AMBIENTE WINDOWS

Aplicabilidade: visão geral

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

Pratica JFlex. Prática criando o primeiro analisador léxico

O nome ANT é uma sigla para another neat tool (mais uma ferramenta organizada), segundo seu autor James Duncan Davidson.

1 Criar uma entity a partir de uma web application que usa a Framework JavaServer Faces (JSF)

Relatório do GPES. Descrição dos Programas e Plugins Utilizados. Programas Utilizados:

INFORMATIZAÇÃO DE FARMÁCIAS PÚBLICAS UTILIZANDO SOFTWARE

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

Objetivos: Entender o funcionamento dos programas Java via linha de comando

Instalando o J2SE 5.0 JDK no Windows 2000/XP

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Desenvolvendo Aplicações Web com NetBeans

Play. Aumente sua produtividade com o framework. No ano de 2007 o desenvolvedor Guillaume Bort

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Java. Marcio de Carvalho Victorino

Guião de Introdução ao Eclipse IDE Índice

Java para Desktop. Introdução à Plataforma Java JSE

Programação Orientada a Objetos (DPADF 0063)

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Documento de Arquitetura

Transcrição:

Aécio Costa

Abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. Fayad e Schmidt

Características Um framework captura a funcionalidade comum a várias aplicações. Um framework deve ser reusável. Para ser reusável, deve primeiro ser usável Bem documentado Fácil de usar Deve ser extensível O framework contém funcionalidade abstrata (sem implementação) que deve ser completada; Deve ser eficiente Devido a seu uso em muitas situações, algumas das quais poderão necessitar de eficiência; Deve ser completo Para endereçar o domínio do problema pretendido; Deve ser de uso seguro O desenvolvedor de aplicações não pode destruir o framework.

Grails É um framework para aplicações Web para JVM. OpenSource Full stack Scaffolding e Templating

Para o Grails: Antigas Tecnologias

Utiliza linguagem Groovy; Provê produtividade; Rápido, Dinâmico e Robusto; Programação por convenção; MVC nativo; Scaffolding; Plugins.

MVC É um modelo de arquitetura de software que separa uma aplicação em camadas de responsabilidade. O Model representa os dados, a View toda a apresentação e o Controller as regras de negócio que são colocadas na aplicação.

Quem usa Grails?

Scaffolding Gera Views Gera Controllers Tudo Automagicamente!

Linguagem Groovy Inspirada no Python, Ruby...; Linguagem Dinâmica; Plataforma Java; Especificação do JCP (JSR 241); Copy/Paste Compatibilty.

Linguagem Groovy O que Groovy tem de diferente de Java? Tipagem dinâmica; Recurso: attribute accessor; Closure; Métodos Dinâmicos; e mais...

Linguagem Groovy Tipagem dinâmica def name = João def names = [ João, José, Geraldo ]

Linguagem Groovy Atribute accessor class User{ } String nome Integer idade def user = new User(name: João, age: 23) user.nome = Pedro

Groovy veio acabar com a Regra dos 80/20 (Princípio de Pareto)

Exemplo de como a Linguagem Groovy é produtiva:

import java.util.arraylist; import java.util.list; class Seletor { private List selectbooksnamelessthan(list booknames, int length) { List resultado = new ArrayList(); for (int i = 0; i < booknames.size(); i++) { String candidate = (String) booknames.get(i); if (candidate.length() < length) { resultado.add(candidate); } } return resultado; } Seletor.java public static void main(string[] args) { List books = new ArrayList(); books.add("harry Potter"); books.add("a Vila"); books.add( O Exorcista"); Seletor s = new Seletor(); List selected = s.selectbooksnamelessthan(books, 10); System.out.println("Total Selecionados: " + selecionados.size()); for (int i = 0; i < selected.size(); i++) { String sel = (String) selecionados.get(i); System.out.println(sel); } } }

def books = ["Harry Potter, "A Vila, O Exorcista ] def selected = books. findall { it.size() <= 5} println "Total ${selecionados.size()} selected.each { sel -> } println sel Seletor.groovy

Cenário Atual Web Persistência Validações Logs Visualização Controladores Controle Transacional Injeção de Dependências Ajax Redirecionador de URL s Configuração por ambiente Internacionalização

Pré Requisito JDK Instalado Grails (www.grails.org - Baixar o Grails e descompactar) Criar uma variável de ambiente JAVA_HOME Criar uma variável de ambiente GRAILS_HOME Colocar no Path

Grails

Grails Baixar o ZIP Descompactar em uma pasta

Criar uma variável de ambiente JAVA_HOME Painel de Controle > Sistema > Configurações Avançadas > Variáveis de Ambiente

Criar uma variável de ambiente GRAILS_HOME Apontando para o lugar onde foi descompactado.

Editando a Variável Path %GRAILS_HOME%\bin; %JAVA_HOME%\bin;

Testanto as instalações cmd.exe javac version grails version

No Prompt de Comando (cmd) criamos uma aplicação. grails create-app helloworld

grails create-controller hello E após a criação do Controller editar o Arquivo HelloController.groovy class HelloController { def index() { render "Bem Vindo!" }}

Executando a aplicação: grails run-app

Aplicação Criada (Estrutura)

Em sua aplicação a pasta helloworld\grails-app\views contém todas as páginas HTML - Cuidado ao Editar pois existirão tags do Grails que podem fazer sua aplicação parar de funcionar, Exemplos de Tag s Grails: <g:meta name="app.version"/> ${org.codehaus.groovy.runtime.invokerhelper.getversion()} <g:each var="c" in="${grailsapplication.controllerclasses.sort { it.fullname } }"> </g:each> <li class="controller"><g:link controller="${c.logicalpropertyname}">${c.fullname}</g:link></li>

Voltando à Engenharia de Software:

Criando uma aplicação para Cadastro de Visitantes grails create-app visitantes grails create-domain-class Visitante

Editar o arquivo visitante\grails-app\domain\visitante.groovy package visitante class Visitante { String nome String endereco Date datanasc }

Gerando a aplicação a partir do domínio Visitante Scaffolding INSERT, UPDATE, DELETE, SEARCH grails generate-all Pacote com a classe deve ser informado visitantes.visitante

Projeto Unidade II Construção de um Software Utilização do Grails Relacionamentos Validações Mínimo de 5 Classes Customizações no HTML Apresentação Conteúdo Perguntas Nota Individual