SlideShare a Scribd company logo
Click
to
edit
Master
/tle
style





                            Rapid
Rich
Client


             +
           =
 Development


                      Kai
Wähner,
MaibornWolff
et
al
GmbH

I
confess…

Click
to
edit
Master
/tle
style





              ... that I loved
            „Copy and Paste“
Inten/on
of
this
Session

Click
to
edit
Master
/tle
style





     Bullet
Point


     Boot
Camp





                                   Just a few Slides...
Inten/on
of
this
Session

 Click
to
edit
Master
/tle
style



... rather a lot of Live Hacking !!!
What
is
the
Key
Message?

Click
to
edit
Master
/tle
style

Key
Message

 Click
to
edit
Master
/tle
style





Learn what Spring Roo is!
Key
Message

 Click
to
edit
Master
/tle
style





Learn what Spring Roo is!
Learn how to develope with Spring Roo and GWT!
Key
Message

 Click
to
edit
Master
/tle
style





Learn what Spring Roo is!
Learn how to develope with Spring Roo and GWT!
Learn when to use Spring Roo!
Agenda

 Click
to
edit
Master
/tle
style


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?
Agenda

 Click
to
edit
Master
/tle
style


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?
What
is
Spring
Roo?

Click
to
edit
Master
/tle
style





      Web-Framework




                    Full-Stack-Framework
What
is
Spring
Roo?

Click
to
edit
Master
/tle
style

What
is
Spring
Roo?

Click
to
edit
Master
/tle
style





             Configuration
              Marathon


                                   Roo-Shell
IDE‐Support?

Click
to
edit
Master
/tle
style





                                   AspectJ



                                    Roo-Shell
IDE‐Support?

Click
to
edit
Master
/tle
style





                                   AspectJ



                                    Roo-Shell
IDE‐Support?

Click
to
edit
Master
/tle
style





                                   AspectJ



                                    Roo-Shell
What
is
GWT?

 Click
to
edit
Master
/tle
style


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?
What
is
Google
Web
Toolkit
(GWT)?

Click
to
edit
Master
/tle
style





                     GWT is a
           Web-Framework
                     to create
               Rich Clients
What
is
Google
Web
Toolkit
(GWT)?

Click
to
edit
Master
/tle
style




No HTML, DOM, XMLHttpRequest, JavaScript?




               But YOU code Java!
What
is
Google
Web
Toolkit
(GWT)?

Click
to
edit
Master
/tle
style




      Plenty of Server-Communication?




            Client-centric Approach!
What
is
Google
Web
Toolkit
(GWT)?

 Click
to
edit
Master
/tle
style



                               Update View


                      View
                     Presenter

                               User Events



                                         Model
                                                           Model
                                       Updates and
                                                          Changes
                                         Queries




                                                     Model

Design Pattern:
Model View Presenter (MVP)
Agenda

 Click
to
edit
Master
/tle
style


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?
Use
Case:
(Very
simple)
Project
Management

Click
to
edit
Master
/tle
style

Use
Case:
(Very
simple)
Project
Management

 Click
to
edit
Master
/tle
style





⇒  Use Case 1: No existing Database
Use
Case:
(Very
simple)
Project
Management

 Click
to
edit
Master
/tle
style





⇒  Use Case 1: No existing Database
⇒  Use Case 2: Reverse Engineering (existing Database)
Agenda

 Click
to
edit
Master
/tle
style


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?
Live‐Demo

Click
to
edit
Master
/tle
style





Enough of the Theory!
⇒  Let‘s start LIVE HACKING...
Agenda

 Click
to
edit
Master
/tle
style


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?
Use
Add‐ons!

Click
to
edit
Master
/tle
style

Use
other
Spring
Stuff!
(if
possible)

Click
to
edit
Master
/tle
style





                                         Just a
                                        Cutout of
                                         Spring
                                        Projects
Know
that
you
can
remove
Spring
Roo!

Click
to
edit
Master
/tle
style

Agenda

 Click
to
edit
Master
/tle
style


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?
No
Undo‐Command

Click
to
edit
Master
/tle
style

Soooooooo
many
GWT‐Files

Click
to
edit
Master
/tle
style

High
Complexity
of
GWT‐Files

 Click
to
edit
Master
/tle
style


                                                Activity
                Update View


        View
                    Presenter

                User Events


                                                          ActivityMapper
Place                     Model
                        Updates and
                                            Model          ClientFactory
                                           Changes
                          Queries                               EventBus
                                                     PlaceHistoryMapper
                                                         RequestFactory
                                      Model
                  EntityProxy
                                                              ValueProxy
                                                          ServiceLocator
No
Finder‐GUI
in
GWT
yet

Click
to
edit
Master
/tle
style

S/ll
Hope
for
GWT‐related
Improvements

Click
to
edit
Master
/tle
style

Agenda

 Click
to
edit
Master
/tle
style


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?
Different
Types
of
Web
Applica/ons

   Click
to
edit
Master
/tle
style





                    Classical

                    Portal

                      Web

     CRUD
         Applica/on

                                                                      Time
to

Short
                                                       Long
   Develope


                                  Rich
Internet

             Rich
Client
          Applica/on

                                      (RIA)

Spring
Roo
is
awesome
for
CRUD‐Clients

   Click
to
edit
Master
/tle
style





                    Classical

                    Portal

                      Web

     CRUD
         Applica/on

                                                                      Time
to

Short
                                                       Long
   Develope


                                  Rich
Internet

             Rich
Client
          Applica/on

                                      (RIA)

Spring
Roo
is
good
for
Learning,
too!

Click
to
edit
Master
/tle
style

I
heard:
Spring
Roo
is
good
for
Prototyping,
too!

Click
to
edit
Master
/tle
style

I
heard:
Spring
Roo
is
good
for
Prototyping,
too!

Click
to
edit
Master
/tle
style




        TRUE
  for Spring Applications
Spring
Roo
is
awesome
for
CRUD‐Clients

   Click
to
edit
Master
/tle
style




80 % !!!
                    Classical

                    Portal

                      Web

     CRUD
         Applica/on

                                                                      Time
to

Short
                                                       Long
   Develope


                                  Rich
Internet

             Rich
Client
          Applica/on

                                      (RIA)

CRUD
Frameworks
within
Java
Environment

Click
to
edit
Master
/tle
style





 (Roma
Framework)

CRUD
Frameworks
within
Java
Environment

Click
to
edit
Master
/tle
style



Good
CRUD
Framework




 (Roma
Framework)

CRUD
Frameworks
within
Java
Environment

Click
to
edit
Master
/tle
style



Good
CRUD
Framework




 (Roma
Framework)





             No
Java

CRUD
Frameworks
within
Java
Environment

Click
to
edit
Master
/tle
style



Good
CRUD
Framework


                     No
powerful
Vendor

 (Roma
Framework)
   No
large
Community



             No
Java

I
am
NOT
a
Spring
Dude!

Click
to
edit
Master
/tle
style





                                   JEE 5 / 6

                                               Spring
…
and
the
Winner
is:

   Click
to
edit
Master
/tle
style





* from the View of a Java Developer!
Key
Message
arrived?

Click
to
edit
Master
/tle
style

Key
Message

 Click
to
edit
Master
/tle
style





Learn what Spring Roo is!
Learn how to develope with Spring Roo and GWT!
Learn when to use Spring Roo!
Key
Message
arrived?

Click
to
edit
Master
/tle
style

Whet
your
Appe/te?

Click
to
edit
Master
/tle
style

Get
Part
of
the
Community!

Click
to
edit
Master
/tle
style

Thank
you
for
your
Aen/on…
Ques/ons?

Click
to
edit
Master
/tle
style




           +            =      Rapid Rich Client Development




                     Kai
Wähner

                     IT‐Consultant


                     Mobile 
+49
151
544
277
88

                     Email




kai.waehner@mwea.de

                     Twier


@KaiWaehner


                     MaibornWolff
et
al
GmbH
|
Theresienhöhe
13
|
D‐80339
München


More Related Content

PDF
Agile startup company management and operation
PPTX
Smart Enterprise Application Integration with Apache Camel
PDF
Lessons learned: Use of Modern JVM Languages besides Java - JavaOne 2012
ODP
Building decentralized apps: Battle of the tech stacks
PDF
既存システムに対するブロックチェーン適用の検証と考察
PDF
web3j overview
PPTX
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
PDF
Everything dApp (Blockchain University Module II)
Agile startup company management and operation
Smart Enterprise Application Integration with Apache Camel
Lessons learned: Use of Modern JVM Languages besides Java - JavaOne 2012
Building decentralized apps: Battle of the tech stacks
既存システムに対するブロックチェーン適用の検証と考察
web3j overview
Building decentralized applications (dapps) on Ethereum - Eva Shon, & Igor Li...
Everything dApp (Blockchain University Module II)

Viewers also liked (18)

PDF
Next Generation – Systems Integration in the Cloud Era with Apache Camel - Ja...
PDF
Concept of BlockChain & Decentralized Application
PDF
Enterprise Integration Patterns Revisited (EIP) for the Era of Big Data, Inte...
PPTX
Blockchain 2.0
PDF
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
PDF
How to Choose the Right Technology, Framework or Tool to Build Microservices
PDF
Machine Learning Applied to Real Time Scoring in Manufacturing and Energy Uti...
PDF
Apply Machine Learning to Microservices
PDF
How to Apply Machine Learning with R, H20, Apache Spark MLlib or PMML to Real...
PDF
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
PDF
Comparison of Open Source Frameworks for Integrating the Internet of Things
PDF
Microservices = Death of the Enterprise Service Bus (ESB)?
PDF
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
PPTX
Blockchain 3.0 - Decentral Applications
PDF
[GER] Lessons learned: Modern JVM Languages besides Java
PPT
Service-oriented Open Source Integration @ Moderner Staat 2012 (German)
PPTX
Blockchain: The Information Technology of the Future
ODP
CBGTBT - Part 1 - Workshop introduction & primer
Next Generation – Systems Integration in the Cloud Era with Apache Camel - Ja...
Concept of BlockChain & Decentralized Application
Enterprise Integration Patterns Revisited (EIP) for the Era of Big Data, Inte...
Blockchain 2.0
Trends at JavaOne 2016: Microservices, Docker and Cloud-Native Middleware
How to Choose the Right Technology, Framework or Tool to Build Microservices
Machine Learning Applied to Real Time Scoring in Manufacturing and Energy Uti...
Apply Machine Learning to Microservices
How to Apply Machine Learning with R, H20, Apache Spark MLlib or PMML to Real...
Cloud Native Middleware Microservices - Lessons Learned with Docker, Kubernet...
Comparison of Open Source Frameworks for Integrating the Internet of Things
Microservices = Death of the Enterprise Service Bus (ESB)?
Microservices, Containers, Docker and a Cloud-Native Architecture in the Midd...
Blockchain 3.0 - Decentral Applications
[GER] Lessons learned: Modern JVM Languages besides Java
Service-oriented Open Source Integration @ Moderner Staat 2012 (German)
Blockchain: The Information Technology of the Future
CBGTBT - Part 1 - Workshop introduction & primer
Ad

Similar to Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT (20)

PDF
Javaland 2014 / GWT architectures and lessons learned
PDF
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
PDF
Building a full-stack app with Golang and Google Cloud Platform in one week
PPT
Continuous deployment
PDF
GWT Architectures and Lessons Learned (WJAX 2013)
PPTX
Testing Imp Document
PPTX
ITeLearn-Manual Testing Day 05.pptx
PPTX
ITeLearn-Manual Testing Day 05.pptx
PPTX
Manual Testing
PPTX
ITeLearn-Manual Testing Day 05.pptx
PPTX
ITeLearn-Manual Testing Day 05.pptx
PDF
Spunite17 Converting your CEWP Customisations
PPT
PPT
Rails Vs CakePHP
PPT
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field
PDF
Explorations of the three legged performance stool
PPTX
Methodology of Inclusion by Corey Timpson
PDF
Being Reactive with Spring
PDF
Curious Coders Java Web Frameworks Comparison
PDF
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Javaland 2014 / GWT architectures and lessons learned
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
Building a full-stack app with Golang and Google Cloud Platform in one week
Continuous deployment
GWT Architectures and Lessons Learned (WJAX 2013)
Testing Imp Document
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
Manual Testing
ITeLearn-Manual Testing Day 05.pptx
ITeLearn-Manual Testing Day 05.pptx
Spunite17 Converting your CEWP Customisations
Rails Vs CakePHP
WebSphere Portlet Factory: Davalen’s Practical Advice from the Field
Explorations of the three legged performance stool
Methodology of Inclusion by Corey Timpson
Being Reactive with Spring
Curious Coders Java Web Frameworks Comparison
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Ad

More from Kai Wähner (20)

PDF
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
PDF
When NOT to use Apache Kafka?
PDF
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
PDF
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
PDF
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
PDF
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
PDF
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
PDF
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
PDF
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
PDF
Apache Kafka in the Healthcare Industry
PDF
Apache Kafka in the Healthcare Industry
PDF
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
PDF
Kafka for Real-Time Replication between Edge and Hybrid Cloud
PDF
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
PDF
Apache Kafka Landscape for Automotive and Manufacturing
PDF
Kappa vs Lambda Architectures and Technology Comparison
PPTX
The Top 5 Apache Kafka Use Cases and Architectures in 2022
PDF
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
PDF
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
PDF
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...
Apache Kafka as Data Hub for Crypto, NFT, Metaverse (Beyond the Buzz!)
When NOT to use Apache Kafka?
Kafka for Live Commerce to Transform the Retail and Shopping Metaverse
The Heart of the Data Mesh Beats in Real-Time with Apache Kafka
Apache Kafka vs. Cloud-native iPaaS Integration Platform Middleware
Data Warehouse vs. Data Lake vs. Data Streaming – Friends, Enemies, Frenemies?
Serverless Kafka and Spark in a Multi-Cloud Lakehouse Architecture
Resilient Real-time Data Streaming across the Edge and Hybrid Cloud with Apac...
Data Streaming with Apache Kafka in the Defence and Cybersecurity Industry
Apache Kafka in the Healthcare Industry
Apache Kafka in the Healthcare Industry
Apache Kafka for Real-time Supply Chain in the Food and Retail Industry
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Apache Kafka for Predictive Maintenance in Industrial IoT / Industry 4.0
Apache Kafka Landscape for Automotive and Manufacturing
Kappa vs Lambda Architectures and Technology Comparison
The Top 5 Apache Kafka Use Cases and Architectures in 2022
Event Streaming CTO Roundtable for Cloud-native Kafka Architectures
Apache Kafka in the Public Sector (Government, National Security, Citizen Ser...
Telco 4.0 - Payment and FinServ Integration for Data in Motion with 5G and Ap...

Recently uploaded (20)

PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Getting Started with Data Integration: FME Form 101
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Hybrid model detection and classification of lung cancer
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
August Patch Tuesday
PPTX
Chapter 5: Probability Theory and Statistics
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Zenith AI: Advanced Artificial Intelligence
Getting Started with Data Integration: FME Form 101
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Univ-Connecticut-ChatGPT-Presentaion.pdf
Heart disease approach using modified random forest and particle swarm optimi...
Hybrid model detection and classification of lung cancer
Group 1 Presentation -Planning and Decision Making .pptx
cloud_computing_Infrastucture_as_cloud_p
Digital-Transformation-Roadmap-for-Companies.pptx
1 - Historical Antecedents, Social Consideration.pdf
Hindi spoken digit analysis for native and non-native speakers
Enhancing emotion recognition model for a student engagement use case through...
Building Integrated photovoltaic BIPV_UPV.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
August Patch Tuesday
Chapter 5: Probability Theory and Statistics
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Programs and apps: productivity, graphics, security and other tools
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf

Confess_2011 - Rapid Rich Client Development with Spring Roo and GWT