SlideShare una empresa de Scribd logo
1 de 44
Sviluppo Rapido di Applicazioni con Grails
Presentazioni ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007
Gli acciacchi dell'età ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
…  il tran tran quotidiano … ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],getters setters equals() hashCode() toString()
… i tempi che cambiano… Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 Java 1.4 Java 5 Java 6 J2EE JEE 5 Servlet JSP EJB EJB 2.0 EJB 3.0 Struts Tapestry Velocity Cocoon Java Server Faces Spring Spring MVC Spring Web Flow JDO Hibernate Log4J JUnit TestNG Ant Maven Google Web Toolkit AJAX
… l’insolenza dei giovani …
… tutti su Ruby? ,[object Object],[object Object],[object Object],[object Object],[object Object]
Cos'è Groovy? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Groovy Bytecode ,[object Object],.class .class JVM
JSR-241 ,[object Object],[object Object],Da Groovy posso chiamare classi Java Ma anche il viceversa! JRE Java JVM
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],def person = “John” println “””  ${new Date()} Dear $person, This is a Groovy letter! Best regards “””
Chiusure - Closures ,[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 Def square = {it * it} Assert [1,4,9] == [1,2,3].collect(square)
Collections e ranges  ,[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 [1,2,3,4].each {num -> println num}
Cos'è Grails? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dove nasce… ,[object Object],[object Object],[object Object],[object Object]
Demo!
Layout di progetto ,[object Object],Convention over Configuration : La struttura delle directory è standard >Grails create-app
Technology Stack JVM JDK Java language Java Enterprise Edition Spring Hibernate Quartz Grails Site-mesh
Built-in MVC architecture ,[object Object],[object Object],[object Object],[object Object]
Oltre il POJO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 Class utente { String nome String cognome String password Date lastLogin } POGO?
Convention over configuration ,[object Object],[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007
Controllers ,[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 ,[object Object],http://localhost:8080/demo/utente/display >grails create-controller
Scaffolding ,[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 Class UtenteController { def scaffold = Utente } … sufficiente a generare un intero CRUD
Scaffolding - 2 ,[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 ,[object Object],[object Object],>grails generate-all
Up and running – Web Server ,[object Object],[object Object],[object Object],[object Object]
Up and running - DB ,[object Object],[object Object],[object Object]
Up and Running – Logging ,[object Object],[object Object],[object Object],log4j:WARN No appenders could be found for logger (it.brando.example.domain.TestBaseProject). log4j:WARN Please initialize the log4j system properly.
Up and Running - ORM ,[object Object],[object Object],[object Object]
Ciclo di persistenza ,[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 ,[object Object]
Validazione ,[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 Class Utente { String nome String cognome String password String email Date lastLogin static constraints = [nome(blank:false),  cognome (blank:false),  email (email:true)]  }
Dynamic Finders ,[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 Utente.findByNomeAndCognome(‘Alberto’,‘Brandolini’) Utente.findByNome(‘Alberto’) ,[object Object],[object Object]
Hibernate ,[object Object],[object Object],[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007
Up and Running – I18n ,[object Object],[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007
Scaffolding ,[object Object],[object Object],[object Object],[object Object],[object Object],MOLTO
Un tool “forzatamente” agile ,[object Object],[object Object],[object Object],[object Object],[object Object],Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007
Strumenti di supporto ,[object Object],[object Object],[object Object]
Bibliografia ,[object Object]
Bibliografia ,[object Object]
Bibliografia collegata ,[object Object],[object Object]
Riferimenti ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...Pietro Di Bello
 
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme ProgrammingJacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme ProgrammingFrancesco Fullone
 
Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Matteo Emili
 
Test Driven Development @ Xe.Net
Test Driven Development @ Xe.NetTest Driven Development @ Xe.Net
Test Driven Development @ Xe.NetMauro Servienti
 
Lean prototyping al servizio del designer
Lean prototyping al servizio del designerLean prototyping al servizio del designer
Lean prototyping al servizio del designerLuca Scarpa
 
Lean Prototyping
Lean PrototypingLean Prototyping
Lean PrototypingLuca Scarpa
 
Agile web development - Forum IISF - 2016
Agile web development - Forum IISF - 2016Agile web development - Forum IISF - 2016
Agile web development - Forum IISF - 2016Luciano Amodio
 
Volevo solo scrivere codice iad 2011
Volevo solo scrivere codice iad 2011Volevo solo scrivere codice iad 2011
Volevo solo scrivere codice iad 2011Alberto Brandolini
 
Right here, right now: come capire e intercettare i momenti cruciali di un’es...
Right here, right now: come capire e intercettare i momenti cruciali di un’es...Right here, right now: come capire e intercettare i momenti cruciali di un’es...
Right here, right now: come capire e intercettare i momenti cruciali di un’es...Ilaria Mauric
 
Manifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareManifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareAmmLibera AL
 
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.Jacopo Romei
 
SCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendistiSCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendistiSimone Lelli
 
Le 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile DayLe 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile DayClaudio Perrone
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Manuel Scapolan
 

La actualidad más candente (17)

Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdu...
 
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme ProgrammingJacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming
 
Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?
 
Test Driven Development @ Xe.Net
Test Driven Development @ Xe.NetTest Driven Development @ Xe.Net
Test Driven Development @ Xe.Net
 
Lean prototyping al servizio del designer
Lean prototyping al servizio del designerLean prototyping al servizio del designer
Lean prototyping al servizio del designer
 
Lean Prototyping
Lean PrototypingLean Prototyping
Lean Prototyping
 
Agile web development - Forum IISF - 2016
Agile web development - Forum IISF - 2016Agile web development - Forum IISF - 2016
Agile web development - Forum IISF - 2016
 
Volevo solo scrivere codice iad 2011
Volevo solo scrivere codice iad 2011Volevo solo scrivere codice iad 2011
Volevo solo scrivere codice iad 2011
 
Right here, right now: come capire e intercettare i momenti cruciali di un’es...
Right here, right now: come capire e intercettare i momenti cruciali di un’es...Right here, right now: come capire e intercettare i momenti cruciali di un’es...
Right here, right now: come capire e intercettare i momenti cruciali di un’es...
 
Manifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareManifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di Software
 
Anti pattern
Anti patternAnti pattern
Anti pattern
 
Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...
Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...
Raccolta Contributi dei Relatori, Parte 1 - Hr Vision & Innovation Workshop E...
 
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
 
SCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendistiSCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendisti
 
Le 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile DayLe 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile Day
 
Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...
Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...
Raccolta Contributi dei Relatori, Parte 2 - Workshop ETAss 2015 - HR Vision &...
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!
 

Similar a Sviluppo Rapido Di Applicazioni Con Grails

Struttin' on, novità in casa Struts
Struttin' on, novità in casa StrutsStruttin' on, novità in casa Struts
Struttin' on, novità in casa StrutsMarcello Teodori
 
javaday 2006 - Tiger
javaday 2006 - Tigerjavaday 2006 - Tiger
javaday 2006 - TigerMatteo Baccan
 
JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5Marcello Teodori
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
 
Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Giancarlo Valente
 
Anti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo evitiAnti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo evitiSimone Federici
 
Scala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéScala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéEdmondo Porcu
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLSinergia Totale
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailDotNetMarche
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webLuca Milan
 
Working between the clouds (versione completa)
Working between the clouds (versione completa)Working between the clouds (versione completa)
Working between the clouds (versione completa)Davide Cerbo
 
Data binding libera tutti!
Data binding libera tutti!Data binding libera tutti!
Data binding libera tutti!Salvatore Laisa
 
Data binding libera tutti!
Data binding libera tutti!Data binding libera tutti!
Data binding libera tutti!Appsterdam Milan
 
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Marco Parenzan
 
Node.js – Convincing the boss
Node.js – Convincing the bossNode.js – Convincing the boss
Node.js – Convincing the bossClaudio Cicali
 
Niccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTNiccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTfirenze-gtug
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
 

Similar a Sviluppo Rapido Di Applicazioni Con Grails (20)

Struttin' on, novità in casa Struts
Struttin' on, novità in casa StrutsStruttin' on, novità in casa Struts
Struttin' on, novità in casa Struts
 
javaday 2006 - Tiger
javaday 2006 - Tigerjavaday 2006 - Tiger
javaday 2006 - Tiger
 
JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5JBoss Seam, un framework per Java EE 5
JBoss Seam, un framework per Java EE 5
 
Rich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.jsRich client application: MVC4 + MVVM = Knockout.js
Rich client application: MVC4 + MVVM = Knockout.js
 
Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)
 
Anti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo evitiAnti pattern se lo conosci lo eviti
Anti pattern se lo conosci lo eviti
 
Scala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéScala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perché
 
Java introduzione
Java introduzioneJava introduzione
Java introduzione
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTML
 
Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
 
AngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni webAngularJS – Reinventare le applicazioni web
AngularJS – Reinventare le applicazioni web
 
Working between the clouds (versione completa)
Working between the clouds (versione completa)Working between the clouds (versione completa)
Working between the clouds (versione completa)
 
Data binding libera tutti!
Data binding libera tutti!Data binding libera tutti!
Data binding libera tutti!
 
Data binding libera tutti!
Data binding libera tutti!Data binding libera tutti!
Data binding libera tutti!
 
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
Lo sai che si può fare DDD in Javascript grazie a Typescript? Visual Studio e...
 
Node.js – Convincing the boss
Node.js – Convincing the bossNode.js – Convincing the boss
Node.js – Convincing the boss
 
Niccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWTNiccolò Becchi: Introduzione a GWT
Niccolò Becchi: Introduzione a GWT
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain model
 
Dessi Tech Day2008 Cagliari
Dessi Tech Day2008 CagliariDessi Tech Day2008 Cagliari
Dessi Tech Day2008 Cagliari
 

Más de Alberto Brandolini

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalitàAlberto Brandolini
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Alberto Brandolini
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Alberto Brandolini
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingAlberto Brandolini
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio managementAlberto Brandolini
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionAlberto Brandolini
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Alberto Brandolini
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimationAlberto Brandolini
 
Bullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkBullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkAlberto Brandolini
 

Más de Alberto Brandolini (20)

L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021
 
What lies beneath
What lies beneathWhat lies beneath
What lies beneath
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
 
Extreme DDD modelling
Extreme DDD modellingExtreme DDD modelling
Extreme DDD modelling
 
The gordian knot
The gordian knotThe gordian knot
The gordian knot
 
Software design as a cooperative game with EventStorming
Software design as a cooperative game with EventStormingSoftware design as a cooperative game with EventStorming
Software design as a cooperative game with EventStorming
 
50.000 orange stickies later
50.000 orange stickies later50.000 orange stickies later
50.000 orange stickies later
 
The alignment
The alignmentThe alignment
The alignment
 
Chasing elephants
Chasing elephantsChasing elephants
Chasing elephants
 
Transactions redefined
Transactions redefinedTransactions redefined
Transactions redefined
 
Optimized for what
Optimized for whatOptimized for what
Optimized for what
 
Guerrilla portfolio management
Guerrilla portfolio managementGuerrilla portfolio management
Guerrilla portfolio management
 
The precision blade
The precision bladeThe precision blade
The precision blade
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
 
Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014Why do all my ddd apps look the same - Vienna 2014
Why do all my ddd apps look the same - Vienna 2014
 
The sweet spot
The sweet spotThe sweet spot
The sweet spot
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimation
 
Bullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talkBullshit Asymmetry Principle lightning talk
Bullshit Asymmetry Principle lightning talk
 
Event storming recipes
Event storming recipesEvent storming recipes
Event storming recipes
 

Sviluppo Rapido Di Applicazioni Con Grails

  • 1. Sviluppo Rapido di Applicazioni con Grails
  • 2.
  • 3.
  • 4.
  • 5.
  • 6. … i tempi che cambiano… Alberto Brandolini – abrandolini@mokabyte.it - Mokabyte Javaday Roma - 01/12/2007 Java 1.4 Java 5 Java 6 J2EE JEE 5 Servlet JSP EJB EJB 2.0 EJB 3.0 Struts Tapestry Velocity Cocoon Java Server Faces Spring Spring MVC Spring Web Flow JDO Hibernate Log4J JUnit TestNG Ant Maven Google Web Toolkit AJAX
  • 7. … l’insolenza dei giovani …
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Demo!
  • 18.
  • 19.
  • 20. Technology Stack JVM JDK Java language Java Enterprise Edition Spring Hibernate Quartz Grails Site-mesh
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.