SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Making Java Development Fun
                                                                         with Spring Roo




Copyright © 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.
Antons Kranga
 • Qualification:
    - 10+ years in Java
    - Certified Technology Architect
    - Java and OO Design Trainer

 • Currently works in Accenture Architecture Innovation

 • Specialized:
    - Enterprise Application Design
    - Enterprise Portals

 • Likes:
    - Martial Arts
    - Embedded Devices

 • WEB
    - http://www.linkedin.com/in/antonskranga




Copyright © 2011 Accenture All Rights Reserved.           2
Agenda


1. Problems of Java Development

2. Introduction to the Spring Roo




Copyright © 2011 Accenture All Rights Reserved.   3
Problems of traditional Java Applications
Pre warning message…




Copyright © 2011 Accenture All Rights Reserved.   4
Problem 1: Dam Complex!!!
Even primitive JEE application is complex by it’s nature




Copyright © 2011 Accenture All Rights Reserved.            5
Problem 2: Not DRY at all




Copyright © 2011 Accenture All Rights Reserved.   6
Problem 3: Developers are too conservative




                                                  Should we always
                                                   keep fall into
                                                   traditions and
                                                   close our eyes for
                                                   innovation?




Copyright © 2011 Accenture All Rights Reserved.                         7
Problem 4: Boilerplate code




Copyright © 2011 Accenture All Rights Reserved.   8
Goal of Spring Roo


                                                  Goals of Roo
                                                  •   Make Java Development Fun
                                                  •   Eliminate JEE Complexity
                                                  •   Boost programmers productivity
                                                  •   KISS and DRY

                                                  Methods to achieve goals
                                                  • Use simple but powerful commands
                                                  • Pragmatic code generation
                                                  • Aspect Oriented Programming
                                                  • Use DDD and eliminate DAO
                                                  • Service layer is optional!
                                                  etc




Copyright © 2011 Accenture All Rights Reserved.                                        9
Word of warning!!!



Spring Roo is not a…




Copyright © 2011 Accenture All Rights Reserved.   10
What is a Spring Roo


                                                                Addon

                                                    Addon
                                                                           Addon
                                      controls                 Roo
                                                               Core

                             Developer
                                                      Addon             Addon




                                    changes                        observes and
                                                                   changes




                                                  Spring Application



Copyright © 2011 Accenture All Rights Reserved.                                    11
Basic Spring Roo addons


                                                                    Data

                                                      Persistence

                                                                     Dynamic
                                            Project                   finders
                                             Mgmt

                                                          Roo
                                                          Core
                                                                           Spring
                                        Spring                              MVC
                                        Security


                                                      …          Spring
                                                                  Web         Web
                                                                  Flow
                                         Project
                                   Configuration




Copyright © 2011 Accenture All Rights Reserved.                                     12
Spring Roo Core components




Copyright © 2011 Accenture All Rights Reserved.   13
Roo application development cycle



                                                                                                     Iterative use in
                                                                            Only initial setup       maintenance is
                                                                                                     possible


                                                          Configuration
    Project setup                        Entity design                                    Web Setup
                                                               (e.g.
      (project)                         (entity, field)                                   (controller)
                                                          security setup)




Copyright © 2011 Accenture All Rights Reserved.                                                                   14
Let’s do some coding




Copyright © 2011 Accenture All Rights Reserved.   15
Spring Roo UI concept


                                                  • Model-View-Controller
                                                    (MVC) concept

                                                  • Rich UI controls (free type
                                                    dropdown lists etc)

                                                  • JavaScript used to improve
                                                    user experience



Copyright © 2011 Accenture All Rights Reserved.                                   16
What has been generated during for web

                               uses/controls (via shell)
                                                                                      Domain Model
       Developer                                                                                source
                                                  generate
                                                             Roo Core
        Web
        Application
                                                             generate
                                                                        Spring MVC Controller
                                                                        class CustomerController {
Static templates                                                           ...
                                                                        }
          JSPX tags for controls

          Internationalization (i18n)                                   JSPX View page
                                                                        <div xmlns:jsp=“...”
          Spring JavaScript                                             ...
                                                                        </div>
          JSPX web pages                                         uses


          CSS, Pictures etc



Copyright © 2011 Accenture All Rights Reserved.                                                          17
Page Layout



                        layout.jspx                      base views
                              Header.jspx


                                                                        customer.jspx
                              menu.jspx           View    create.jspx




                                                         update.jspx     product.jspx



                              footer.jspx

                                                            list.jspx
                                                                        loan.jspx




Copyright © 2011 Accenture All Rights Reserved.                                 18
Thank You!



    What I missed?




Copyright © 2011 Accenture All Rights Reserved.   19

Weitere ähnliche Inhalte

Was ist angesagt?

Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR SystemStructured development in BMC Remedy AR System
Structured development in BMC Remedy AR Systemgramlin42
 
Whoops! Where did my architecture go?
Whoops! Where did my architecture go?Whoops! Where did my architecture go?
Whoops! Where did my architecture go?Oliver Gierke
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesRody Middelkoop
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Intland Software GmbH
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaBENOIT_LANGLOIS
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...Axway Appcelerator
 
High-Level Synthesis Skill Development Needs - IEDEC
High-Level Synthesis Skill Development Needs - IEDECHigh-Level Synthesis Skill Development Needs - IEDEC
High-Level Synthesis Skill Development Needs - IEDECJack Erickson
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Intland Software GmbH
 
Cisco Localisation Toolkit: General Overview
Cisco Localisation Toolkit: General OverviewCisco Localisation Toolkit: General Overview
Cisco Localisation Toolkit: General OverviewGary Lefman
 
Fusion apps security_con8714_pdf_8714_0001
Fusion apps security_con8714_pdf_8714_0001Fusion apps security_con8714_pdf_8714_0001
Fusion apps security_con8714_pdf_8714_0001jucaab
 
Final_D4 recommendation emenu_development
Final_D4 recommendation emenu_developmentFinal_D4 recommendation emenu_development
Final_D4 recommendation emenu_developmentTraitet Thepbandansuk
 
Airbus Internship Presentation 2012
Airbus Internship Presentation 2012Airbus Internship Presentation 2012
Airbus Internship Presentation 2012Paveen Juntama
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User ExperienceACM
 
Omnikron Services 2009
Omnikron Services 2009Omnikron Services 2009
Omnikron Services 2009Robin Borough
 

Was ist angesagt? (20)

Structured development in BMC Remedy AR System
Structured development in BMC Remedy AR SystemStructured development in BMC Remedy AR System
Structured development in BMC Remedy AR System
 
Whoops! Where did my architecture go?
Whoops! Where did my architecture go?Whoops! Where did my architecture go?
Whoops! Where did my architecture go?
 
Pragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use CasesPragmatic Model Driven Development In Java Using Smart Use Cases
Pragmatic Model Driven Development In Java Using Smart Use Cases
 
Emerasoft Day 2012 - Innowake migration
Emerasoft Day 2012 - Innowake migrationEmerasoft Day 2012 - Innowake migration
Emerasoft Day 2012 - Innowake migration
 
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
 
Oop 2
Oop 2Oop 2
Oop 2
 
Eclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFaEclipse Summit 2008 - Thales - SolFa
Eclipse Summit 2008 - Thales - SolFa
 
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
Codestrong 2012 breakout session   leveraging titanium as part of your mobile...Codestrong 2012 breakout session   leveraging titanium as part of your mobile...
Codestrong 2012 breakout session leveraging titanium as part of your mobile...
 
Oop 1
Oop 1Oop 1
Oop 1
 
High-Level Synthesis Skill Development Needs - IEDEC
High-Level Synthesis Skill Development Needs - IEDECHigh-Level Synthesis Skill Development Needs - IEDEC
High-Level Synthesis Skill Development Needs - IEDEC
 
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
Verteilte SoftwareEntwicklung 2011 - von klassischen Modellen bis Scrum und S...
 
Cisco Localisation Toolkit: General Overview
Cisco Localisation Toolkit: General OverviewCisco Localisation Toolkit: General Overview
Cisco Localisation Toolkit: General Overview
 
Zend PHP Solutions for IBM i
Zend PHP Solutions for IBM iZend PHP Solutions for IBM i
Zend PHP Solutions for IBM i
 
D4 recommendation emenu_development
D4 recommendation emenu_developmentD4 recommendation emenu_development
D4 recommendation emenu_development
 
Fusion apps security_con8714_pdf_8714_0001
Fusion apps security_con8714_pdf_8714_0001Fusion apps security_con8714_pdf_8714_0001
Fusion apps security_con8714_pdf_8714_0001
 
D4 recommendation emenu_development
D4 recommendation emenu_developmentD4 recommendation emenu_development
D4 recommendation emenu_development
 
Final_D4 recommendation emenu_development
Final_D4 recommendation emenu_developmentFinal_D4 recommendation emenu_development
Final_D4 recommendation emenu_development
 
Airbus Internship Presentation 2012
Airbus Internship Presentation 2012Airbus Internship Presentation 2012
Airbus Internship Presentation 2012
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Omnikron Services 2009
Omnikron Services 2009Omnikron Services 2009
Omnikron Services 2009
 

Ähnlich wie LatJUG. Spring Roo

IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...IBM Sverige
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras
 
Oracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovationOracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovationAlicja Sieminska
 
Abap web dynpro
Abap   web dynproAbap   web dynpro
Abap web dynpromanojdhir
 
Abap web dynpro
Abap   web dynproAbap   web dynpro
Abap web dynpromanojdhir
 
Oracle Fusion applications 101 [2010 OAUG Collaborate]
Oracle Fusion applications 101 [2010 OAUG Collaborate]Oracle Fusion applications 101 [2010 OAUG Collaborate]
Oracle Fusion applications 101 [2010 OAUG Collaborate]Rhapsody Technologies, Inc.
 
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001jucaab
 
WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stackALDAN3
 
08 Ace 2010 Aras Roadmap
08 Ace 2010 Aras Roadmap08 Ace 2010 Aras Roadmap
08 Ace 2010 Aras RoadmapProdeos
 
Aras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration ManagementAras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration ManagementAras
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsSanjeev Sharma
 
Customer Experience Management from Adobe
Customer Experience Management from AdobeCustomer Experience Management from Adobe
Customer Experience Management from AdobeDieter Hovorka
 
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13gaborvodics
 
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...ServiceVirtualization.Com
 
From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System Intland Software GmbH
 
PMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First StepsPMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First StepsColm O'hEocha
 
Smalltalk in Enterprise Applications
Smalltalk in Enterprise ApplicationsSmalltalk in Enterprise Applications
Smalltalk in Enterprise ApplicationsESUG
 

Ähnlich wie LatJUG. Spring Roo (20)

IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
IBM Rational - Från skriptbaserad ALM till "ALM as a Service" och ALM i Cloud...
 
Aras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment MethodologyAras Innovator PLM Deployment Methodology
Aras Innovator PLM Deployment Methodology
 
Oracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovationOracle Fusion Middleware,foundation for innovation
Oracle Fusion Middleware,foundation for innovation
 
Abap web dynpro
Abap   web dynproAbap   web dynpro
Abap web dynpro
 
Abap web dynpro
Abap   web dynproAbap   web dynpro
Abap web dynpro
 
Oracle Fusion applications 101 [2010 OAUG Collaborate]
Oracle Fusion applications 101 [2010 OAUG Collaborate]Oracle Fusion applications 101 [2010 OAUG Collaborate]
Oracle Fusion applications 101 [2010 OAUG Collaborate]
 
Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001Fusion app tech_con8707_pdf_8707_0001
Fusion app tech_con8707_pdf_8707_0001
 
WebBee rapid web app development teck stack
WebBee rapid web app development teck stackWebBee rapid web app development teck stack
WebBee rapid web app development teck stack
 
Mulesoft
MulesoftMulesoft
Mulesoft
 
08 Ace 2010 Aras Roadmap
08 Ace 2010 Aras Roadmap08 Ace 2010 Aras Roadmap
08 Ace 2010 Aras Roadmap
 
Aras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration ManagementAras ALM Workshop for PLM Configuration Management
Aras ALM Workshop for PLM Configuration Management
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
IBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile AppsIBM Pulse 2013 session - DevOps for Mobile Apps
IBM Pulse 2013 session - DevOps for Mobile Apps
 
Customer Experience Management from Adobe
Customer Experience Management from AdobeCustomer Experience Management from Adobe
Customer Experience Management from Adobe
 
Distributed Agile Development
Distributed Agile DevelopmentDistributed Agile Development
Distributed Agile Development
 
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13
 
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
CA John Michelsen - Oracle OpenWorld 2012 - "ServiceVirtualization Reality is...
 
From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System From Requirements Management to Release with Git for Android System
From Requirements Management to Release with Git for Android System
 
PMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First StepsPMI Ireland Annual Conference 2012 - Agile First Steps
PMI Ireland Annual Conference 2012 - Agile First Steps
 
Smalltalk in Enterprise Applications
Smalltalk in Enterprise ApplicationsSmalltalk in Enterprise Applications
Smalltalk in Enterprise Applications
 

Mehr von denis Udod

JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?denis Udod
 
Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.denis Udod
 
LatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2AndroidLatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2Androiddenis Udod
 
LatJUG.Jun-2011
LatJUG.Jun-2011LatJUG.Jun-2011
LatJUG.Jun-2011denis Udod
 
LatJUG. Mar-2011
LatJUG. Mar-2011LatJUG. Mar-2011
LatJUG. Mar-2011denis Udod
 
LatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode FundamentalsLatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode Fundamentalsdenis Udod
 
LatJUG. JPA2 Done Right
LatJUG. JPA2 Done RightLatJUG. JPA2 Done Right
LatJUG. JPA2 Done Rightdenis Udod
 
LatJUG. Google App Engine
LatJUG. Google App EngineLatJUG. Google App Engine
LatJUG. Google App Enginedenis Udod
 
LatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 StandardLatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 Standarddenis Udod
 
LatJUG Feb-2011
LatJUG Feb-2011LatJUG Feb-2011
LatJUG Feb-2011denis Udod
 
Agile latvia evening_unit_testing_in_practice
Agile latvia evening_unit_testing_in_practiceAgile latvia evening_unit_testing_in_practice
Agile latvia evening_unit_testing_in_practicedenis Udod
 

Mehr von denis Udod (11)

JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?JUG.LV What do you know about Logging?
JUG.LV What do you know about Logging?
 
Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.Java. Exceptions - how to cook, how to eat.
Java. Exceptions - how to cook, how to eat.
 
LatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2AndroidLatJUG. Complete Idiots Guide2Android
LatJUG. Complete Idiots Guide2Android
 
LatJUG.Jun-2011
LatJUG.Jun-2011LatJUG.Jun-2011
LatJUG.Jun-2011
 
LatJUG. Mar-2011
LatJUG. Mar-2011LatJUG. Mar-2011
LatJUG. Mar-2011
 
LatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode FundamentalsLatJUG. Java Bytecode Fundamentals
LatJUG. Java Bytecode Fundamentals
 
LatJUG. JPA2 Done Right
LatJUG. JPA2 Done RightLatJUG. JPA2 Done Right
LatJUG. JPA2 Done Right
 
LatJUG. Google App Engine
LatJUG. Google App EngineLatJUG. Google App Engine
LatJUG. Google App Engine
 
LatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 StandardLatJUG. JSF2.0 - The JavaEE6 Standard
LatJUG. JSF2.0 - The JavaEE6 Standard
 
LatJUG Feb-2011
LatJUG Feb-2011LatJUG Feb-2011
LatJUG Feb-2011
 
Agile latvia evening_unit_testing_in_practice
Agile latvia evening_unit_testing_in_practiceAgile latvia evening_unit_testing_in_practice
Agile latvia evening_unit_testing_in_practice
 

LatJUG. Spring Roo

  • 1. Making Java Development Fun with Spring Roo Copyright © 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.
  • 2. Antons Kranga • Qualification: - 10+ years in Java - Certified Technology Architect - Java and OO Design Trainer • Currently works in Accenture Architecture Innovation • Specialized: - Enterprise Application Design - Enterprise Portals • Likes: - Martial Arts - Embedded Devices • WEB - http://www.linkedin.com/in/antonskranga Copyright © 2011 Accenture All Rights Reserved. 2
  • 3. Agenda 1. Problems of Java Development 2. Introduction to the Spring Roo Copyright © 2011 Accenture All Rights Reserved. 3
  • 4. Problems of traditional Java Applications Pre warning message… Copyright © 2011 Accenture All Rights Reserved. 4
  • 5. Problem 1: Dam Complex!!! Even primitive JEE application is complex by it’s nature Copyright © 2011 Accenture All Rights Reserved. 5
  • 6. Problem 2: Not DRY at all Copyright © 2011 Accenture All Rights Reserved. 6
  • 7. Problem 3: Developers are too conservative Should we always keep fall into traditions and close our eyes for innovation? Copyright © 2011 Accenture All Rights Reserved. 7
  • 8. Problem 4: Boilerplate code Copyright © 2011 Accenture All Rights Reserved. 8
  • 9. Goal of Spring Roo Goals of Roo • Make Java Development Fun • Eliminate JEE Complexity • Boost programmers productivity • KISS and DRY Methods to achieve goals • Use simple but powerful commands • Pragmatic code generation • Aspect Oriented Programming • Use DDD and eliminate DAO • Service layer is optional! etc Copyright © 2011 Accenture All Rights Reserved. 9
  • 10. Word of warning!!! Spring Roo is not a… Copyright © 2011 Accenture All Rights Reserved. 10
  • 11. What is a Spring Roo Addon Addon Addon controls Roo Core Developer Addon Addon changes observes and changes Spring Application Copyright © 2011 Accenture All Rights Reserved. 11
  • 12. Basic Spring Roo addons Data Persistence Dynamic Project finders Mgmt Roo Core Spring Spring MVC Security … Spring Web Web Flow Project Configuration Copyright © 2011 Accenture All Rights Reserved. 12
  • 13. Spring Roo Core components Copyright © 2011 Accenture All Rights Reserved. 13
  • 14. Roo application development cycle Iterative use in Only initial setup maintenance is possible Configuration Project setup Entity design Web Setup (e.g. (project) (entity, field) (controller) security setup) Copyright © 2011 Accenture All Rights Reserved. 14
  • 15. Let’s do some coding Copyright © 2011 Accenture All Rights Reserved. 15
  • 16. Spring Roo UI concept • Model-View-Controller (MVC) concept • Rich UI controls (free type dropdown lists etc) • JavaScript used to improve user experience Copyright © 2011 Accenture All Rights Reserved. 16
  • 17. What has been generated during for web uses/controls (via shell) Domain Model Developer source generate Roo Core Web Application generate Spring MVC Controller class CustomerController { Static templates ... } JSPX tags for controls Internationalization (i18n) JSPX View page <div xmlns:jsp=“...” Spring JavaScript ... </div> JSPX web pages uses CSS, Pictures etc Copyright © 2011 Accenture All Rights Reserved. 17
  • 18. Page Layout layout.jspx base views Header.jspx customer.jspx menu.jspx View create.jspx update.jspx product.jspx footer.jspx list.jspx loan.jspx Copyright © 2011 Accenture All Rights Reserved. 18
  • 19. Thank You! What I missed? Copyright © 2011 Accenture All Rights Reserved. 19