SlideShare a Scribd company logo
1 of 56
Download to read offline
cocktail d’expérience informatiques
             Genève 3 & 4 octobre 2011
                    Seconde édition
                      soft-shake.ch




Auteur    Sami EKBLAD
  Track   Java
Session   Rich Portlets in
          Liferay 6 with
          Vaadin
Rich Portlets in
Liferay 6 with Vaadin
              vaadin.com / sami
?
Vaadin is a
  UI framework
for desktop-like
       web apps
UI components
New configs,
taglibs and
syntax!?!

JavaScript,
DOM, Applet,
plugins?
java   html
This is Java.
Nothing else.
How does it
work?
Vaadin UI component
architecture
                           HTTP(S)
“UI Component”                       “Widget”
Server-side peer with                Client-side peer for the
state. (Button, Table,               component.
Tree, ...)



 • UI composition                    • Rich user experience
 • Event handling & Data             • No plugins needed
   Binding                           • Automatic state
 • Full Java API                       synchronization (XHR)
Vaadin UI component
architecture
                         HTTP(S)
“UI Component”                     “Widget”
Server-side peer with              Client-side peer for the
state. (Button, Table,             component.
Tree, ...)



 • UI composition                  • Rich user experience
 • Synchronous event               • No plugins needed
   handling                        • Automatic state
 • Full Java API                     synchronization (XHR)
Vaadin UI component
architecture
Vaadin Add-on                    Reuse in any
This is simply a jar             Vaadin
                                 application




                       Portlet       Servlet    GAE
Leverage
existing
Java skills
Manage large
application
projects
Designed for
development teams
               Full benefit from object
               oriented language

Vaadin
Component      Designers can use CSS
Architecture   and web design tools


               Powerful add-on packaging.
               Puts everything in reuse
Liferay
Portal
Liferay IDE
Vaadin Control Panel
Vaadin Plugin for Eclipse
... and more

      Liferay application theme


      Liferay IPC plugin



      WSRP support
Demo:
Optimize the
Code-Deploy-
Test Cycle
Vaadin in Liferay - what
you need?
      Liferay IDE 1.3 for portlet development



      Vaadin Control Panel portlet
      (get it from vaadin.com/directory)


      Vaadin Plugin for Eclipse w/ visual editor
      (get it from vaadin.com/eclipse)
You are
 here
...
Developer Productivity
     Develop in single programming
     language as much as possible.

     Optimize the deployment cycle using
     hot-code replacement.


     Design, package and reuse UI
     components as Vaadin Add-ons.
Vaadin Directory
Screen shot 2011-04-14 at 12.46.14.png
Calendar



view and manage
events in a monthly
or a weekly view.
IE6Crash



make the world more
compatible.
Vaadin
TouchKit 2.0


building mobile web
applications with
Vaadin
Visualizations



powerful charts for all
data visualization
needs
Learn
more?
Book of
Vaadin

                e
            l in
           n F
          O D
            P
brought to you by...

#148
  Get More Refcardz! Visit refcardz.com



                                          CONTENTS INCLUDE:
                                           Starting the Development
                                           Portlet Development with Vaadin                     Mastering Portal UI Development
                                           Tools for Vaadin Development
                                           Composing the User Interface with Vaadin
                                           Theming Vaadin Applications
                                                                                                        With Vaadin and Liferay
                                           Inter-Portlet Communication (IPC)                                                                By Sami Ekblad, James Falkner

                                          The open source Liferay Portal has become a popular way of             JavaServerFaces   Server-side user interface component             Java, XML, JSP
                                                                                                                                   framework based on JSP and tag libraries.
                                          implementing enterprise websites. Providing an integrated
                                          platform for application development and deployment, Liferay has
                                          also become an environment for running business applications.          Spring MVC        Action oriented Model-View-Controller            Java, XML, JSP
                                                                                                                                   framework for web pages.
                                          For application development, Liferay Portal includes Vaadin as a
                                                                                                                 Struts 2          Action oriented Model-View-Controller            Java, XML, JSP
                                          pre-packaged framework for developing attractive, easy-to-use                            framework for web pages.
                                          applications.
                                                                                                                 Vaadin            A rich Java-only component framework based       Java
                                                                                                                                   on Ajax/GWT
                                          About this Refcard                                                     Apache Wicket     Server-side component framework based on         Java, HTML
                                          This Refcard gives a quick overview of the user interface                                Java and HTML.
                                          development with Vaadin on Liferay. It covers topics like portlet     .
                                          setup, configuration, inter-portlet communication (IPC), UI            Different portlets can use different frameworks to implement the user
                                          composition, and theming. To get a more general understanding         interface.
                                          of Liferay Portal and Vaadin framework, see the Refcards “Liferay
                                          Essentials” and “Vaadin: A Familiar Way to Build Web Apps With             PORTLET DEVELOPMENT WITH VAADIN
                                          Java”.
 din and Liferay




                                              STARTING THE DEVELOPMENT                                          Vaadin is a server- and component-oriented user interface framework
                                                                                                                for Java web applications. Vaadin applications can be hosted as
                                          Strategies for Portal User Interface                                  standalone web applications as well as portlets in portals like Liferay.
                                                                                                                Vaadin is a good choice for building complete applications that use
                                          Portlets are small web applications written in Java. They run in
                                                                                                                Liferay as a platform.
                                          a piece of a web user interface within a portal. Portal manages
                                          the lifecycle and aggregation of portlets to a single visible web     Portlets created with Vaadin are essentially Ajax web applications
                                          page. When designing a user interface for a portal, there are a few   that can be considered single-page applications. This means
                                          strategies based on UI granularity:                                   that the page is not reloaded after it is opened initially; rather,
                                                                                                                it communicates user interaction with the server through Ajax
brought to you by...

#85
Get More Refcardz! Visit refcardz.com




                                                                                      Vaadin: A Familiar Way to
                                        CONTENTS INCLUDE:
                                         About Vaadin
                                         Creating an Application


                                                                                      Build Web Apps with Java
                                         Components
                                         Layout Components
                                         Themes
                                         Data Binding and more...
                                                                                                                                                                 By Marko Grönroos

                                                                                                                The application can change the components and the layout
                                            ABOUT VAADIN                                                        dynamically according to the user input.

                                        Vaadin is a server-side Ajax web application development
                                        framework that allows you to build web applications just as you
                                        would with traditional desktop frameworks, such as AWT or Swing.
                                        An application is built from user interface components contained
                                        hierarchically in layout components.

                                        In the server-driven model, the application code runs on a server,
                                        while the actual user interaction is handled by a client-side engine
                                        running in the browser. The client-server communications and any
                                        client-side technologies, such as HTML and JavaScript, are invisible
                                        to the developer. As the client-side engine runs as JavaScript in the
                                        browser, there is no need to install plug-ins.




                                                                                                                Figure 2: Architecture for Vaadin Applications

                                                                                                                You can create a Vaadin application project easily with the Vaadin
                                                                                                                Plugin for Eclipse, with NetBeans, with Maven or with Spring Roo.
h Java




                                        Figure 1: Vaadin Client-Server Architecture
                                                                                                                Event Listeners
                                        If the built-in selection of components is not enough, you can          In the event-driven model, user interaction with user interface
                                        develop new components with the Google Web Toolkit (GWT)
Great Community Forums
Vaadin 6.7
is “Geneva”


     Today
vaadin.com/
download
TreeTable



build hierarchical
tables
Chameleon
Theme


color theme designer
SQLContainer



quick SQL binding
Liferay
ControlPanel
1.0

Manage Vaadin
applications in a
portal
+ 108 other
enhancements
and fixes
Questions?

More Related Content

Viewers also liked

Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMoved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMilen Dyankov
 
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiEclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiRafik HARABI
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projectsIBACZ
 
Liferay overview
Liferay overviewLiferay overview
Liferay overviewAbhishekSRC
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalNavin Agarwal
 
Liferay Portal Introduction
Liferay Portal IntroductionLiferay Portal Introduction
Liferay Portal IntroductionNguyen Tung
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRayf.morin
 

Viewers also liked (9)

Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterpriseMoved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
Moved to https://slidr.io/azzazzel/liferay-7-microservices-for-the-enterprise
 
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik HarabiEclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
EclipseCon Europe 2015 - liferay modularity patterns using OSGi -Rafik Harabi
 
Overview of Liferay 7 Technology
Overview of Liferay 7 TechnologyOverview of Liferay 7 Technology
Overview of Liferay 7 Technology
 
Liferay portals in real projects
Liferay portals  in real projectsLiferay portals  in real projects
Liferay portals in real projects
 
Liferay overview
Liferay overviewLiferay overview
Liferay overview
 
Liferay
LiferayLiferay
Liferay
 
Liferay architecture By Navin Agarwal
Liferay architecture By Navin AgarwalLiferay architecture By Navin Agarwal
Liferay architecture By Navin Agarwal
 
Liferay Portal Introduction
Liferay Portal IntroductionLiferay Portal Introduction
Liferay Portal Introduction
 
Présentation LifeRay
Présentation LifeRayPrésentation LifeRay
Présentation LifeRay
 

More from soft-shake.ch

soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?soft-shake.ch
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch
 
soft-shake.ch - WebMatrix: Your Web Made Easy
soft-shake.ch - WebMatrix: Your Web Made Easysoft-shake.ch - WebMatrix: Your Web Made Easy
soft-shake.ch - WebMatrix: Your Web Made Easysoft-shake.ch
 
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch
 
soft-shake.ch - Clojure Values
soft-shake.ch - Clojure Valuessoft-shake.ch - Clojure Values
soft-shake.ch - Clojure Valuessoft-shake.ch
 
soft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Gridssoft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Gridssoft-shake.ch
 
soft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch
 
soft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolutionsoft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolutionsoft-shake.ch
 
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coinsoft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coinsoft-shake.ch
 
soft-shake.ch - Tests d'intégration JavaEE avec Arquillian
soft-shake.ch - Tests d'intégration JavaEE avec Arquilliansoft-shake.ch - Tests d'intégration JavaEE avec Arquillian
soft-shake.ch - Tests d'intégration JavaEE avec Arquilliansoft-shake.ch
 
soft-shake.ch - Un zeste d’Erlang dans le shaker!
soft-shake.ch - Un zeste d’Erlang dans le shaker!soft-shake.ch - Un zeste d’Erlang dans le shaker!
soft-shake.ch - Un zeste d’Erlang dans le shaker!soft-shake.ch
 
soft-shake.ch - Déploiement continu sur le cloud avec SlipStream
soft-shake.ch - Déploiement continu sur le cloud avec SlipStreamsoft-shake.ch - Déploiement continu sur le cloud avec SlipStream
soft-shake.ch - Déploiement continu sur le cloud avec SlipStreamsoft-shake.ch
 
soft-shake.ch - An introduction to social architecture
soft-shake.ch - An introduction to social architecturesoft-shake.ch - An introduction to social architecture
soft-shake.ch - An introduction to social architecturesoft-shake.ch
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch
 
soft-shake.ch - De Hermes RUP à Hermes Scrum
soft-shake.ch - De Hermes RUP à Hermes Scrumsoft-shake.ch - De Hermes RUP à Hermes Scrum
soft-shake.ch - De Hermes RUP à Hermes Scrumsoft-shake.ch
 
soft-shake.ch - Stewardship et motivation
soft-shake.ch - Stewardship et motivationsoft-shake.ch - Stewardship et motivation
soft-shake.ch - Stewardship et motivationsoft-shake.ch
 
soft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp leansoft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp leansoft-shake.ch
 
soft-shake.ch - Documentation et agilité
soft-shake.ch - Documentation et agilitésoft-shake.ch - Documentation et agilité
soft-shake.ch - Documentation et agilitésoft-shake.ch
 
soft-shake.ch - Agilité = discipline et rigueur ?
soft-shake.ch - Agilité = discipline et rigueur ?soft-shake.ch - Agilité = discipline et rigueur ?
soft-shake.ch - Agilité = discipline et rigueur ?soft-shake.ch
 
soft-shake.ch - Transition agile & Accompagnement au changement
soft-shake.ch - Transition agile & Accompagnement au changementsoft-shake.ch - Transition agile & Accompagnement au changement
soft-shake.ch - Transition agile & Accompagnement au changementsoft-shake.ch
 

More from soft-shake.ch (20)

soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
 
soft-shake.ch - WebMatrix: Your Web Made Easy
soft-shake.ch - WebMatrix: Your Web Made Easysoft-shake.ch - WebMatrix: Your Web Made Easy
soft-shake.ch - WebMatrix: Your Web Made Easy
 
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NETsoft-shake.ch - Domotique et robotique avec le micro Framework .NET
soft-shake.ch - Domotique et robotique avec le micro Framework .NET
 
soft-shake.ch - Clojure Values
soft-shake.ch - Clojure Valuessoft-shake.ch - Clojure Values
soft-shake.ch - Clojure Values
 
soft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Gridssoft-shake.ch - Data grids and Data Grids
soft-shake.ch - Data grids and Data Grids
 
soft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Caching
 
soft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolutionsoft-shake.ch - JBoss AS 7, la révolution
soft-shake.ch - JBoss AS 7, la révolution
 
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coinsoft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
soft-shake.ch - Java SE 7: The Fork/Join Framework and Project Coin
 
soft-shake.ch - Tests d'intégration JavaEE avec Arquillian
soft-shake.ch - Tests d'intégration JavaEE avec Arquilliansoft-shake.ch - Tests d'intégration JavaEE avec Arquillian
soft-shake.ch - Tests d'intégration JavaEE avec Arquillian
 
soft-shake.ch - Un zeste d’Erlang dans le shaker!
soft-shake.ch - Un zeste d’Erlang dans le shaker!soft-shake.ch - Un zeste d’Erlang dans le shaker!
soft-shake.ch - Un zeste d’Erlang dans le shaker!
 
soft-shake.ch - Déploiement continu sur le cloud avec SlipStream
soft-shake.ch - Déploiement continu sur le cloud avec SlipStreamsoft-shake.ch - Déploiement continu sur le cloud avec SlipStream
soft-shake.ch - Déploiement continu sur le cloud avec SlipStream
 
soft-shake.ch - An introduction to social architecture
soft-shake.ch - An introduction to social architecturesoft-shake.ch - An introduction to social architecture
soft-shake.ch - An introduction to social architecture
 
soft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.jssoft-shake.ch - Hands on Node.js
soft-shake.ch - Hands on Node.js
 
soft-shake.ch - De Hermes RUP à Hermes Scrum
soft-shake.ch - De Hermes RUP à Hermes Scrumsoft-shake.ch - De Hermes RUP à Hermes Scrum
soft-shake.ch - De Hermes RUP à Hermes Scrum
 
soft-shake.ch - Stewardship et motivation
soft-shake.ch - Stewardship et motivationsoft-shake.ch - Stewardship et motivation
soft-shake.ch - Stewardship et motivation
 
soft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp leansoft-shake.ch - Agile qu'es aco : scrum xp lean
soft-shake.ch - Agile qu'es aco : scrum xp lean
 
soft-shake.ch - Documentation et agilité
soft-shake.ch - Documentation et agilitésoft-shake.ch - Documentation et agilité
soft-shake.ch - Documentation et agilité
 
soft-shake.ch - Agilité = discipline et rigueur ?
soft-shake.ch - Agilité = discipline et rigueur ?soft-shake.ch - Agilité = discipline et rigueur ?
soft-shake.ch - Agilité = discipline et rigueur ?
 
soft-shake.ch - Transition agile & Accompagnement au changement
soft-shake.ch - Transition agile & Accompagnement au changementsoft-shake.ch - Transition agile & Accompagnement au changement
soft-shake.ch - Transition agile & Accompagnement au changement
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

soft-shake.ch - Rich Portlets in Liferay 6 with Vaadin

  • 1. cocktail d’expérience informatiques Genève 3 & 4 octobre 2011 Seconde édition soft-shake.ch Auteur Sami EKBLAD Track Java Session Rich Portlets in Liferay 6 with Vaadin
  • 2.
  • 3. Rich Portlets in Liferay 6 with Vaadin vaadin.com / sami
  • 4. ?
  • 5.
  • 6.
  • 7. Vaadin is a UI framework for desktop-like web apps
  • 9.
  • 10.
  • 11.
  • 13.
  • 14. java html
  • 17. Vaadin UI component architecture HTTP(S) “UI Component” “Widget” Server-side peer with Client-side peer for the state. (Button, Table, component. Tree, ...) • UI composition • Rich user experience • Event handling & Data • No plugins needed Binding • Automatic state • Full Java API synchronization (XHR)
  • 18. Vaadin UI component architecture HTTP(S) “UI Component” “Widget” Server-side peer with Client-side peer for the state. (Button, Table, component. Tree, ...) • UI composition • Rich user experience • Synchronous event • No plugins needed handling • Automatic state • Full Java API synchronization (XHR)
  • 19. Vaadin UI component architecture Vaadin Add-on Reuse in any This is simply a jar Vaadin application Portlet Servlet GAE
  • 22. Designed for development teams Full benefit from object oriented language Vaadin Component Designers can use CSS Architecture and web design tools Powerful add-on packaging. Puts everything in reuse
  • 24.
  • 25.
  • 28. Vaadin Plugin for Eclipse
  • 29. ... and more Liferay application theme Liferay IPC plugin WSRP support
  • 31. Vaadin in Liferay - what you need? Liferay IDE 1.3 for portlet development Vaadin Control Panel portlet (get it from vaadin.com/directory) Vaadin Plugin for Eclipse w/ visual editor (get it from vaadin.com/eclipse)
  • 33. ...
  • 34. Developer Productivity Develop in single programming language as much as possible. Optimize the deployment cycle using hot-code replacement. Design, package and reuse UI components as Vaadin Add-ons.
  • 36. Screen shot 2011-04-14 at 12.46.14.png
  • 37. Calendar view and manage events in a monthly or a weekly view.
  • 38. IE6Crash make the world more compatible.
  • 39. Vaadin TouchKit 2.0 building mobile web applications with Vaadin
  • 40. Visualizations powerful charts for all data visualization needs
  • 42. Book of Vaadin e l in n F O D P
  • 43. brought to you by... #148 Get More Refcardz! Visit refcardz.com CONTENTS INCLUDE: Starting the Development Portlet Development with Vaadin Mastering Portal UI Development Tools for Vaadin Development Composing the User Interface with Vaadin Theming Vaadin Applications With Vaadin and Liferay Inter-Portlet Communication (IPC) By Sami Ekblad, James Falkner The open source Liferay Portal has become a popular way of JavaServerFaces Server-side user interface component Java, XML, JSP framework based on JSP and tag libraries. implementing enterprise websites. Providing an integrated platform for application development and deployment, Liferay has also become an environment for running business applications. Spring MVC Action oriented Model-View-Controller Java, XML, JSP framework for web pages. For application development, Liferay Portal includes Vaadin as a Struts 2 Action oriented Model-View-Controller Java, XML, JSP pre-packaged framework for developing attractive, easy-to-use framework for web pages. applications. Vaadin A rich Java-only component framework based Java on Ajax/GWT About this Refcard Apache Wicket Server-side component framework based on Java, HTML This Refcard gives a quick overview of the user interface Java and HTML. development with Vaadin on Liferay. It covers topics like portlet . setup, configuration, inter-portlet communication (IPC), UI Different portlets can use different frameworks to implement the user composition, and theming. To get a more general understanding interface. of Liferay Portal and Vaadin framework, see the Refcards “Liferay Essentials” and “Vaadin: A Familiar Way to Build Web Apps With PORTLET DEVELOPMENT WITH VAADIN Java”. din and Liferay STARTING THE DEVELOPMENT Vaadin is a server- and component-oriented user interface framework for Java web applications. Vaadin applications can be hosted as Strategies for Portal User Interface standalone web applications as well as portlets in portals like Liferay. Vaadin is a good choice for building complete applications that use Portlets are small web applications written in Java. They run in Liferay as a platform. a piece of a web user interface within a portal. Portal manages the lifecycle and aggregation of portlets to a single visible web Portlets created with Vaadin are essentially Ajax web applications page. When designing a user interface for a portal, there are a few that can be considered single-page applications. This means strategies based on UI granularity: that the page is not reloaded after it is opened initially; rather, it communicates user interaction with the server through Ajax
  • 44. brought to you by... #85 Get More Refcardz! Visit refcardz.com Vaadin: A Familiar Way to CONTENTS INCLUDE: About Vaadin Creating an Application Build Web Apps with Java Components Layout Components Themes Data Binding and more... By Marko Grönroos The application can change the components and the layout ABOUT VAADIN dynamically according to the user input. Vaadin is a server-side Ajax web application development framework that allows you to build web applications just as you would with traditional desktop frameworks, such as AWT or Swing. An application is built from user interface components contained hierarchically in layout components. In the server-driven model, the application code runs on a server, while the actual user interaction is handled by a client-side engine running in the browser. The client-server communications and any client-side technologies, such as HTML and JavaScript, are invisible to the developer. As the client-side engine runs as JavaScript in the browser, there is no need to install plug-ins. Figure 2: Architecture for Vaadin Applications You can create a Vaadin application project easily with the Vaadin Plugin for Eclipse, with NetBeans, with Maven or with Spring Roo. h Java Figure 1: Vaadin Client-Server Architecture Event Listeners If the built-in selection of components is not enough, you can In the event-driven model, user interaction with user interface develop new components with the Google Web Toolkit (GWT)
  • 46.
  • 47.
  • 48.