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