DESENVOLVENDO APLICAÇÕES ÁGEIS E DINÂMICAS COM GROOVY E GRAILS

  • View
    3.017

  • Download
    2

Embed Size (px)

DESCRIPTION

Monografia na rea de desenvolvimento gil com a linguagem de programao Groovy e o framework Grails.

Transcript

CESED - CENTRO DE ENSINO SUPERIOR E DESENVOLVIMENTO FACISA - FACULDADE DE CINCIAS SOCIAIS APLICADAS CURSO DE BACHARELADO EM SISTEMAS DE INFORMAO

RENAN RIBEIRO BARBOZA ALBUQUERQUE

DESENVOLVENDO APLICAES GEIS E DINMICAS COM GROOVY E GRAILS

CAMPINA GRANDE - PB 2011

RENAN RIBEIRO BARBOZA ALBUQUERQUE

DESENVOLVENDO APLICAES GEIS E DINMICAS COM GROOVY E GRAILS

Trabalho de concluso de curso apresentado como pr-requisito para a obteno do ttulo Bacharel em Sistemas de Informao pela Faculdade de Cincias Sociais Aplicadas. rea de Concentrao: Desenvolvimento de sistemas web. Orientador: Bruno de Brito Leite.

Campina Grande - PB 2011

Trabalho de concluso de curso, Desenvolvendo aplicaes geis e dinmicas com Groovy e Grails, apresentado por Renan Ribeiro Barboza Albuquerque como parte dos requisitos para obteno do ttulo de Bacharel em Sistemas de Informao outorgado pela Faculdade de Cincias Sociais Aplicadas de Campina Grande PB. APROVADO EM: _____/ _____/ _____ BANCA EXAMINADORA: _________________________________ Prof. da FACISA Bruno de Brito Leite Orientador

1 Membro da Banca

2 Membro da Banca

AGRADECIMENTOS

Agradeo a Deus por ter me dado o dom da vida e foras para superar as dificuldades impostas durante todo o curso. Aos meus pais, pela grande contribuio na minha formao intelectual, moral e tica e que sempre me incentivaram para lutar pelos meus ideais. A minha querida av e irm pelo amor, carinho, dedicao e apoio que sempre me deram. Aos professores e coordenadores do curso de Sistemas de Informao pelo incentivo constante no decorrer de todo esse tempo de estudo, em especial, ao professor Bruno de Brito Leite, orientador da presente dissertao, pelo crdito, compreenso, pacincia e apoio que me deu durante sua realizao e ao professor Bruno Gama Cato que muito contribuiu para o meu crescimento intelectual, abrindo meu campo de viso para novos horizontes. A todos os meus parentes e amigos.

A experincia dos erros to importante quanto experincia dos acertos, porque vistos de um jeito certo, os erros nos preparam para as nossas vitrias e conquistas futuras, porque no h aprendizado na vida que no passe pela experincia dos erros. Pe. Fbio de Melo

RESUMO

A plataforma Java EE vem sendo criticada por muitos desenvolvedores, pela sua complexidade em relao ao seu desenvolvimento na web. Visando suprir estas complexidades, surgem diversas linguagens de programao com prticas em metodologias geis e dinmicas. Estas prticas alm de beneficiar na qualidade do desenvolvimento e manuteno de sistemas web, poupa o desenvolvedor, entre outras coisas, do trabalho repetitivo e tempo de desenvolvimento. Nesse contexto, o presente trabalho tem como objetivo apresentar para o leitor duas tecnologias: a linguagem de programao Groovy e um framework de alta produtividade fullstack Grails, que seguem esta tendncia de desenvolvimento de sistemas voltado para a web e tambm, por em prtica todo o contedo visto, atravs de um estudo de caso, mostrando as vantagens de se trabalhar com elas. O trabalho foi realizado atravs de pesquisa bibliogrfica, no qual foi baseado em consultas literrias e artigos cientficos, seguido de um estudo de caso, no qual foi possvel desenvolver uma aplicao, vivenciando as prticas que estas tecnologias proporcionam, onde percebe-se claramente, que os recursos e ferramentas que compe o Grails integrados a linguagem dinmica Groovy, tornam o cotidiano dos desenvolvedores mais prtico e produtivo no que diz respeito ao desenvolvimento de projetos corporativos. PALAVRAS-CHAVE: Groovy, framework Grails, sistemas web.

ABSTRACT

The Java EE platform has been criticized by many developers because of its complexity in relation to its development on the web. Aiming to overcome these complexities, there are several programming languages with practices in agile and dynamic. These practices also benefit the quality of development and maintenance of web systems, saves the developer, among other things, repetitive work and development time. In this context, this paper aims to introduce the reader to two technologies: the Groovy programming language and a framework of high productivity fullstack Grails, following this development trend of web-facing systems and also because in practice all the content seen through a case study showing the benefits of working with them. The study was conducted through literature search, which was based on consultations literary and scientific articles, followed by a case study in which it was possible to develop an application, experiencing the practices that these technologies offer, where it is clear that the resources and tools that comprise the integrated Grails Groovy dynamic language, make the daily life of the developers more practical and productive with regard to the development of corporate projects. KEYWORDS: Groovy, Grails framework, web systems.

LISTA DE ABREVIATURAS E SIGLAS

API COC CSS DRY EJB EL GANT GDK GDT GLS GORM GSP IDE JAR JAVA SE Java EE JCP JDK JDBC JEE JPA JRE JSP JSR JVM HTML MVC MOP MOR ORM

Application Programming Interface Convention Over Configuration Cascading Style Sheets Don't Repeat Yourself Enterprise JavaBeans Expression Language Groovy Ant Groovy Development Kit Groovy Developer Tools Groovy Language Specification Groovy Object Relational Mapping Groovy Server Pages Integrated Development Environment Java Archive Java Standard Edition Java Enterprise Edition Java Community Process Java Development Kit Java Database Connectivity Java Enterprise Edition Java Persistence API Java Runtime Environment Java Server Page Java Specification Request Java Virtual Machine HyperText Markup Language Model-View-Controller Meta-Object Protocol Mapeamento Objeto-Relacional Object-Relational Mapping

PDF POGO POJO SDK STS TCK TI URL XML

Portable Document Format Plain Old Groovy Object Plain Old Java Object Software Development Kit SpringSource Tool Suite Test Compatible Kit Tecnologia da Informao Uniform Resource Locator Extensible Markup Language

LISTA DE TABELAS

Tabela 1 - Operadores do Groovy ......................................................................................................31 Tabela 2 - Operadores relacionais do Groovy ....................................................................................31 Tabela 3- Tipos de dados no Groovy ..................................................................................................33 Tabela 4 - Actions default do Grails ...................................................................................................43 Tabela 5- Arquivos de configurao do banco de dados ....................................................................66

LISTA DE FIGURAS

Figura 1 - Tela do Prompt de Comando, executando o console Groovy ..............................................22 Figura 2 - GroovyConsole, executando o exemplo Alo,Groovy! ..........................................................23 Figura 3 - Tela do Prompt de Comando, verificando a configurao do Groovy ..................................35 Figura 4 - Estrutura de diretrios do Grails ........................................................................................39 Figura 5 - Arquitetura Grails ..............................................................................................................47 Figura 6 - Configurando a varivel de ambiento do Grails ..................................................................49 Figura 7 - Tela do Prompt de Comando, verificando a configurao do Grails ....................................50 Figura 8 - Tela principal do sistema ...................................................................................................52 Figura 9 - Caso de uso do sistema......................................................................................................53 Figura 10 - Diagrama de Classe ..........................................................................................................55 Figura 11 - Estrutura de diretrios da Aplicao ................................................................................57 Figura 12 - Classes Groovy dentro do diretrio domain na Aplicao .................................................58 Figura 13 - Controladores da Aplicao .............................................................................................59 Figura 14 - Aplicao sendo executada no terminal. ..........................................................................60 Figura 15 - Pgina inicial da aplicao. ...............................................................................................61 Figura 16 - Listagem de clientes cadastrados .....................................................................................61 Figura 17 - Tela de cadastro de um cliente ........................................................................................62 Figura 18 - Mapeamento de URL no Grails ........................................................................................62 Figura 19 - Arquivos de configurao do banco de dados ..................................................................65 Figura 20 - Views da Aplicao ..........................................................................................................68 Figura 21 - Abrindo o prompt de commando do Grails ......................................................................69 Figura 22 - Comando grails generate-all makeup.erp.Cliente.............................................................69 Figura 23 - Layout do Index.gsp .........................................................................................................71 Figura 24 - Pgina principal com o usurio logado .............................................................................76 Figura 25 - Tela de login ........