SlideShare a Scribd company logo
GWT Integration
How to integrate Nuxeo with GWT

Stefanescu Bogdan




                                  1
Why GWT?
●   GWT is for Java developers, not webmasters
●   Easy to develop and debug
    ●   write, debug and reload in Eclipse
    ●   very short development time compared with
        JSF
●   Very clean design of web applications
    ●   Decoupled from server - Stateless
●   Nuxeo is already integrated with GWT IDE
●   GWT is Google! And is quite good
                                                    2
Wonderful! Why not GWT then?
●   GWT is monolithic - best suited for vertical
    applications
●   GWT applications are not indexable
    ●   In GWT you create rich applications, not
        websites!
●   GWT applications are very slow to compile
    ●   But you can gain time in development
●   GWT doesn't fit well in a modular server-
    side framework like OSGi
                                                   3
But I Love GWT!
●   Then these slides are for you! :)
●   Nuxeo already provides 2 web frameworks:
    ●   JSF-based for building web apps
    ●   WebEngine for building websites
●   Where does GWT fit?
    ●   Somewhere in the middle -- for building vertical
        applications
●   To integrate it as a web framework, Nuxeo
    needs to provide some GWT support
                                                           4
Ok. So what is  the problem?

●   GWT is not modular at runtime:
    ●   Modularity is compile-time based
    ●   You cannot drop a new GWT plugin and have
        the changes reflected in your web application
        without recompiling the entire GWT stack, and
        restarting the server
●   We want to reuse layout logic already
    implemented on the server side

                                                        5
Solutions
●   Two possible solutions
    ●   Re-implement a Layout Manager for GWT to
        reuse the layout definitions registered on the
        server side
        –   This is not the best solution since it involves re-
            writing the same code on the GWT side and doesn't
            solve the modularity problem
    ●   Write a server side template system for GWT
        applications
        –   This solves both the problems –
             ●   the Nuxeo Layout Manager is providing GWT the templates
                 it needs
             ●   Because web pages are generated by the server, we also    6

                 have modularity
Server­Side Templating
●   As we've seen, server-side templating may
    satisfy both requirements
    ●   The problem is that server side templating
        doesn't provide full modularity
    ●   Templates are indeed modular - but if you need
        to install a new GWT widget (e.g. java code)
        you still need to recompile your application
●   But anyway this is a start …
    ●   I've already implemented this in an open
        source project. See:
        http://code.google.com/p/gwt-habyt
                                                         7
Let's see a demo!
Do you have any other solutions?




                                   8
Thank you!




             9

More Related Content

PDF
Continuous delivery journey - Montgomery county JUG
PDF
TDC São Paulo - React presentation
PDF
Introduction to Google Web Toolkit - part 1
PDF
Google App Engine Developer - Day1
PDF
Best Practices in Component Development for MODX
PPTX
Difference between-angular js-nodejs
PDF
Android Made Simple
PDF
Pros and cons of vue.js
Continuous delivery journey - Montgomery county JUG
TDC São Paulo - React presentation
Introduction to Google Web Toolkit - part 1
Google App Engine Developer - Day1
Best Practices in Component Development for MODX
Difference between-angular js-nodejs
Android Made Simple
Pros and cons of vue.js

What's hot (20)

PDF
Web development, from git flow to github flow
PPTX
Getting started with Vue.js - CodeMash 2020
PDF
Vue.js - An Introduction
PPTX
Dataflow Visualization using ASCII DAG
PDF
Intro to Gradle + How to get up to speed
PDF
Functional Components in Vue.js
PPTX
Vue.js LT
PDF
[GREE Tech Talk #08] You Don't Know WebGL
PPTX
Continuously Break The Android
PPTX
Advantages of using drupal 8
PDF
Mobile development with JBoss Tools
PDF
Basic Introduction and Overview of Vue.js
ODP
Widgets admin
PDF
Mule soft meetup__jaipur_december_2020_final
PDF
Introduction to git flow
PDF
Kubernetes in Modern Application Architecture - Orkhan Gasimov
PDF
Pros & cons of svelte
PPTX
Angular js in your next web application
PDF
Android best practices 2015
PDF
Git work flow
Web development, from git flow to github flow
Getting started with Vue.js - CodeMash 2020
Vue.js - An Introduction
Dataflow Visualization using ASCII DAG
Intro to Gradle + How to get up to speed
Functional Components in Vue.js
Vue.js LT
[GREE Tech Talk #08] You Don't Know WebGL
Continuously Break The Android
Advantages of using drupal 8
Mobile development with JBoss Tools
Basic Introduction and Overview of Vue.js
Widgets admin
Mule soft meetup__jaipur_december_2020_final
Introduction to git flow
Kubernetes in Modern Application Architecture - Orkhan Gasimov
Pros & cons of svelte
Angular js in your next web application
Android best practices 2015
Git work flow
Ad

Viewers also liked (10)

PDF
Webinar Mobile ECM Apps with Nuxeo EP
KEY
Timewarp Nuxeo2
PDF
Document Management with Nuxeo: Flexible approach to document & content manag...
PDF
8 things you should know about open source ecm
PPS
Why Alfresco ECM?
PDF
Slide deck roadmap webinar 2013
PDF
Alex_Vlachos_Advanced_VR_Rendering_Performance_GDC2016
PDF
Solving Content Chaos
PPT
Nuxeo CMF, a framework for case centric applications
PDF
Nuxeo World Session: Case Management Framework
Webinar Mobile ECM Apps with Nuxeo EP
Timewarp Nuxeo2
Document Management with Nuxeo: Flexible approach to document & content manag...
8 things you should know about open source ecm
Why Alfresco ECM?
Slide deck roadmap webinar 2013
Alex_Vlachos_Advanced_VR_Rendering_Performance_GDC2016
Solving Content Chaos
Nuxeo CMF, a framework for case centric applications
Nuxeo World Session: Case Management Framework
Ad

Similar to Nuxeo World Session: GWT Integration (20)

PDF
GWT - Building Rich Internet Applications Using OO Tools
PDF
Developing SPI applications using Grails and AngularJS
PDF
Curious Coders Java Web Frameworks Comparison
PDF
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
PDF
6_PDFsam_DevOps.pdf
PPTX
Choosing your frontend web framework.pptx
PDF
GWT - AppDays - (25 aprile 2014, pordenone)
PDF
RealDay: Angular.js
PDF
GoPro, Inc. Case study: Dive into the details of our web applications
PDF
High Performance Graphics - Introduction to WebGPU - Next Generation of High ...
PDF
Android Modularization
PDF
Nuxeo WebEngine and GlassFish v3
PPT
Introduction to Google Web Toolkit
PDF
Introduction To Groovy And Grails - SpringPeople
PDF
GraalVM Native and Spring Boot 3.0
PDF
Making sense of the front-end, for PHP developers
PDF
Go Pro, Inc. Case Study: Dive into the details of our node.js applications
PDF
Gwt kickoff - Alberto Mancini & Francesca Tosi
PDF
WillMicroserviceDie.pdf
PDF
Gradle build automation tool
GWT - Building Rich Internet Applications Using OO Tools
Developing SPI applications using Grails and AngularJS
Curious Coders Java Web Frameworks Comparison
Creating Large Scale Software Platforms with OSGi and an Extension Point Mode...
6_PDFsam_DevOps.pdf
Choosing your frontend web framework.pptx
GWT - AppDays - (25 aprile 2014, pordenone)
RealDay: Angular.js
GoPro, Inc. Case study: Dive into the details of our web applications
High Performance Graphics - Introduction to WebGPU - Next Generation of High ...
Android Modularization
Nuxeo WebEngine and GlassFish v3
Introduction to Google Web Toolkit
Introduction To Groovy And Grails - SpringPeople
GraalVM Native and Spring Boot 3.0
Making sense of the front-end, for PHP developers
Go Pro, Inc. Case Study: Dive into the details of our node.js applications
Gwt kickoff - Alberto Mancini & Francesca Tosi
WillMicroserviceDie.pdf
Gradle build automation tool

More from Nuxeo (20)

PDF
Own the Digital Shelf Strategies Food and Beverage Companies
PDF
How DAM Librarians Can Get Ready for the Uncertain Future
PDF
How Insurers Fueled Transformation During a Pandemic
PDF
Manage your Content at Scale with MongoDB and Nuxeo
PDF
Accelerate the Digital Supply Chain From Idea to Support
PDF
Where are you in the DAM Continuum
PDF
Customer Experience in 2021
PPTX
L’IA personnalisée, clé d’une gestion de l’information innovante
PDF
Gérer ses contenus avec MongoDB et Nuxeo
PPTX
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
PPTX
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
PDF
Elevate your Customer's Experience and Stay Ahead of the Competition
PDF
Driving Brand Loyalty Through Superior Customer Experience
PDF
Drive Enterprise Speed and Scale with A Cloud-Native DAM
PPTX
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
PDF
How Creatives Are Getting Creative in 2020 and Beyond
PPTX
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
PDF
Reimagine Your Claims Process with Future-Proof Technologies
PPTX
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
PDF
Accelerating the Packaging Design Process with Artificial Intelligence
Own the Digital Shelf Strategies Food and Beverage Companies
How DAM Librarians Can Get Ready for the Uncertain Future
How Insurers Fueled Transformation During a Pandemic
Manage your Content at Scale with MongoDB and Nuxeo
Accelerate the Digital Supply Chain From Idea to Support
Where are you in the DAM Continuum
Customer Experience in 2021
L’IA personnalisée, clé d’une gestion de l’information innovante
Gérer ses contenus avec MongoDB et Nuxeo
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Elevate your Customer's Experience and Stay Ahead of the Competition
Driving Brand Loyalty Through Superior Customer Experience
Drive Enterprise Speed and Scale with A Cloud-Native DAM
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
How Creatives Are Getting Creative in 2020 and Beyond
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Reimagine Your Claims Process with Future-Proof Technologies
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Accelerating the Packaging Design Process with Artificial Intelligence

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPT
Teaching material agriculture food technology
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Machine Learning_overview_presentation.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
cuic standard and advanced reporting.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Approach and Philosophy of On baking technology
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Cloud computing and distributed systems.
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
Reach Out and Touch Someone: Haptics and Empathic Computing
Teaching material agriculture food technology
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
Machine Learning_overview_presentation.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Per capita expenditure prediction using model stacking based on satellite ima...
cuic standard and advanced reporting.pdf
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
Approach and Philosophy of On baking technology
Spectral efficient network and resource selection model in 5G networks
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Review of recent advances in non-invasive hemoglobin estimation
Cloud computing and distributed systems.
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools

Nuxeo World Session: GWT Integration

  • 2. Why GWT? ● GWT is for Java developers, not webmasters ● Easy to develop and debug ● write, debug and reload in Eclipse ● very short development time compared with JSF ● Very clean design of web applications ● Decoupled from server - Stateless ● Nuxeo is already integrated with GWT IDE ● GWT is Google! And is quite good 2
  • 3. Wonderful! Why not GWT then? ● GWT is monolithic - best suited for vertical applications ● GWT applications are not indexable ● In GWT you create rich applications, not websites! ● GWT applications are very slow to compile ● But you can gain time in development ● GWT doesn't fit well in a modular server- side framework like OSGi 3
  • 4. But I Love GWT! ● Then these slides are for you! :) ● Nuxeo already provides 2 web frameworks: ● JSF-based for building web apps ● WebEngine for building websites ● Where does GWT fit? ● Somewhere in the middle -- for building vertical applications ● To integrate it as a web framework, Nuxeo needs to provide some GWT support 4
  • 5. Ok. So what is  the problem? ● GWT is not modular at runtime: ● Modularity is compile-time based ● You cannot drop a new GWT plugin and have the changes reflected in your web application without recompiling the entire GWT stack, and restarting the server ● We want to reuse layout logic already implemented on the server side 5
  • 6. Solutions ● Two possible solutions ● Re-implement a Layout Manager for GWT to reuse the layout definitions registered on the server side – This is not the best solution since it involves re- writing the same code on the GWT side and doesn't solve the modularity problem ● Write a server side template system for GWT applications – This solves both the problems – ● the Nuxeo Layout Manager is providing GWT the templates it needs ● Because web pages are generated by the server, we also 6 have modularity
  • 7. Server­Side Templating ● As we've seen, server-side templating may satisfy both requirements ● The problem is that server side templating doesn't provide full modularity ● Templates are indeed modular - but if you need to install a new GWT widget (e.g. java code) you still need to recompile your application ● But anyway this is a start … ● I've already implemented this in an open source project. See: http://code.google.com/p/gwt-habyt 7
  • 8. Let's see a demo! Do you have any other solutions? 8