grails framework

Georgios Karamanolis
Georgios KaramanolisCo-Founder & CTO/CIO at Crowdpolicy (CP) and Socialbank Financial Technologies (SB)
Mέζνδνη Αλάπηπμεο
ινγηζκηθνύ / GRAILS #1
Πεξηερόκελα
•   Μηα Σύληνκε Πεξηγξαθή
•   Εηζαγωγή
•   Grails & Groovy
•   Πεξηβάιινλ αλάπηπμεο
•   Δηαδηθαζία Αλάπηπμεο
•   Πεξηβάιινλ Αλάπηπμεο
•   Φαξαθηεξηζηηθά Αλάπηπμεο Εθαξκνγήο
     o   Δνκή Τάμεωλ θαη Παθέηωλ (overview)
     o   Class Ticket
     o   Class User
     o   Enumeration UserRole
     o   Enumeration TicketCategory
     o   Enumeration Ticket Status
     o   Views,Uis,Controllers
     o   Java byte code
     o   Aπνζήθεπζε Δεδνκέλωλ
•   Οζόλεο
•   Παξαπνκπέο & Οδεγίεο Εγθαηάζηαζεο
Μια ζύνηομη πεπιγπαθή
«Η εθαξκνγή ζα πξέπεη λα παξέρεη ζηα
ζηειέρε ηνπ Οξγαληζκνύ Φ ηελ δπλαηόηεηα
ππνβνιήο αηηεκάηωλ ηερληθήο ππνζηήξημεο .
Τα αηηήκαηα ζα θαηεγνξηνπνηνύληαη αλάινγα
κε ην είδνο ηνπ πξόβιεκαηνο. Σηειέρε ηεο
Τερληθήο Υπνζηήξημεο ζα έρνπλ ηελ
δπλαηόηεηα δηαρείξηζεο ηνπο»
Εηζαγωγή
• Σηόσορ : Η αλάπηπμε ιεηηνπξγηθόηεηαο
  βαζηζκέλεο ζην κνληέιν δεδνκέλωλ θαη
  ζηηο πεξηγξαθέο ηωλ πξνεγνύκελωλ
  παξαδνηέωλ
• Επγαλεία : Φξήζε ηνπ java πιαηζίνπ
  (framework) Grails ην νπνίν επηηξέπεη
  γξήγνξε αλάπηπμε εθαξκνγώλ ζην
  κνληέιν MVC, Φξήζε Apache Tomcat θαη
  hibernate γηα ηελ πξνζωξηλή απνζήθεπζε
  δεδνκέλωλ
Μεθοδολογία Υλοποίηζηρ

•   Καηαγξαθή Απαηηήζεωλ
•   Αλάιπζε Απαηηήζεωλ
•   Σρεδίαζε Λνγηζκηθνύ
•   Ανάπηςξη με σπήζη ηος framework
    Grails (Παπαδοηέο 4)
• Grails is an advanced and innovative open source web
  application platform
• Delivers new levels of developer productivity by applying
  principles like Convention over Configuration
• Helps development teams embrace agile
  methodologies, deliver quality applications in reduced
  amounts of time, and focus on what really matters:
  creating high quality, easy to use applications that
  delight users.
• Grails naturally complements Java application
  development since it is built on Spring and based on
  Groovy, the leading dynamic language for the Java
  platform.
H γιώζζα Groovy
• is an agile and dynamic language for the Java Virtual Machine
• builds upon the strengths of Java but has additional power features
  inspired by languages like Python, Ruby and Smalltalk
• makes modern programming features available to Java developers
  with almost-zero learning curve
• supports Domain-Specific Languages and other compact syntax so
  your code becomes easy to read and maintain
• makes writing shell and build scripts easy with its powerful
  processing primitives, OO abilities and an Ant DSL
• increases developer productivity by reducing scaffolding code
  when developing web, GUI, database or console applications
• simplifies testing by supporting unit testing and mocking out-of-the-
  box
• seamlessly integrates with all existing Java classes and libraries
• compiles straight to Java bytecode so you can use it anywhere you
  can
Πεξηβάιινλ Αλάπηπμεο
•   Φξεζηκνπνηείηαη ην eclipse κε ελζωκαηωκέλα ηα εξγαιεία SPRINGSOURCE
Δηαδηθαζία αλάπηπμεο
• Tα βήκαηα ζηελ δηαδηθαζία αλάπηπμεο :
   1. Φξήζε ηνπ κνληέινπ δεδνκέλωλ
   2. Δεκηνπξγία αληίζηνηρωλ ηάμεωλ (Domain
   Classes)
   3. Δεκηνπξγία ηάμεωλ ειεγθηώλ ( Controller
   Classes)
   4. Δεκηνπξγία Views
   5. Δεκηνπξγία Test Τάμεωλ (Test Classes)
   6. H Εθαξκνγή ζε (δνθηκαζηηθή) ιεηηνπξγία...
Φαξαθηεξηζηηθά & Εθδόζεηο
 • #4 domain classes
# 2 controller Classes
 • App version: 0.1
 • Grails version: 1.3.5
 • Groovy version: 1.7.5
 • JVM version: 1.5.0_26
 • Controllers: 4
 • Domains: 2
Δνκή Τάμεωλ Εθαξκνγήο -
       Παθέηωλ
Class User
Class Ticket
TicketCategory (Enumeration)
UserRole (Enumeration)
TicketStatus (Enumeration)
Views, Controllers, Uis
 • Μεηά ηελ δεκηνπξγία ηωλ Domain Class θαη κε
   ρξήζε εληνιώλ ηνπ πιαηζίνπ πινπνηνύληαη
   αςηόμαηα νη controllers θαη views θαη παξάγεηαη
   java εκηελέζιμορ θώδηθαο.
 • Παξάιιεια πινπνηείηαη αςηομαηα ε δνκή
   απνζήθεπζεο ηύπνπ ORM (object relational
   mapping)
*Τα views εηλαη ζε gsp (grails server pages) θαη
κπνξνύλ εύθνια λα παξακεηξνπνηνύληαη δπλακηθά
*Οη controllers ηεο εθαξκνγήο είαλη ζε γιώζζα
groovy
Java byte Code
Παξάγεηαη java εθηειέζηκνο θώδηθαο
Απνζήθεπζε
• Γηα ηελ απνζήθεπζε ρξεζηκνπνηείηαη JPA
  (JAVA PERSISTENCE API θαη
  HIBERNATE πξνθεηκέλνπ λα γίλεη map ζε
  ζρεζηαθό ζρήκα)
• Τα δεδνκέλα ηεο εθαξκνγήο
  απνζεθεύνληαη πξνζωξηλά ζε HSQLDB
  (hibernate SQL)
Οζόλεο Εθαξκνγήο :Aξρηθή
         Σειίδα
Οζόλεο Εθαξκνγήο : Nένο
                            ρξήζηεο
* Σηελ αξρή νξίδνληαη ελδεηθηηθνί ρξήζηεο
ηνπ ζπζηήκαηνο
Οζόλεο Εθαξκνγήο : Νέν
              Αίηεκα
• Aθνξά αίηεκα ηερληθήο ππνζηήξημεο πνπ ππνβάιεηαη από ηνλ
  Υπάιιειν
Οζόλεο Εθαξκνγήο : Δηαρείξηζε
            Αίηεκαηνο
• Aθνξά αιιαγή θαηάζηαζεο ηνπ αηηήκαηνο από OPEN ζε CLOSED
  θαη απνζήθεπζε
Οζόλεο Εθαξκνγήο : πξνβνιή
        αηηεκάηωλ
Παξαπνκπέο θαη νδεγίεο
• Grails : http://www.grails.org
• Groovy : http://groovy.codehaus.org/
• Οδεγίεο Εγθαηάζηαζεο
  http://www.grails.org/Documentation
• Agile κεζνδνινγία αλάπηπμεο ινγηζκηθνύ
  http://agilemanifesto.org/
• Φξήζηκα tutorials ηεο IBM γηα αλάπηπμεο ζε grails
   o http://www.ibm.com/developerworks/java/library/j-
     grails01158/index.html
   o http://www.ibm.com/developerworks/views/java/library
     view.jsp?search_by=mastering+grails
• Spring Source Tool Suite
  http://www.springsource.com/developer/sts
1 of 25

Recommended

Real Life Task Parallel Library, ITProDevConnections 2011 (Greek) by
Real Life Task Parallel Library, ITProDevConnections 2011 (Greek)Real Life Task Parallel Library, ITProDevConnections 2011 (Greek)
Real Life Task Parallel Library, ITProDevConnections 2011 (Greek)Panagiotis Kanavos
367 views30 slides
Τεχνολογίες Κοινωνικής Δικτύωσης στην Εκπαίδευση-Παρουσίαση εργαλείων by
Τεχνολογίες Κοινωνικής Δικτύωσης στην Εκπαίδευση-Παρουσίαση εργαλείωνΤεχνολογίες Κοινωνικής Δικτύωσης στην Εκπαίδευση-Παρουσίαση εργαλείων
Τεχνολογίες Κοινωνικής Δικτύωσης στην Εκπαίδευση-Παρουσίαση εργαλείωνalexpala
581 views13 slides
public sector innovation - opengov projects by
public sector innovation -  opengov projectspublic sector innovation -  opengov projects
public sector innovation - opengov projectsGeorgios Karamanolis
4.2K views18 slides
Social media και δημόσια διοίκηση by
Social media και δημόσια διοίκησηSocial media και δημόσια διοίκηση
Social media και δημόσια διοίκησηGeorgios Karamanolis
4.7K views20 slides
Geodatagovgr info el by
Geodatagovgr info elGeodatagovgr info el
Geodatagovgr info elGeorgios Karamanolis
368 views8 slides
15 v1 latest version - parousiasi 2 by
15 v1 latest version - parousiasi 215 v1 latest version - parousiasi 2
15 v1 latest version - parousiasi 2Georgios Karamanolis
450 views25 slides

More Related Content

Similar to grails framework

553193902-2-Intro-to-Java.pdf by
553193902-2-Intro-to-Java.pdf553193902-2-Intro-to-Java.pdf
553193902-2-Intro-to-Java.pdfDimitraPapalitsa
3 views131 slides
Nashiproject by
NashiprojectNashiproject
Nashiprojectzoifis
185 views25 slides
Asfask1 by
Asfask1Asfask1
Asfask1Tasos Vizaniaris
291 views9 slides
Sonar platform by
Sonar platformSonar platform
Sonar platformPatroklos Papapetrou (Pat)
658 views24 slides
Java free-book by
Java free-bookJava free-book
Java free-bookble nature
704 views71 slides
Θεμιστοκλής Παπαβασιλείου by
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής ΠαπαβασιλείουISSEL
152 views39 slides

Similar to grails framework(20)

Nashiproject by zoifis
NashiprojectNashiproject
Nashiproject
zoifis185 views
Java free-book by ble nature
Java free-bookJava free-book
Java free-book
ble nature704 views
Θεμιστοκλής Παπαβασιλείου by ISSEL
Θεμιστοκλής ΠαπαβασιλείουΘεμιστοκλής Παπαβασιλείου
Θεμιστοκλής Παπαβασιλείου
ISSEL152 views
Application Development Part 1 by ieeepatras
Application Development Part 1Application Development Part 1
Application Development Part 1
ieeepatras837 views
Thesis.Net Features by MGAKIS
Thesis.Net FeaturesThesis.Net Features
Thesis.Net Features
MGAKIS259 views
11 κατηγορίες μαθησιακών δραστηριοτήτων στο scratch by Vasilis Drimtzias
11 κατηγορίες μαθησιακών δραστηριοτήτων στο scratch11 κατηγορίες μαθησιακών δραστηριοτήτων στο scratch
11 κατηγορίες μαθησιακών δραστηριοτήτων στο scratch
Vasilis Drimtzias4.1K views
Jeliot by nio1987
JeliotJeliot
Jeliot
nio1987152 views
Jeliot by yannisp
JeliotJeliot
Jeliot
yannisp134 views
LAMS : Σύντομη αναφορά στα Εργαλεία δραστηριοτήτων του LAMS by Vasilis Drimtzias
LAMS : Σύντομη αναφορά στα Εργαλεία δραστηριοτήτων του LAMSLAMS : Σύντομη αναφορά στα Εργαλεία δραστηριοτήτων του LAMS
LAMS : Σύντομη αναφορά στα Εργαλεία δραστηριοτήτων του LAMS
Vasilis Drimtzias252 views
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO by Iraklis Markelis
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGOΕφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGO
Iraklis Markelis145 views
Νικόλαος Κατιρτζής 7185 by ISSEL
Νικόλαος Κατιρτζής 7185Νικόλαος Κατιρτζής 7185
Νικόλαος Κατιρτζής 7185
ISSEL134 views
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu... by Manos Tsardoulias
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos Papathomas: Semantic Code Search in Software Repositories using Neu...
Evangelos papathomas diploma thesis presentation by ISSEL
Evangelos papathomas diploma thesis presentationEvangelos papathomas diploma thesis presentation
Evangelos papathomas diploma thesis presentation
ISSEL190 views
Project Management: Ανάπτυξη εφαρμογής για iPhone. by chris zlatis
Project Management: Ανάπτυξη εφαρμογής για iPhone.Project Management: Ανάπτυξη εφαρμογής για iPhone.
Project Management: Ανάπτυξη εφαρμογής για iPhone.
chris zlatis508 views
5 εργαλεία Web 2.0 by Chrys T
5 εργαλεία Web 2.05 εργαλεία Web 2.0
5 εργαλεία Web 2.0
Chrys T182 views

More from Georgios Karamanolis

Karamanolis pitch en by
Karamanolis pitch enKaramanolis pitch en
Karamanolis pitch enGeorgios Karamanolis
104 views24 slides
Api economy crowdsourcing - εκτ event by
Api economy   crowdsourcing - εκτ eventApi economy   crowdsourcing - εκτ event
Api economy crowdsourcing - εκτ eventGeorgios Karamanolis
208 views22 slides
Syros 2014 karamanolis need to be refined tmrw by
Syros 2014   karamanolis need to be refined tmrwSyros 2014   karamanolis need to be refined tmrw
Syros 2014 karamanolis need to be refined tmrwGeorgios Karamanolis
181 views25 slides
Presentation psi - καινοτομώντας με ανοικτά δεδομένα by
Presentation psi -  καινοτομώντας με ανοικτά δεδομέναPresentation psi -  καινοτομώντας με ανοικτά δεδομένα
Presentation psi - καινοτομώντας με ανοικτά δεδομέναGeorgios Karamanolis
102 views46 slides
Omeka by
OmekaOmeka
OmekaGeorgios Karamanolis
409 views41 slides
Public parousiasi-karamanolis-draseis-new by
Public parousiasi-karamanolis-draseis-newPublic parousiasi-karamanolis-draseis-new
Public parousiasi-karamanolis-draseis-newGeorgios Karamanolis
3.3K views23 slides

More from Georgios Karamanolis(10)

grails framework

  • 2. Πεξηερόκελα • Μηα Σύληνκε Πεξηγξαθή • Εηζαγωγή • Grails & Groovy • Πεξηβάιινλ αλάπηπμεο • Δηαδηθαζία Αλάπηπμεο • Πεξηβάιινλ Αλάπηπμεο • Φαξαθηεξηζηηθά Αλάπηπμεο Εθαξκνγήο o Δνκή Τάμεωλ θαη Παθέηωλ (overview) o Class Ticket o Class User o Enumeration UserRole o Enumeration TicketCategory o Enumeration Ticket Status o Views,Uis,Controllers o Java byte code o Aπνζήθεπζε Δεδνκέλωλ • Οζόλεο • Παξαπνκπέο & Οδεγίεο Εγθαηάζηαζεο
  • 3. Μια ζύνηομη πεπιγπαθή «Η εθαξκνγή ζα πξέπεη λα παξέρεη ζηα ζηειέρε ηνπ Οξγαληζκνύ Φ ηελ δπλαηόηεηα ππνβνιήο αηηεκάηωλ ηερληθήο ππνζηήξημεο . Τα αηηήκαηα ζα θαηεγνξηνπνηνύληαη αλάινγα κε ην είδνο ηνπ πξόβιεκαηνο. Σηειέρε ηεο Τερληθήο Υπνζηήξημεο ζα έρνπλ ηελ δπλαηόηεηα δηαρείξηζεο ηνπο»
  • 4. Εηζαγωγή • Σηόσορ : Η αλάπηπμε ιεηηνπξγηθόηεηαο βαζηζκέλεο ζην κνληέιν δεδνκέλωλ θαη ζηηο πεξηγξαθέο ηωλ πξνεγνύκελωλ παξαδνηέωλ • Επγαλεία : Φξήζε ηνπ java πιαηζίνπ (framework) Grails ην νπνίν επηηξέπεη γξήγνξε αλάπηπμε εθαξκνγώλ ζην κνληέιν MVC, Φξήζε Apache Tomcat θαη hibernate γηα ηελ πξνζωξηλή απνζήθεπζε δεδνκέλωλ
  • 5. Μεθοδολογία Υλοποίηζηρ • Καηαγξαθή Απαηηήζεωλ • Αλάιπζε Απαηηήζεωλ • Σρεδίαζε Λνγηζκηθνύ • Ανάπηςξη με σπήζη ηος framework Grails (Παπαδοηέο 4)
  • 6. • Grails is an advanced and innovative open source web application platform • Delivers new levels of developer productivity by applying principles like Convention over Configuration • Helps development teams embrace agile methodologies, deliver quality applications in reduced amounts of time, and focus on what really matters: creating high quality, easy to use applications that delight users. • Grails naturally complements Java application development since it is built on Spring and based on Groovy, the leading dynamic language for the Java platform.
  • 7. H γιώζζα Groovy • is an agile and dynamic language for the Java Virtual Machine • builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk • makes modern programming features available to Java developers with almost-zero learning curve • supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain • makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL • increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications • simplifies testing by supporting unit testing and mocking out-of-the- box • seamlessly integrates with all existing Java classes and libraries • compiles straight to Java bytecode so you can use it anywhere you can
  • 8. Πεξηβάιινλ Αλάπηπμεο • Φξεζηκνπνηείηαη ην eclipse κε ελζωκαηωκέλα ηα εξγαιεία SPRINGSOURCE
  • 9. Δηαδηθαζία αλάπηπμεο • Tα βήκαηα ζηελ δηαδηθαζία αλάπηπμεο : 1. Φξήζε ηνπ κνληέινπ δεδνκέλωλ 2. Δεκηνπξγία αληίζηνηρωλ ηάμεωλ (Domain Classes) 3. Δεκηνπξγία ηάμεωλ ειεγθηώλ ( Controller Classes) 4. Δεκηνπξγία Views 5. Δεκηνπξγία Test Τάμεωλ (Test Classes) 6. H Εθαξκνγή ζε (δνθηκαζηηθή) ιεηηνπξγία...
  • 10. Φαξαθηεξηζηηθά & Εθδόζεηο • #4 domain classes # 2 controller Classes • App version: 0.1 • Grails version: 1.3.5 • Groovy version: 1.7.5 • JVM version: 1.5.0_26 • Controllers: 4 • Domains: 2
  • 17. Views, Controllers, Uis • Μεηά ηελ δεκηνπξγία ηωλ Domain Class θαη κε ρξήζε εληνιώλ ηνπ πιαηζίνπ πινπνηνύληαη αςηόμαηα νη controllers θαη views θαη παξάγεηαη java εκηελέζιμορ θώδηθαο. • Παξάιιεια πινπνηείηαη αςηομαηα ε δνκή απνζήθεπζεο ηύπνπ ORM (object relational mapping) *Τα views εηλαη ζε gsp (grails server pages) θαη κπνξνύλ εύθνια λα παξακεηξνπνηνύληαη δπλακηθά *Οη controllers ηεο εθαξκνγήο είαλη ζε γιώζζα groovy
  • 18. Java byte Code Παξάγεηαη java εθηειέζηκνο θώδηθαο
  • 19. Απνζήθεπζε • Γηα ηελ απνζήθεπζε ρξεζηκνπνηείηαη JPA (JAVA PERSISTENCE API θαη HIBERNATE πξνθεηκέλνπ λα γίλεη map ζε ζρεζηαθό ζρήκα) • Τα δεδνκέλα ηεο εθαξκνγήο απνζεθεύνληαη πξνζωξηλά ζε HSQLDB (hibernate SQL)
  • 21. Οζόλεο Εθαξκνγήο : Nένο ρξήζηεο * Σηελ αξρή νξίδνληαη ελδεηθηηθνί ρξήζηεο ηνπ ζπζηήκαηνο
  • 22. Οζόλεο Εθαξκνγήο : Νέν Αίηεκα • Aθνξά αίηεκα ηερληθήο ππνζηήξημεο πνπ ππνβάιεηαη από ηνλ Υπάιιειν
  • 23. Οζόλεο Εθαξκνγήο : Δηαρείξηζε Αίηεκαηνο • Aθνξά αιιαγή θαηάζηαζεο ηνπ αηηήκαηνο από OPEN ζε CLOSED θαη απνζήθεπζε
  • 24. Οζόλεο Εθαξκνγήο : πξνβνιή αηηεκάηωλ
  • 25. Παξαπνκπέο θαη νδεγίεο • Grails : http://www.grails.org • Groovy : http://groovy.codehaus.org/ • Οδεγίεο Εγθαηάζηαζεο http://www.grails.org/Documentation • Agile κεζνδνινγία αλάπηπμεο ινγηζκηθνύ http://agilemanifesto.org/ • Φξήζηκα tutorials ηεο IBM γηα αλάπηπμεο ζε grails o http://www.ibm.com/developerworks/java/library/j- grails01158/index.html o http://www.ibm.com/developerworks/views/java/library view.jsp?search_by=mastering+grails • Spring Source Tool Suite http://www.springsource.com/developer/sts