SNoUG 2015 - Vaadin - XPages 2.0?
-
Upload
rene-winkelmeyer -
Category
Software
-
view
483 -
download
0
Transcript of SNoUG 2015 - Vaadin - XPages 2.0?
1
- XPages 2.0?
René Winkelmeyer
2
• Skype / Twitter / LinkedIn / Slideshare
Muenzpraeger
• Web https://blog.winkelmeyer.com
• Mail [email protected]
OpenNTF • File Navigator • Generic NSF View Widget for IBM Connections
About me
René Winkelmeyer Head of Development
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
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
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
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
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
XPages vs. Vaadin – Betriebssysteme
XPages Vaadin
• Alle von Domino unterstützte
Betriebssysteme
• Alle Betriebssysteme mit Java 6
und höher
9
XPages vs. Vaadin – Unterstützte App-Server
XPages Vaadin
• IBM Domino
• XPages Buildpack (IBM Bluemix)
• Apache Tomcat 5+
• IBM WebSphere (Full/Liberty) 7+
• JBoss 4+
• Liferay Portal 5.2
• Oracle WebLogic 10.3+
• WildFly 8+
• Java Servlet 2.4 / JSR-286
• ...
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
XPages vs. Vaadin – IDE
XPages Vaadin
• IBM Domino Designer 8.5.2+, nur
Windows
• Eclipse
• IntelliJ
• Netbeans
• ...
12
XPages vs. Vaadin – Programmiersprachen
XPages Vaadin
• SSJS
• JavaScript
• Java
• Java • JavaScript
• Scala
• Jython
• ...
13
IBM – Vaadin Challenge
http://vaadin.com/challenge
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
15
Vaadin – Valo, Sampler und Github
§ Demo Valo-Theme
§ http://demo.vaadin.com/valo-theme/
§ Demo Sampler
§ http://demo.vaadin.com/sampler
§ Github
§ https://github.com/vaadin
16
Vaadin – Addons
http://www.vaadin.com/directory
17
Vaadin – Pro Tools
http://www.vaadin.com/tools-and-services
18
Vaadin Grundlagen – Architektur
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
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
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
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
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
24
Vaadin Development – UI
25
Vaadin Development – UI
26
Vaadin Development – Layouts
§ VerticalLayout
§ HorizontalLayout
§ GridLayout
§ FormLayout (+1 für Erfassungsmasken)
§ CssLayout
27
Vaadin Development – Layouts
28
DEMO
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
Deployment auf Domino
§ Export als Plug-In-Project
§ Entweder via Domino UpdateSite oder direkt als File nach <dominodata>/workspace/applications/eclipse/plugins
31
Deployment - Ressource
http://www.slideshare.net/markmyers106/1-app-2-developers-3-servers
32
DEMO
33
Q & A!