confess_2011 - rapid rich client development with spring roo and gwt

56
Click to edit Master /tle style Rapid Rich Client Development Kai Wähner, MaibornWolff et al GmbH + =

Upload: kai-waehner

Post on 17-May-2015

2.055 views

Category:

Technology


3 download

DESCRIPTION

Show (shortly) what Spring Roo and GWT is. Then it shows some problems with this combination at the moment. Finally, the presentation shows when to use Spring Roo (instead of other frameworks).

TRANSCRIPT

Page 1: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyle

RapidRichClientDevelopment

KaiWähner,MaibornWolffetalGmbH

+ =

Page 2: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleIconfess…

... that I loved „Copy and Paste“

Page 3: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleInten/onofthisSession

BulletPointBootCamp

Just a few Slides...

Page 4: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleInten/onofthisSession

... rather a lot of Live Hacking !!!

Page 5: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatistheKeyMessage?

Page 6: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleKeyMessage

Learn what Spring Roo is!

Page 7: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleKeyMessage

Learn what Spring Roo is!

Learn how to develope with Spring Roo and GWT!

Page 8: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleKeyMessage

Learn what Spring Roo is!

Learn how to develope with Spring Roo and GWT!

Learn when to use Spring Roo!

Page 9: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleAgenda

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 10: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleAgenda

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 11: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisSpringRoo?

Web-Framework

Full-Stack-Framework

Page 12: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisSpringRoo?

Page 13: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisSpringRoo?

Configuration Marathon

Roo-Shell

Page 14: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleIDE‐Support?

AspectJ

Roo-Shell

Page 15: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleIDE‐Support?

AspectJ

Roo-Shell

Page 16: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleIDE‐Support?

Roo-Shell

AspectJ

Page 17: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisGWT?

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 18: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

GWT is a

Web-Framework to create

Rich Clients

Page 19: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

No HTML, DOM, XMLHttpRequest, JavaScript?

But YOU code Java!

Page 20: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

Plenty of Server-Communication?

Client-centric Approach!

Page 21: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

Design Pattern: Model View Presenter (MVP)

Model

View Presenter

User Events

Update View

Model Changes

Model Updates and

Queries

Page 22: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleAgenda

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 23: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleUseCase:(Verysimple)ProjectManagement

Page 24: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleUseCase:(Verysimple)ProjectManagement

⇒  Use Case 1: No existing Database

Page 25: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleUseCase:(Verysimple)ProjectManagement

⇒  Use Case 1: No existing Database

⇒  Use Case 2: Reverse Engineering (existing Database)

Page 26: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleAgenda

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 27: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleLive‐Demo

Enough of the Theory!

⇒  Let‘s start LIVE HACKING...

Page 28: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleAgenda

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 29: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleUseAdd‐ons!

Page 30: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleUseotherSpringStuff!(ifpossible)

Just a

Cutout of

Spring

Projects

Page 31: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleKnowthatyoucanremoveSpringRoo!

Page 32: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleAgenda

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 33: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleNoUndo‐Command

Page 34: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleSoooooooomanyGWT‐Files

Page 35: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleHighComplexityofGWT‐Files

Model

View Presenter

User Events

Update View

Model Changes

Model Updates and

Queries

Place

Activity

ActivityMapper ClientFactory

EventBus PlaceHistoryMapper

RequestFactory EntityProxy ValueProxy

ServiceLocator

Page 36: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleNoFinder‐GUIinGWTyet

Page 37: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleS/llHopeforGWT‐relatedImprovements

Page 38: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleAgenda

1) What is Spring Roo?

2) What is GWT?

3) Use Case for Demo

4) LIVE HACKING: Spring Roo with GWT 5) Some further advanced Stuff

6) Criticism

7) When to use Spring Roo?

Page 39: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleDifferentTypesofWebApplica/ons

TimetoDevelopeShort Long

CRUD

ClassicalWeb

Applica/on

RichInternetApplica/on

(RIA)RichClient

Portal

Page 40: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleSpringRooisawesomeforCRUD‐Clients

TimetoDevelopeShort Long

CRUD

ClassicalWeb

Applica/on

RichInternetApplica/on

(RIA)RichClient

Portal

Page 41: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleSpringRooisgoodforLearning,too!

Page 42: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleIheard:SpringRooisgoodforPrototyping,too!

Page 43: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleIheard:SpringRooisgoodforPrototyping,too!

TRUE for Spring Applications

Page 44: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleSpringRooisawesomeforCRUD‐Clients

TimetoDevelopeShort Long

CRUD

ClassicalWeb

Applica/on

RichInternetApplica/on

(RIA)RichClient

Portal

80 % !!!

Page 45: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

Page 46: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

GoodCRUDFramework

Page 47: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

NoJava

GoodCRUDFramework

Page 48: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

NopowerfulVendor

NolargeCommunity

GoodCRUDFramework

NoJava

Page 49: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleIamNOTaSpringDude!

JEE 5 / 6

Spring

Page 50: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyle…andtheWinneris:

* from the View of a Java Developer!

Page 51: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleKeyMessagearrived?

Page 52: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleKeyMessage

Learn what Spring Roo is!

Learn how to develope with Spring Roo and GWT!

Learn when to use Spring Roo!

Page 53: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleKeyMessagearrived?

Page 54: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleWhetyourAppe/te?

Page 55: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleGetPartoftheCommunity!

Page 56: Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

ClicktoeditMaster/tlestyleThankyouforyourA\en/on…Ques/ons?

= Rapid Rich Client Development +

KaiWähnerIT‐Consultant

Mobile [email protected]\er@KaiWaehner

MaibornWolffetalGmbH|Theresienhöhe13|D‐80339München