snoug 2015 - vaadin - xpages 2.0?

33
1 - XPages 2.0? René Winkelmeyer

Upload: rene-winkelmeyer

Post on 16-Apr-2017

483 views

Category:

Software


0 download

TRANSCRIPT

Page 1: SNoUG 2015 - Vaadin - XPages 2.0?

1

- XPages 2.0?

René Winkelmeyer

Page 2: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 3: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 4: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 5: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 6: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 7: SNoUG 2015 - Vaadin - XPages 2.0?

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)

Page 8: SNoUG 2015 - Vaadin - XPages 2.0?

8

XPages vs. Vaadin – Betriebssysteme

XPages Vaadin

•  Alle von Domino unterstützte

Betriebssysteme

•  Alle Betriebssysteme mit Java 6

und höher

Page 9: SNoUG 2015 - Vaadin - XPages 2.0?

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

•  ...

Page 10: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 11: SNoUG 2015 - Vaadin - XPages 2.0?

11

XPages vs. Vaadin – IDE

XPages Vaadin

•  IBM Domino Designer 8.5.2+, nur

Windows

•  Eclipse

•  IntelliJ

•  Netbeans

•  ...

Page 12: SNoUG 2015 - Vaadin - XPages 2.0?

12

XPages vs. Vaadin – Programmiersprachen

XPages Vaadin

•  SSJS

•  JavaScript

•  Java

•  Java •  JavaScript

•  Scala

•  Jython

•  ...

Page 13: SNoUG 2015 - Vaadin - XPages 2.0?

13

IBM – Vaadin Challenge

http://vaadin.com/challenge

Page 14: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 15: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 16: SNoUG 2015 - Vaadin - XPages 2.0?

16

Vaadin – Addons

http://www.vaadin.com/directory

Page 17: SNoUG 2015 - Vaadin - XPages 2.0?

17

Vaadin – Pro Tools

http://www.vaadin.com/tools-and-services

Page 18: SNoUG 2015 - Vaadin - XPages 2.0?

18

Vaadin Grundlagen – Architektur

Page 19: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 20: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 21: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 22: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 23: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 24: SNoUG 2015 - Vaadin - XPages 2.0?

24

Vaadin Development – UI

Page 25: SNoUG 2015 - Vaadin - XPages 2.0?

25

Vaadin Development – UI

Page 26: SNoUG 2015 - Vaadin - XPages 2.0?

26

Vaadin Development – Layouts

§  VerticalLayout

§  HorizontalLayout

§  GridLayout

§  FormLayout (+1 für Erfassungsmasken)

§  CssLayout

Page 27: SNoUG 2015 - Vaadin - XPages 2.0?

27

Vaadin Development – Layouts

Page 28: SNoUG 2015 - Vaadin - XPages 2.0?

28

DEMO

Page 29: SNoUG 2015 - Vaadin - XPages 2.0?

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

Page 30: SNoUG 2015 - Vaadin - XPages 2.0?

30

Deployment auf Domino

§  Export als Plug-In-Project

§  Entweder via Domino UpdateSite oder direkt als File nach <dominodata>/workspace/applications/eclipse/plugins

Page 31: SNoUG 2015 - Vaadin - XPages 2.0?

31

Deployment - Ressource

http://www.slideshare.net/markmyers106/1-app-2-developers-3-servers

Page 32: SNoUG 2015 - Vaadin - XPages 2.0?

32

DEMO

Page 33: SNoUG 2015 - Vaadin - XPages 2.0?

33

Q & A!