latjug. spring roo

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

Upload: denis-udod

Post on 15-Jan-2015

1.297 views

Category:

Documents


7 download

DESCRIPTION

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

TRANSCRIPT

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?