Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT

Post on 17-May-2015

2,054 views 3 download

Tags:

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

ClicktoeditMaster/tlestyle

RapidRichClientDevelopment

KaiWähner,MaibornWolffetalGmbH

+ =

ClicktoeditMaster/tlestyleIconfess…

... that I loved „Copy and Paste“

ClicktoeditMaster/tlestyleInten/onofthisSession

BulletPointBootCamp

Just a few Slides...

ClicktoeditMaster/tlestyleInten/onofthisSession

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

ClicktoeditMaster/tlestyleWhatistheKeyMessage?

ClicktoeditMaster/tlestyleKeyMessage

Learn what Spring Roo is!

ClicktoeditMaster/tlestyleKeyMessage

Learn what Spring Roo is!

Learn how to develope 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!

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?

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?

ClicktoeditMaster/tlestyleWhatisSpringRoo?

Web-Framework

Full-Stack-Framework

ClicktoeditMaster/tlestyleWhatisSpringRoo?

ClicktoeditMaster/tlestyleWhatisSpringRoo?

Configuration Marathon

Roo-Shell

ClicktoeditMaster/tlestyleIDE‐Support?

AspectJ

Roo-Shell

ClicktoeditMaster/tlestyleIDE‐Support?

AspectJ

Roo-Shell

ClicktoeditMaster/tlestyleIDE‐Support?

Roo-Shell

AspectJ

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?

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

GWT is a

Web-Framework to create

Rich Clients

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

No HTML, DOM, XMLHttpRequest, JavaScript?

But YOU code Java!

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

Plenty of Server-Communication?

Client-centric Approach!

ClicktoeditMaster/tlestyleWhatisGoogleWebToolkit(GWT)?

Design Pattern: Model View Presenter (MVP)

Model

View Presenter

User Events

Update View

Model Changes

Model Updates and

Queries

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?

ClicktoeditMaster/tlestyleUseCase:(Verysimple)ProjectManagement

ClicktoeditMaster/tlestyleUseCase:(Verysimple)ProjectManagement

⇒  Use Case 1: No existing Database

ClicktoeditMaster/tlestyleUseCase:(Verysimple)ProjectManagement

⇒  Use Case 1: No existing Database

⇒  Use Case 2: Reverse Engineering (existing Database)

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?

ClicktoeditMaster/tlestyleLive‐Demo

Enough of the Theory!

⇒  Let‘s start LIVE HACKING...

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?

ClicktoeditMaster/tlestyleUseAdd‐ons!

ClicktoeditMaster/tlestyleUseotherSpringStuff!(ifpossible)

Just a

Cutout of

Spring

Projects

ClicktoeditMaster/tlestyleKnowthatyoucanremoveSpringRoo!

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?

ClicktoeditMaster/tlestyleNoUndo‐Command

ClicktoeditMaster/tlestyleSoooooooomanyGWT‐Files

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

ClicktoeditMaster/tlestyleNoFinder‐GUIinGWTyet

ClicktoeditMaster/tlestyleS/llHopeforGWT‐relatedImprovements

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?

ClicktoeditMaster/tlestyleDifferentTypesofWebApplica/ons

TimetoDevelopeShort Long

CRUD

ClassicalWeb

Applica/on

RichInternetApplica/on

(RIA)RichClient

Portal

ClicktoeditMaster/tlestyleSpringRooisawesomeforCRUD‐Clients

TimetoDevelopeShort Long

CRUD

ClassicalWeb

Applica/on

RichInternetApplica/on

(RIA)RichClient

Portal

ClicktoeditMaster/tlestyleSpringRooisgoodforLearning,too!

ClicktoeditMaster/tlestyleIheard:SpringRooisgoodforPrototyping,too!

ClicktoeditMaster/tlestyleIheard:SpringRooisgoodforPrototyping,too!

TRUE for Spring Applications

ClicktoeditMaster/tlestyleSpringRooisawesomeforCRUD‐Clients

TimetoDevelopeShort Long

CRUD

ClassicalWeb

Applica/on

RichInternetApplica/on

(RIA)RichClient

Portal

80 % !!!

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

GoodCRUDFramework

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

NoJava

GoodCRUDFramework

ClicktoeditMaster/tlestyleCRUDFrameworkswithinJavaEnvironment

(RomaFramework)

NopowerfulVendor

NolargeCommunity

GoodCRUDFramework

NoJava

ClicktoeditMaster/tlestyleIamNOTaSpringDude!

JEE 5 / 6

Spring

ClicktoeditMaster/tlestyle…andtheWinneris:

* from the View of a Java Developer!

ClicktoeditMaster/tlestyleKeyMessagearrived?

ClicktoeditMaster/tlestyleKeyMessage

Learn what Spring Roo is!

Learn how to develope with Spring Roo and GWT!

Learn when to use Spring Roo!

ClicktoeditMaster/tlestyleKeyMessagearrived?

ClicktoeditMaster/tlestyleWhetyourAppe/te?

ClicktoeditMaster/tlestyleGetPartoftheCommunity!

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

= Rapid Rich Client Development +

KaiWähnerIT‐Consultant

Mobile +4915154427788Emailkai.waehner@mwea.deTwi\er@KaiWaehner

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