Apostila Curso Grails

  • View
    545

  • Download
    1

Embed Size (px)

Transcript

FIBONACCI SOLUES GEIS

Desenvolvimento de Aplicaes Corporativas com GrailsTreinamento avanado em desenvolvimento de sistemasFrederico Policarpo Martins 08/06/2011

Essa apostila referente a um curso completo de desenvolvimento de software, com durao de 120hs. O objetivo do curso tornar o aluno pronto para desenvolver aplicaes corporativas completas, usando o framework de desenvolvimento rpido Grails.

Desenvolvimento de Aplicaes Corporativas com Grails Contedo

2

Capitulo 01: Conceitos Bsicos de Arquitetura de Software......................................... 5 1.1 - O que Arquitetura de Software? ....................................................................... 5 1.2 - O que so aplicaes corporativas? ..................................................................... 6 1.3 - Quais os tipos de aplicaes corporativas? ........................................................ 7 1.4 - Solues comprovadas para problemas comuns: Padres .............................. 7 1.5 - O sistema para estacionamento: Estudo de Caso ............................................. 7 1.6 - Tecnologia base do treinamento: Grails ............................................................. 8 1.7 A estrutura de uma aplicao Grails ................................................................... 9 Prtica 01 ..........................................................................................................................10 1.8 - A linguagem Groovy ..............................................................................................11 Prtica 02 ..........................................................................................................................11 1.9 - O IDE Spring Tool Suite ........................................................................................12 Prtica 03 ..........................................................................................................................12 Captulo 02: Camada de Domnio .....................................................................................13 2.1 - Domain-Driven Design (DDD) .............................................................................13 2.2 - Programao Orientada a Objetos (POO) ..........................................................13 2.2.1 - Classe e Objetos..............................................................................................13 Prtica 04 ..........................................................................................................................16 2.2.2 - Herana e Polimorfismo .................................................................................17 Prtica 05 ..........................................................................................................................21 2.2.3 - Interfaces .........................................................................................................21 Prtica 06 ..........................................................................................................................23 2.2.4 - Pensando em Papeis+Comportamentos+Colaboraes na hora de definir seus objetos ......................................................................................................23 Prtica 07 ..........................................................................................................................24 2.3 - Testes de Unidade..................................................................................................24 Prtica 08 ..........................................................................................................................26 2.4 Cobertura de Testes..............................................................................................26 2.4.1 - Cobertura por Linha de Cdigo x Cobertura por Branch ..........................27 Prtica 09 ..........................................................................................................................28Copyright 2011 @ FiboDev - http://fibodev.com.br

Desenvolvimento de Aplicaes Corporativas com Grails

3

2.5 - Desenvolvimento Guiado por Testes (TDD) ......................................................28 Prtica 10 ..........................................................................................................................29 Capitulo 03: Camada de Persistncia ..............................................................................31 3.1 - Mapeamento Objeto Relacional ...........................................................................31 Prtica 11 ..........................................................................................................................32 3.1.1 - Mapeamento de Associaes ........................................................................32 3.1.1.1 - One-to-One...................................................................................................32 3.1.1.2 - One-to-Many ................................................................................................34 3.1.1.3 - Many-to-Many ..............................................................................................35 3.1.2 - Mapeamento de Composies ......................................................................35 3.1.3 - Mapeamento de Herana ...............................................................................36 3.2 - Realizando operaes de banco de dados .........................................................37 3.3 - Customizando o Mapeamento ..............................................................................37 3.4 - Consultas via Finders Dinmicos .........................................................................38 3.5 - Consultas via HQL.................................................................................................38 Prtica 12 ..........................................................................................................................39 3.6 - Sesso e Transao ...............................................................................................39 Prtica 13 ..............................................................................................................................39 3.7 - Configuraes de Banco........................................................................................39 Prtica 14 ..........................................................................................................................41 3.8 - Testes de Integrao .............................................................................................41 Prtica 15 ..........................................................................................................................42 Captulo 04: Camada de Servios ....................................................................................43 4.1 - O que so aspectos?..............................................................................................43 4.2 - Como criar meus servios? ..................................................................................43 Prtica 16 ..........................................................................................................................44 Captulo 05: Camada de Apresentao ...........................................................................45 5.1 Model View Controller (MVC)...............................................................................45 5.2 Controladores .........................................................................................................47 5.3 Grails Server Pages (GSP) ...................................................................................50 5.4 Customizando nossa interface grfica ...............................................................50Copyright 2011 @ FiboDev - http://fibodev.com.br

Desenvolvimento de Aplicaes Corporativas com Grails

4

5.4.1 Questes de Usabilidade...................................................................................50 5.4.2 Redirecionamento de Pginas..........................................................................50 Captulo 06: Configuraes do Grails...............................................................................51 6.1 BootStrap.groovy ..................................................................................................51 6.2 BuildConfig.groovy ................................................................................................51 6.3 DataSources.groovy..............................................................................................51 6.4 UrlMappings.groovy ..............................................................................................51 6.5 Fazendo o deploy de uma aplicao Grails .......................................................51 6.6 Configuraes de Idioma .....................................................................................51 6.7 Customizando controles GSP com as taglibs ....................................................51 6.8 Scripts de customizao de Builds .....................................................................51

Copyright 2011 @ FiboDev - http://fibodev.com.br

Desenvolvimento de Aplicaes Corporativas com Grails

5

Capitulo 01: Conceitos Bsicos de Arquitetura de Software1.1 - O que Arquitetura de Software?No mundo dos desenvolvedores de sistemas temos variadas definies sobre o que vem a ser a tal Arquitetura de Software. Para o nosso estudo vamos adotar a seguinte definio: Arquitetura de software um conjunto de estratgias que define como um software dividido em partes que possuem funcionamento bem definido e limitado e tambm as formas como essas partes se comunicam entre si. Pelo fato da arquitetura ser a base do sistema, suas partes maiores, alteraes nela so extremamente caras de se realizar. Neste curso iremos trabalhar com uma a