2. 2
• Skype / Twitter / LinkedIn / Slideshare
Muenzpraeger
• Web
https://blog.winkelmeyer.com
• Mail
mail@winkelmeyer.com
OpenNTF
• File Navigator
• Generic NSF View Widget for IBM Connections
About me
René Winkelmeyer
Head of Development
3. 3
Agenda
§ Stateless, stateful – server-side oder client-side?
§ XPages vs. Vaadin
§ Vaadin Grundlagen
§ Vaadin Development – per Code und per GUI-Designer
§ Deployment auf Domino und Liberty
4. 4
Agenda
§ Stateless, stateful – server-side oder client-side?
§ XPages vs. Vaadin
§ Vaadin Grundlagen
§ Vaadin Development – per Code und per GUI-Designer
§ Deployment auf Domino und Liberty
5. 5
Agenda
§ Stateless, stateful – server-side oder client-side?
§ XPages vs. Vaadin
§ Vaadin Grundlagen
§ Vaadin Development – per Code und per GUI-Designer
§ Deployment auf Domino und Liberty
6. 6
Vaadin – die Entscheidung
§ Beschäftigung mit Vaadin seit 2013
§ Selektion als Basis-Platform für zukünftige Unternehmens-Web-
Anwendungen (anstatt XPages)
https://vaadin.com/certificate/-/view/48b183a61884e0bced560ed20b580295
7. 7
XPages vs. Vaadin – Historie und Gegenwart
XPages Vaadin
• Zukauf der IBM in 2001 (vormals
XForms)
• War mal „Workplace“
• Hat seinen Ursprung in JSF
• Weiterentwicklung erfolgt durch
IBM (Core, closed source) und teils
durch Community (ExtLib)
• In 2001 neu entwickelt als
„Millstone Library“ (IT Mill)
• Nutzung von GWT seit 2007 (IT Mill
Toolkit 4)
• „Fühlt“ sich an wie SWT/Swing/
AWT
• Weiterentwicklung erfolgt durch
Vaadin Ltd. (open source, Apache
licensed)
8. 8
XPages vs. Vaadin – Betriebssysteme
XPages Vaadin
• Alle von Domino unterstützte
Betriebssysteme
• Alle Betriebssysteme mit Java 6
und höher
10. 10
XPages vs. Vaadin – Release / Abhängigkeiten
XPages Vaadin
• Abhängig von Domino-Updates
(Major, Minor, FP, IF)
• Ein Update des App-Servers bringt
auch immer ein Update der XPages
mit sich
• Ein Update wirkt sich auf alle
XPages-Anwendungen aus
• Neues Release (Minor) alle 4-5
Wochen
• Updates des App-Servers sind
unabhängig von Vaadin – und vice
versa
• Vaadin-Updates können selektiv
pro Applikation durchgeführt
werden
11. 11
XPages vs. Vaadin – IDE
XPages Vaadin
• IBM Domino Designer 8.5.2+, nur
Windows
• Eclipse
• IntelliJ
• Netbeans
• ...
14. 14
Agenda
§ Stateless, stateful – server-side oder client-side?
§ XPages vs. Vaadin
§ Vaadin Grundlagen
§ Vaadin Development – per Code und per GUI-Designer
§ Deployment auf Domino und Liberty
19. 19
Agenda
§ Stateless, stateful – server-side oder client-side?
§ XPages vs. Vaadin
§ Vaadin Grundlagen
§ Vaadin Development – per Code und per GUI-Designer
§ Deployment auf Domino und Liberty
20. 20
Vaadin Development – IDE-Setup
§ Setup-Prozedur ist hier beschrieben (wir wollen ja keinen alten
Kaffee aufkochen)
http://www.slideshare.net/fiorep/domino-osgi-development
§ OpenNTF – Workflow for XPages
§ Setzt den Activiti Explorer ein, welcher auf Vaadin basiert
§ http://www.openntf.org/main.nsf/project.xsp?r=project/Workflow
%20for%20XPages/summary
21. 21
Vaadin Development – IDE-Setup
§ Eclipse J2EE
§ Vaadin Eclipse Plug-In
§ Alle Installations-Varianten (verschiedene IDEs, Vorgehensweisen)
sind im „Book of Vaadin“ beschrieben
§ https://vaadin.com/book/-/page/getting-started.html
22. 22
Vaadin Development – IDE-Setup
§ Im Idealfall wird das Vaadin Eclipse-Plug-In für die Erstellung einer
neuen App eingesetzt
§ Fügt weitere Abhängigkeiten und Toolings hinzu wie Maven oder
Tycho, daher nur mit deutlichem Mehraufwand im Domino-
Umfeld einzusetzen
§ Für Domino empfiehlt sich das Deployment innerhalb des Plug-In
(ungünstig, aber möglich) oder als dediziertes Plug-In, welches die
Vaadin-Klassen exportiert
23. 23
Vaadin Development – UI
§ Eine Applikation kann mehrere „UI“‘s haben
§ Ein UI gibt es immer in einer Instanz pro User
§ Vaadin verfolgt einen Single-Page-Approach
§ Ohne manuelle Zuarbeit kein URL-Navigation
29. 29
Agenda
§ Stateless, stateful – server-side oder client-side?
§ XPages vs. Vaadin
§ Vaadin Grundlagen
§ Vaadin Development – per Code und per GUI-Designer
§ Deployment auf Domino und Liberty
30. 30
Deployment auf Domino
§ Export als Plug-In-Project
§ Entweder via Domino UpdateSite oder direkt als File nach
<dominodata>/workspace/applications/eclipse/plugins