19
Copyright © 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Making Java Development Fun with Spring Roo

LatJUG. Spring Roo

Embed Size (px)

DESCRIPTION

Spring RooAnton Kranga Java User Group Latvia www.jug.lv June 2011

Citation preview

Copyright © 2011 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

Making Java Development Fun

with Spring Roo

2Copyright © 2011 Accenture All Rights Reserved.

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

3Copyright © 2011 Accenture All Rights Reserved.

Agenda

1. Problems of Java Development

2. Introduction to the Spring Roo

4Copyright © 2011 Accenture All Rights Reserved.

Problems of traditional Java Applications

Pre warning message…

5Copyright © 2011 Accenture All Rights Reserved.

Problem 1: Dam Complex!!!

Even primitive JEE application is complex by it’s nature

6Copyright © 2011 Accenture All Rights Reserved.

Problem 2: Not DRY at all

7Copyright © 2011 Accenture All Rights Reserved.

Problem 3: Developers are too conservative

Should we always

keep fall into

traditions and

close our eyes for

innovation?

8Copyright © 2011 Accenture All Rights Reserved.

Problem 4: Boilerplate code

9Copyright © 2011 Accenture All Rights Reserved.

Goal of Spring Roo

• Make Java Development Fun

• Eliminate JEE Complexity

• Boost programmers productivity

• KISS and DRY

• Use simple but powerful commands

• Pragmatic code generation

• Aspect Oriented Programming

• Use DDD and eliminate DAO

• Service layer is optional!

etc

Goals of Roo

Methods to achieve goals

10Copyright © 2011 Accenture All Rights Reserved.

Word of warning!!!

Spring Roo is not a…

11Copyright © 2011 Accenture All Rights Reserved.

What is a Spring Roo

Addon

Addon

Addon

Addon

Addon

RooCore

Developer

Spring Application

changes observes and

changes

controls

12Copyright © 2011 Accenture All Rights Reserved.

Basic Spring Roo addons

Persistence

Dynamicfinders

SpringWebFlow

Spring Security

ProjectMgmt

Spring MVC

RooCore

Data

Web

Project

Configuration

13Copyright © 2011 Accenture All Rights Reserved.

Spring Roo Core components

14Copyright © 2011 Accenture All Rights Reserved.

Roo application development cycle

Project setup(project)

Configuration(e.g.

security setup)

Entity design(entity, field)

Web Setup(controller)

Only initial setupIterative use in

maintenance is

possible

15Copyright © 2011 Accenture All Rights Reserved.

Let’s do some coding

16Copyright © 2011 Accenture All Rights Reserved.

Spring Roo UI concept

•Model-View-Controller

(MVC) concept

•Rich UI controls (free type

dropdown lists etc)

•JavaScript used to improve

user experience

17Copyright © 2011 Accenture All Rights Reserved.

What has been generated during for web

Static templates

WebApplication

Roo Coregenerate

Developer

uses/controls (via shell)

JSPX web pages

JSPX tags for controls

Internationalization (i18n)

Spring JavaScript

generate

Spring MVC Controllerclass CustomerController {

...

}

Domain Model

source

CSS, Pictures etc

JSPX View page<div xmlns:jsp=“...”

...

</div>

uses

18Copyright © 2011 Accenture All Rights Reserved.

Page Layout

layout.jspx base views

Header.jspx

menu.jspx

footer.jspx

Viewcustomer.jspx

product.jspxupdate.jspx

create.jspx

list.jspxloan.jspx

19Copyright © 2011 Accenture All Rights Reserved.

Thank You!

What I missed?