- XPages 2.0? René Winkelmeyer

Größe: px
Ab Seite anzeigen:

Download "- XPages 2.0? René Winkelmeyer"

Transkript

1 - XPages 2.0? René Winkelmeyer 1

2 About me Skype / Twitter / LinkedIn / Slideshare Muenzpraeger Web Mail mail@winkelmeyer.com OpenNTF File Navigator Generic NSF View Widget for IBM Connections René Winkelmeyer Head of Development 2

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 3

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 4

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 5

6 Vaadin die Entscheidung Beschäftigung mit Vaadin seit 2013 Selektion als Basis-Platform für zukünftige Unternehmens-Web- Anwendungen (anstatt XPages) 6

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) 7

8 XPages vs. Vaadin Betriebssysteme XPages Vaadin Alle von Domino unterstützte Betriebssysteme Alle Betriebssysteme mit Java 6 und höher 8

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 WildFly 8+ Java Servlet 2.4 / JSR

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 10

11 XPages vs. Vaadin IDE XPages Vaadin IBM Domino Designer , nur Windows Eclipse IntelliJ Netbeans... 11

12 XPages vs. Vaadin Programmiersprachen XPages Vaadin SSJS JavaScript Java Java JavaScript Scala Jython... 12

13 IBM Vaadin Challenge 13

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 14

15 Vaadin Valo, Sampler und Github Demo Valo-Theme Demo Sampler Github 15

16 Vaadin Addons 16

17 Vaadin Pro Tools 17

18 Vaadin Grundlagen Architektur 18

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 19

20 Vaadin Development IDE-Setup Setup-Prozedur ist hier beschrieben (wir wollen ja keinen alten Kaffee aufkochen) OpenNTF Workflow for XPages Setzt den Activiti Explorer ein, welcher auf Vaadin basiert %20for%20XPages/summary 20

21 Vaadin Development IDE-Setup Eclipse J2EE Vaadin Eclipse Plug-In Alle Installations-Varianten (verschiedene IDEs, Vorgehensweisen) sind im Book of Vaadin beschrieben 21

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 22

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 23

24 Vaadin Development UI 24

25 Vaadin Development UI 25

26 Vaadin Development Layouts VerticalLayout HorizontalLayout GridLayout FormLayout (+1 für Erfassungsmasken) CssLayout 26

27 Vaadin Development Layouts 27

28 DEMO 28

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 29

30 Deployment auf Domino Export als Plug-In-Project Entweder via Domino UpdateSite oder direkt als File nach <dominodata>/workspace/applications/eclipse/plugins 30

31 Deployment - Ressource 31

32 DEMO 32

33 Q & A! 33