SlideShare une entreprise Scribd logo
1  sur  39
Présentation de Grails Un Framework de développement Web agile page 2 N. ADOUANI - février 10
Sommaire ,[object Object]
Un peu d’histoire
Architecture, principes et composantes de Grails
Grails et les méthodologies agiles
Démos
Conclusionspage 3 N. ADOUANI - février 10
Introduction N. ADOUANI - février 10 page 4 Grails est un Framework de développement  Web, type MVC, dit de « haute productivité ».  Il est construit autour de technologies qui  ont fait leurs preuves dans l’écosystème  Java/J2ee tel que Spring, Hibernate, Sitemesh et autres. Il est basé sur le langage dynamique Groovy et sur certains paradigmes du génie logiciel comme « la configuration basée sur les conventions »
Objectifs L’objectif de cette présentation est : ,[object Object]
de faire un rapprochement entre Grails et les méthodologies agiles
montrer des exemples d’intégration de Grails avec les Frameworks AJAX, FLEX, etc…N. ADOUANI - février 10 page 5
Un peu d’histoire page 6 N. ADOUANI - février 10
Un peu d’histoire N. ADOUANI - février 10 page 7 Graeme Rocher : le fondateur du projet Grails Guillaume Laforge: le chef du projet Groovy Ils ont créé la société G2One qui a été rachetée par SpringSource en Novembre 2008
Un peu d’histoire N. ADOUANI - février 10 page 8 Grails = Pluriel de « grail » en anglais = Les Graals, d’où le logo du Framework Grails = Groovy on Rails par analogie au Framework Ruby on Rails
Grails, plus de détails page 9 N. ADOUANI - février 10
L’architecture page 10 Le langageGroovy Plugin xfire Plugin CMS Plugin GAE Plugin Flex Plugin jQuery Plugin Acegi Plugin Maven Plugin CouchDB Grails Plugin iWebKit Plugin Searchable Plugin RemotePagination Plugin Quartz HSQL db JUnit Jetty Log4j Java EE Spring Hibernate SiteMesh Le langage Java Le java Development Kit (JDK) La Java Virual Machine N. ADOUANI - février 10
Principes de Grails (1) ,[object Object]
Scaffolding (génération de code)
Tests unitaires
Les pluginsN. ADOUANI - février 10 page 11
Principes de Grails (2) Convention over configuration ,[object Object]
Il est aussi possible d’utiliser des fichiers de config si le besoin se fait sentir
Exemple: le nom d’une classe persistante est identique au nom de la table correspondante dans une base de données.N. ADOUANI - février 10 page 12
Principes de Grails (3)Scaffolding ,[object Object]
Cette technique est souvent utilisée pour générer les pages CRUD des applications selon le modèle MVC
Il existe deux types de scaffolding en Grails:
Dynamique : les contrôleurs et les vues sont générés en  « runtime » (au cours de l’exécution) =>  la modification du modèle ne demande pas de régénération de code
Statique : le code source des contrôleurs et des vues est généré lors du développement=> la modification du modèle métier nécessite une régénération de codeN. ADOUANI - février 10 page 13
Principes de Grails (4)Tests unitaires ,[object Object]
Grails fait la différence entre:
Tests unitaires: des tests qui n’ont aucune dépendance, notamment vers la base de données, le conteneur de Servlet, les interactions HTTP, les WS s’il y en a…=> nécessité d’utiliser des objets mock (bouchons)
Tests d’intégration: des tests qui ont accès à tout l’environnement de l’application (accès à la base de données, à la session, la requete HTTP…
Tests fonctionnels automatisés de l’IHM, type Selenium ou FitNessN. ADOUANI - février 10 page 14
Principes de Grails (5)Système de plugins ,[object Object]
Sécurité: Acegi
Mapping Objet Relationnel: JPA et JDO
Web Service : xfire, Spring WS
Web Flow : SpringWebFlow

Contenu connexe

Tendances

[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림NAVER D2
 
Le redressement de projets en péril
Le redressement de projets en périlLe redressement de projets en péril
Le redressement de projets en périlPMI-Montréal
 
Présentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source javaPrésentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source javaFabien Baligand
 
Générateur de guides d’audit informatique (based on cobit methodology)
Générateur de guides d’audit informatique (based on cobit methodology)Générateur de guides d’audit informatique (based on cobit methodology)
Générateur de guides d’audit informatique (based on cobit methodology)Ammar Sassi
 
Doctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battusDoctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battusRomaric Drigon
 
Cours 20de-20simulation
Cours 20de-20simulationCours 20de-20simulation
Cours 20de-20simulationJihad Makhlouf
 
공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스  공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스 SANGHEE SHIN
 
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트Atlassian 대한민국
 
Advanced Product Quality Planning
Advanced Product Quality PlanningAdvanced Product Quality Planning
Advanced Product Quality PlanningZouhair Boufakri
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA Terry Cho
 
Présentation retour d'expérience conrad & robin tran
Présentation retour d'expérience conrad & robin tran Présentation retour d'expérience conrad & robin tran
Présentation retour d'expérience conrad & robin tran Rémi Bachelet
 
Reactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSReactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSJavier Abadía
 
모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용Kevin Kim
 
[WWCS] 15분만에 끝내는 LinkedIn 활용법
[WWCS] 15분만에 끝내는 LinkedIn 활용법[WWCS] 15분만에 끝내는 LinkedIn 활용법
[WWCS] 15분만에 끝내는 LinkedIn 활용법SujinLee92
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPLilia Sfaxi
 
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용Tapjoy X 5Rocks
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기Changyol BAEK
 
poka yoké, knban , kaizen
poka yoké, knban , kaizenpoka yoké, knban , kaizen
poka yoké, knban , kaizenZakaria Rhoulben
 
Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기Dronix
 

Tendances (20)

Audit des projets informatiques
Audit des projets informatiquesAudit des projets informatiques
Audit des projets informatiques
 
[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림[211]대규모 시스템 시각화 현동석김광림
[211]대규모 시스템 시각화 현동석김광림
 
Le redressement de projets en péril
Le redressement de projets en périlLe redressement de projets en péril
Le redressement de projets en péril
 
Présentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source javaPrésentation de alfresco - l'outil de GED open-source java
Présentation de alfresco - l'outil de GED open-source java
 
Générateur de guides d’audit informatique (based on cobit methodology)
Générateur de guides d’audit informatique (based on cobit methodology)Générateur de guides d’audit informatique (based on cobit methodology)
Générateur de guides d’audit informatique (based on cobit methodology)
 
Doctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battusDoctrine en dehors des sentiers battus
Doctrine en dehors des sentiers battus
 
Cours 20de-20simulation
Cours 20de-20simulationCours 20de-20simulation
Cours 20de-20simulation
 
공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스  공간정보 최근 동향과 디지털트윈, 메타버스
공간정보 최근 동향과 디지털트윈, 메타버스
 
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트
[AIS 2018] [Team Tools_Basic] Confluence는 어떻게 쓰나요 - 모우소프트
 
Advanced Product Quality Planning
Advanced Product Quality PlanningAdvanced Product Quality Planning
Advanced Product Quality Planning
 
애자일 스크럼과 JIRA
애자일 스크럼과 JIRA 애자일 스크럼과 JIRA
애자일 스크럼과 JIRA
 
Présentation retour d'expérience conrad & robin tran
Présentation retour d'expérience conrad & robin tran Présentation retour d'expérience conrad & robin tran
Présentation retour d'expérience conrad & robin tran
 
Reactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJSReactividad en Angular, React y VueJS
Reactividad en Angular, React y VueJS
 
모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용모바일 앱 개발을 위한 Agile 적용
모바일 앱 개발을 위한 Agile 적용
 
[WWCS] 15분만에 끝내는 LinkedIn 활용법
[WWCS] 15분만에 끝내는 LinkedIn 활용법[WWCS] 15분만에 끝내는 LinkedIn 활용법
[WWCS] 15분만에 끝내는 LinkedIn 활용법
 
Chp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERPChp3 - Fonctionnement des ERP
Chp3 - Fonctionnement des ERP
 
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
 
훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기훌륭한 개발자로 성장하기
훌륭한 개발자로 성장하기
 
poka yoké, knban , kaizen
poka yoké, knban , kaizenpoka yoké, knban , kaizen
poka yoké, knban , kaizen
 
Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기Docker로 서버 개발 편하게 하기
Docker로 서버 개발 편하게 하기
 

En vedette

Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.Infinity
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovyguest6e3bed
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation GroovyJS Bournival
 
Application Architectures in Grails
Application Architectures in GrailsApplication Architectures in Grails
Application Architectures in GrailsPeter Ledbrook
 
Família escola.13-14ppt
Família escola.13-14pptFamília escola.13-14ppt
Família escola.13-14pptROSARIO V
 
Paris grands espaces 1900
Paris grands espaces 1900Paris grands espaces 1900
Paris grands espaces 1900lys167
 
Fluctuat nec mergitur
Fluctuat nec mergiturFluctuat nec mergitur
Fluctuat nec mergiturfrancesnora
 
Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...
Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...
Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...LinuQ
 
Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...
Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...
Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...Gilles Martin
 
Internet mobile : percée, disparités
Internet mobile : percée, disparitésInternet mobile : percée, disparités
Internet mobile : percée, disparitésGérard Marquié
 
Planification comment faire tenir tout ensemble
Planification    comment faire tenir tout ensemblePlanification    comment faire tenir tout ensemble
Planification comment faire tenir tout ensembleAkobe Jean Stanislas Akobe
 
Moteur frein aluminium
Moteur frein aluminiumMoteur frein aluminium
Moteur frein aluminiumEuropages2
 
Entrevista EZ Revista Electricidad Perú
Entrevista EZ Revista Electricidad PerúEntrevista EZ Revista Electricidad Perú
Entrevista EZ Revista Electricidad PerúEduardo Zolezzi
 
Presentación trabajo colaborativo_wiki9_grupo1
Presentación trabajo colaborativo_wiki9_grupo1Presentación trabajo colaborativo_wiki9_grupo1
Presentación trabajo colaborativo_wiki9_grupo1edwindelgado75
 
Macroeconomía 1
Macroeconomía 1Macroeconomía 1
Macroeconomía 1Luz García
 

En vedette (20)

Groovy presentation.
Groovy presentation.Groovy presentation.
Groovy presentation.
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Dynamic Languages
Dynamic LanguagesDynamic Languages
Dynamic Languages
 
Présentation Groovy
Présentation GroovyPrésentation Groovy
Présentation Groovy
 
Introduction to Grails
Introduction to GrailsIntroduction to Grails
Introduction to Grails
 
Application Architectures in Grails
Application Architectures in GrailsApplication Architectures in Grails
Application Architectures in Grails
 
Família escola.13-14ppt
Família escola.13-14pptFamília escola.13-14ppt
Família escola.13-14ppt
 
Paris grands espaces 1900
Paris grands espaces 1900Paris grands espaces 1900
Paris grands espaces 1900
 
Fluctuat nec mergitur
Fluctuat nec mergiturFluctuat nec mergitur
Fluctuat nec mergitur
 
Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...
Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...
Présentation LinuQ "Ouverture des données à la ville de Québec : approche et ...
 
Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...
Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...
Ma présentation à la conférence des Echos sur la mobilité : Les données mais ...
 
Internet mobile : percée, disparités
Internet mobile : percée, disparitésInternet mobile : percée, disparités
Internet mobile : percée, disparités
 
Enseignants
EnseignantsEnseignants
Enseignants
 
Planification comment faire tenir tout ensemble
Planification    comment faire tenir tout ensemblePlanification    comment faire tenir tout ensemble
Planification comment faire tenir tout ensemble
 
Moteur frein aluminium
Moteur frein aluminiumMoteur frein aluminium
Moteur frein aluminium
 
Entrevista EZ Revista Electricidad Perú
Entrevista EZ Revista Electricidad PerúEntrevista EZ Revista Electricidad Perú
Entrevista EZ Revista Electricidad Perú
 
Presentación trabajo colaborativo_wiki9_grupo1
Presentación trabajo colaborativo_wiki9_grupo1Presentación trabajo colaborativo_wiki9_grupo1
Presentación trabajo colaborativo_wiki9_grupo1
 
Présentation congrès 2013
Présentation congrès 2013Présentation congrès 2013
Présentation congrès 2013
 
Festival Coriolis
Festival CoriolisFestival Coriolis
Festival Coriolis
 
Macroeconomía 1
Macroeconomía 1Macroeconomía 1
Macroeconomía 1
 

Similaire à Grails Un Framework Web Agile

#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniterAtsé François-Xavier KOBON
 
Angluars js
Angluars jsAngluars js
Angluars jsRYMAA
 
Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Javatcouery
 
Introduction au Framework AngularJs
Introduction au Framework AngularJsIntroduction au Framework AngularJs
Introduction au Framework AngularJsRadhoueneRouached
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdfimenhamada17
 
Aperçu de RequireJS
Aperçu de RequireJSAperçu de RequireJS
Aperçu de RequireJSVISEO
 
Présentation Gradle au LyonJUG par Grégory Boissinot - Zenika
Présentation Gradle au LyonJUG par Grégory Boissinot - ZenikaPrésentation Gradle au LyonJUG par Grégory Boissinot - Zenika
Présentation Gradle au LyonJUG par Grégory Boissinot - ZenikaZenika
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Xavier NOPRE
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflineDNG Consulting
 
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech - Décollage d’une plateforme digitale vers le Cloud AzureValtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech - Décollage d’une plateforme digitale vers le Cloud AzureValtech
 
AFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIAFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIRomain Cambien
 

Similaire à Grails Un Framework Web Agile (20)

#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
Angluars js
Angluars jsAngluars js
Angluars js
 
Google App Engine For Java
Google App Engine For JavaGoogle App Engine For Java
Google App Engine For Java
 
jQuery vs AngularJS
jQuery vs AngularJS jQuery vs AngularJS
jQuery vs AngularJS
 
Gradle_LyonJUG
Gradle_LyonJUGGradle_LyonJUG
Gradle_LyonJUG
 
Introduction au Framework AngularJs
Introduction au Framework AngularJsIntroduction au Framework AngularJs
Introduction au Framework AngularJs
 
Prezentare ASP.Net.pptx
Prezentare ASP.Net.pptxPrezentare ASP.Net.pptx
Prezentare ASP.Net.pptx
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
Aperçu de RequireJS
Aperçu de RequireJSAperçu de RequireJS
Aperçu de RequireJS
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker
 
Présentation Gradle au LyonJUG par Grégory Boissinot - Zenika
Présentation Gradle au LyonJUG par Grégory Boissinot - ZenikaPrésentation Gradle au LyonJUG par Grégory Boissinot - Zenika
Présentation Gradle au LyonJUG par Grégory Boissinot - Zenika
 
Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013Play framework - Human Talks Grenoble - 12.02.2013
Play framework - Human Talks Grenoble - 12.02.2013
 
Meet up sqli lyon 09-2015 - Gradle
Meet up sqli lyon 09-2015 - GradleMeet up sqli lyon 09-2015 - Gradle
Meet up sqli lyon 09-2015 - Gradle
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
 
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech - Décollage d’une plateforme digitale vers le Cloud AzureValtech - Décollage d’une plateforme digitale vers le Cloud Azure
Valtech - Décollage d’une plateforme digitale vers le Cloud Azure
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
AFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open APIAFUP Aix/Marseille - 16 mai 2017 - Open API
AFUP Aix/Marseille - 16 mai 2017 - Open API
 
Formation gwt
Formation gwtFormation gwt
Formation gwt
 
Gradle_ToulouseJUG
Gradle_ToulouseJUGGradle_ToulouseJUG
Gradle_ToulouseJUG
 

Grails Un Framework Web Agile