25
Mέζνδνη Αλάπηπμεο ινγηζκηθνύ / GRAILS #1

grails framework

Embed Size (px)

DESCRIPTION

Presentatio, Athens Univ of Economics and business

Citation preview

Page 1: grails framework

Mέζνδνη Αλάπηπμεο ινγηζκηθνύ / GRAILS #1

Page 2: grails framework

Πεξηερόκελα

• Μηα Σύληνκε Πεξηγξαθή• Εηζαγωγή• Grails & Groovy • Πεξηβάιινλ αλάπηπμεο • Δηαδηθαζία Αλάπηπμεο• Πεξηβάιινλ Αλάπηπμεο• Φαξαθηεξηζηηθά Αλάπηπμεο Εθαξκνγήο

o Δνκή Τάμεωλ θαη Παθέηωλ (overview)o Class Ticketo Class Usero Enumeration UserRoleo Enumeration TicketCategoryo Enumeration Ticket Statuso Views,Uis,Controllerso Java byte codeo Aπνζήθεπζε Δεδνκέλωλ

• Οζόλεο• Παξαπνκπέο & Οδεγίεο Εγθαηάζηαζεο

Page 3: grails framework

Μια ζύνηομη πεπιγπαθή«Η εθαξκνγή ζα πξέπεη λα παξέρεη ζηα ζηειέρε ηνπ Οξγαληζκνύ Φ ηελ δπλαηόηεηα ππνβνιήο αηηεκάηωλ ηερληθήο ππνζηήξημεο . Τα αηηήκαηα ζα θαηεγνξηνπνηνύληαη αλάινγα κε ην είδνο ηνπ πξόβιεκαηνο. Σηειέρε ηεο Τερληθήο Υπνζηήξημεο ζα έρνπλ ηελ δπλαηόηεηα δηαρείξηζεο ηνπο»

Page 4: grails framework

Εηζαγωγή

• Σηόσορ : Η αλάπηπμε ιεηηνπξγηθόηεηαο βαζηζκέλεο ζην κνληέιν δεδνκέλωλ θαη ζηηο πεξηγξαθέο ηωλ πξνεγνύκελωλ παξαδνηέωλ

• Επγαλεία : Φξήζε ηνπ java πιαηζίνπ (framework) Grails ην νπνίν επηηξέπεη γξήγνξε αλάπηπμε εθαξκνγώλ ζην κνληέιν MVC, Φξήζε Apache Tomcat θαη hibernate γηα ηελ πξνζωξηλή απνζήθεπζε δεδνκέλωλ

Page 5: grails framework

Μεθοδολογία Υλοποίηζηρ

• Καηαγξαθή Απαηηήζεωλ• Αλάιπζε Απαηηήζεωλ • Σρεδίαζε Λνγηζκηθνύ• Ανάπηςξη με σπήζη ηος framework

Grails (Παπαδοηέο 4)

Page 6: grails framework

• 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.

Page 7: grails framework

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

Page 8: grails framework

Πεξηβάιινλ Αλάπηπμεο• Φξεζηκνπνηείηαη ην eclipse κε ελζωκαηωκέλα ηα εξγαιεία SPRINGSOURCE

Page 9: grails framework

Δηαδηθαζία αλάπηπμεο

• Tα βήκαηα ζηελ δηαδηθαζία αλάπηπμεο : 1. Φξήζε ηνπ κνληέινπ δεδνκέλωλ 2. Δεκηνπξγία αληίζηνηρωλ ηάμεωλ (Domain Classes) 3. Δεκηνπξγία ηάμεωλ ειεγθηώλ ( Controller Classes)4. Δεκηνπξγία Views5. Δεκηνπξγία Test Τάμεωλ (Test Classes)6. H Εθαξκνγή ζε (δνθηκαζηηθή) ιεηηνπξγία...

Page 10: grails framework

Φαξαθηεξηζηηθά & Εθδόζεηο

• #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

Page 11: grails framework

Δνκή Τάμεωλ Εθαξκνγήο -Παθέηωλ

Page 12: grails framework

Class User

Page 13: grails framework

Class Ticket

Page 14: grails framework

TicketCategory (Enumeration)

Page 15: grails framework

UserRole (Enumeration)

Page 16: grails framework

TicketStatus (Enumeration)

Page 17: grails framework

Views, Controllers, Uis

• Μεηά ηελ δεκηνπξγία ηωλ Domain Class θαη κε ρξήζε εληνιώλ ηνπ πιαηζίνπ πινπνηνύληαη αςηόμαηα νη controllers θαη views θαη παξάγεηαη java εκηελέζιμορ θώδηθαο.

• Παξάιιεια πινπνηείηαη αςηομαηα ε δνκή απνζήθεπζεο ηύπνπ ORM (object relational mapping)

*Τα views εηλαη ζε gsp (grails server pages) θαη κπνξνύλ εύθνια λα παξακεηξνπνηνύληαη δπλακηθά*Οη controllers ηεο εθαξκνγήο είαλη ζε γιώζζα groovy

Page 18: grails framework

Java byte CodeΠαξάγεηαη java εθηειέζηκνο θώδηθαο

Page 19: grails framework

Απνζήθεπζε

• Γηα ηελ απνζήθεπζε ρξεζηκνπνηείηαη JPA (JAVA PERSISTENCE API θαη HIBERNATE πξνθεηκέλνπ λα γίλεη map ζε ζρεζηαθό ζρήκα)

• Τα δεδνκέλα ηεο εθαξκνγήο απνζεθεύνληαη πξνζωξηλά ζε HSQLDB (hibernate SQL)

Page 20: grails framework

Οζόλεο Εθαξκνγήο :Aξρηθή Σειίδα

Page 21: grails framework

Οζόλεο Εθαξκνγήο : Nένο ρξήζηεο

* Σηελ αξρή νξίδνληαη ελδεηθηηθνί ρξήζηεο ηνπ ζπζηήκαηνο

Page 22: grails framework

Οζόλεο Εθαξκνγήο : Νέν Αίηεκα

• Aθνξά αίηεκα ηερληθήο ππνζηήξημεο πνπ ππνβάιεηαη από ηνλ Υπάιιειν

Page 23: grails framework

Οζόλεο Εθαξκνγήο : Δηαρείξηζε Αίηεκαηνο

• Aθνξά αιιαγή θαηάζηαζεο ηνπ αηηήκαηνο από OPEN ζε CLOSED θαη απνζήθεπζε

Page 24: grails framework

Οζόλεο Εθαξκνγήο : πξνβνιή αηηεκάηωλ

Page 25: grails framework

Παξαπνκπέο θαη νδεγίεο• 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/libraryview.jsp?search_by=mastering+grails

• Spring Source Tool Suite http://www.springsource.com/developer/sts