SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
1
- XPages 2.0?
René Winkelmeyer
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
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!

Weitere ähnliche Inhalte

Was ist angesagt?

Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoOliver Lemm
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!OPEN KNOWLEDGE GmbH
 
Der Enterprise-Java-Architekt – eine aussterbende Gattung!?
Der Enterprise-Java-Architekt – eine aussterbende Gattung!?Der Enterprise-Java-Architekt – eine aussterbende Gattung!?
Der Enterprise-Java-Architekt – eine aussterbende Gattung!?OPEN KNOWLEDGE GmbH
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Lennart Passig
 
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der WebentwicklungSebastian Springer
 
TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)Marcus Schwemer
 
Einführung Progressive Web App
Einführung Progressive Web AppEinführung Progressive Web App
Einführung Progressive Web AppSebastian Blum
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...Marc Müller
 
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...André Krämer
 
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-ProjektenTYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-ProjektenAlex Kellner
 
Progressive Web Apps Presentation
Progressive Web Apps PresentationProgressive Web Apps Presentation
Progressive Web Apps PresentationSteffen Wagner
 
CQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InCQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InPHP in DD
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten SystemenOPEN KNOWLEDGE GmbH
 
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...Ekkard Schnedermann
 
iOS: einheitliche Oberflächen mit Auto Layout
iOS: einheitliche Oberflächen mit Auto LayoutiOS: einheitliche Oberflächen mit Auto Layout
iOS: einheitliche Oberflächen mit Auto LayoutOPEN KNOWLEDGE GmbH
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceOPEN KNOWLEDGE GmbH
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzOPEN KNOWLEDGE GmbH
 

Was ist angesagt? (20)

Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & CoEchtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter & Co
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!
 
Der Enterprise-Java-Architekt – eine aussterbende Gattung!?
Der Enterprise-Java-Architekt – eine aussterbende Gattung!?Der Enterprise-Java-Architekt – eine aussterbende Gattung!?
Der Enterprise-Java-Architekt – eine aussterbende Gattung!?
 
Azure Bootcamp Hamburg
Azure Bootcamp Hamburg Azure Bootcamp Hamburg
Azure Bootcamp Hamburg
 
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
10 Dinge die ich an dir hasse - Stolpersteine in der Webentwicklung
 
TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)TYPO3 Performance (TYPO3camp München)
TYPO3 Performance (TYPO3camp München)
 
Serverless: The Missing Manual
Serverless: The Missing ManualServerless: The Missing Manual
Serverless: The Missing Manual
 
Einführung Progressive Web App
Einführung Progressive Web AppEinführung Progressive Web App
Einführung Progressive Web App
 
Java EE meets Microservices
Java EE meets MicroservicesJava EE meets Microservices
Java EE meets Microservices
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
 
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
Entwicklung von ASP.NET-Core- und SQL-Server-Anwendungen unter macOS in der P...
 
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-ProjektenTYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
TYPO3 Migration in komplexen Upgrade- und Relaunch-Projekten
 
Progressive Web Apps Presentation
Progressive Web Apps PresentationProgressive Web Apps Presentation
Progressive Web Apps Presentation
 
CQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-InCQRS in der Praxis - Newsletter Double-Opt-In
CQRS in der Praxis - Newsletter Double-Opt-In
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten Systemen
 
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
Cloud at massive scale and incredible speed, Ekkard Schnedermann berichtet vo...
 
iOS: einheitliche Oberflächen mit Auto Layout
iOS: einheitliche Oberflächen mit Auto LayoutiOS: einheitliche Oberflächen mit Auto Layout
iOS: einheitliche Oberflächen mit Auto Layout
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
 
CQRS, der etwas andere Architekturansatz
CQRS, der etwas andere ArchitekturansatzCQRS, der etwas andere Architekturansatz
CQRS, der etwas andere Architekturansatz
 

Andere mochten auch

engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!René Winkelmeyer
 
Connect 2016 - Going Mobile With IBM Verse
Connect 2016 - Going Mobile With IBM VerseConnect 2016 - Going Mobile With IBM Verse
Connect 2016 - Going Mobile With IBM VerseRené Winkelmeyer
 
Connect 2016 - IBM Mobile Connect - Real World Usage Scenarios
Connect 2016 - IBM Mobile Connect - Real World Usage ScenariosConnect 2016 - IBM Mobile Connect - Real World Usage Scenarios
Connect 2016 - IBM Mobile Connect - Real World Usage ScenariosRené Winkelmeyer
 
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...René Winkelmeyer
 
engage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily Businessengage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily BusinessRené Winkelmeyer
 
Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016René Winkelmeyer
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppRené Winkelmeyer
 
SOCCNX 2015 - Application Integration Blast
SOCCNX 2015 - Application Integration BlastSOCCNX 2015 - Application Integration Blast
SOCCNX 2015 - Application Integration BlastRené Winkelmeyer
 
DNUG 2016 - Salesforce and IBM Domino - same same, but different
DNUG 2016 - Salesforce and IBM Domino - same same, but differentDNUG 2016 - Salesforce and IBM Domino - same same, but different
DNUG 2016 - Salesforce and IBM Domino - same same, but differentRené Winkelmeyer
 
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
2016 SUTOL - Salesforce App Cloud and Domino - same same, but differentRené Winkelmeyer
 
2016 ISBG - Salesforce App Cloud and Domino - same same, but different
2016 ISBG - Salesforce App Cloud and Domino - same same, but different2016 ISBG - Salesforce App Cloud and Domino - same same, but different
2016 ISBG - Salesforce App Cloud and Domino - same same, but differentRené Winkelmeyer
 
ConnectED 2015 - IBM Notes Traveler Daily Business
ConnectED 2015 - IBM Notes Traveler Daily BusinessConnectED 2015 - IBM Notes Traveler Daily Business
ConnectED 2015 - IBM Notes Traveler Daily BusinessRené Winkelmeyer
 
engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?René Winkelmeyer
 

Andere mochten auch (14)

engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
engage 2016 - Get ready for moving from Java 6 to Java 8 - Now!
 
Connect 2016 - Going Mobile With IBM Verse
Connect 2016 - Going Mobile With IBM VerseConnect 2016 - Going Mobile With IBM Verse
Connect 2016 - Going Mobile With IBM Verse
 
Connect 2016 - IBM Mobile Connect - Real World Usage Scenarios
Connect 2016 - IBM Mobile Connect - Real World Usage ScenariosConnect 2016 - IBM Mobile Connect - Real World Usage Scenarios
Connect 2016 - IBM Mobile Connect - Real World Usage Scenarios
 
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
2016 ISBG - Enterprise integration done right with Salesforce Lightning, IBM ...
 
engage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily Businessengage 2015 - IBM Notes Traveler Daily Business
engage 2015 - IBM Notes Traveler Daily Business
 
Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016Salesforce Developer User Group Munich - October 2016
Salesforce Developer User Group Munich - October 2016
 
ICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To AppICONUK 2014 - From Idea To App
ICONUK 2014 - From Idea To App
 
SOCCNX 2015 - Application Integration Blast
SOCCNX 2015 - Application Integration BlastSOCCNX 2015 - Application Integration Blast
SOCCNX 2015 - Application Integration Blast
 
ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!ICONUK 2015 - Gradle Up!
ICONUK 2015 - Gradle Up!
 
DNUG 2016 - Salesforce and IBM Domino - same same, but different
DNUG 2016 - Salesforce and IBM Domino - same same, but differentDNUG 2016 - Salesforce and IBM Domino - same same, but different
DNUG 2016 - Salesforce and IBM Domino - same same, but different
 
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
2016 SUTOL - Salesforce App Cloud and Domino - same same, but different
 
2016 ISBG - Salesforce App Cloud and Domino - same same, but different
2016 ISBG - Salesforce App Cloud and Domino - same same, but different2016 ISBG - Salesforce App Cloud and Domino - same same, but different
2016 ISBG - Salesforce App Cloud and Domino - same same, but different
 
ConnectED 2015 - IBM Notes Traveler Daily Business
ConnectED 2015 - IBM Notes Traveler Daily BusinessConnectED 2015 - IBM Notes Traveler Daily Business
ConnectED 2015 - IBM Notes Traveler Daily Business
 
engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?engage 2015 - Domino App Development - Where should I go now?
engage 2015 - Domino App Development - Where should I go now?
 

Ähnlich wie SNoUG 2015 - Vaadin - XPages 2.0?

Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHFlorian Holzhauer
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedRené Winkelmeyer
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Thorsten Kamann
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerPatrick Baumgartner
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoATIX AG
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenJan Hentschel
 
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickelnWJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickelnmguillem
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascriptdzuvic
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittdominion
 
Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver LösungenAvarteq
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreGregor Biswanger
 
MK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnMK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnVerein FM Konferenz
 
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformWebcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformPatric Dahse
 
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)NETWAYS
 

Ähnlich wie SNoUG 2015 - Vaadin - XPages 2.0? (20)

Entwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HHEntwicklung mit Chef und Vagrant - PHPUG HH
Entwicklung mit Chef und Vagrant - PHPUG HH
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
EntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloadedEntwicklerCamp 2014 - DOTS reloaded
EntwicklerCamp 2014 - DOTS reloaded
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
 
BED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als EntwicklerBED-Con - Tools für den täglichen Kampf als Entwickler
BED-Con - Tools für den täglichen Kampf als Entwickler
 
Herstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhinoHerstellerunabhängige RZ Automatisierung mit orcharhino
Herstellerunabhängige RZ Automatisierung mit orcharhino
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
 
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickelnWJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
WJAX 2008 - Grails Plug-ins verwenden und selbst entwickeln
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
Vagrant
VagrantVagrant
Vagrant
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
JAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & JavascriptJAX 2015 - Continuous Integration mit Java & Javascript
JAX 2015 - Continuous Integration mit Java & Javascript
 
Ajax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schrittAjax in domino web-anwendungen - der nächste schritt
Ajax in domino web-anwendungen - der nächste schritt
 
Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver Lösungen
 
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET CoreHands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
Hands-on Workshop: API-Dokumentation mit OpenAPI / Swagger in ASP.NET Core
 
MK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas HahnMK2014 FileMaker Server 13 by Thomas Hahn
MK2014 FileMaker Server 13 by Thomas Hahn
 
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud PlatformWebcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
Webcast Nr. 3 - Java Entwicklung mit der SAP Cloud Platform
 
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
Icinga 2: Enterprise Monitoring der nächsten Generation (Webinar vom 22.07.2014)
 

Mehr von René Winkelmeyer

2017 engage.ug - Salesforce and IBM for Developers
2017 engage.ug - Salesforce and IBM for Developers2017 engage.ug - Salesforce and IBM for Developers
2017 engage.ug - Salesforce and IBM for DevelopersRené Winkelmeyer
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesRené Winkelmeyer
 
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...René Winkelmeyer
 
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...René Winkelmeyer
 
UKLUG 2011 - iOS devices in the enterprise
UKLUG 2011 - iOS devices in the enterpriseUKLUG 2011 - iOS devices in the enterprise
UKLUG 2011 - iOS devices in the enterpriseRené Winkelmeyer
 
BLUG 2011 - Explaining the IBM Social Business Toolkit
BLUG 2011 - Explaining the IBM Social Business ToolkitBLUG 2011 - Explaining the IBM Social Business Toolkit
BLUG 2011 - Explaining the IBM Social Business ToolkitRené Winkelmeyer
 
ILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterpriseILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterpriseRené Winkelmeyer
 
UKLUG 2009 - Extending Domino Designer on Eclipse
UKLUG 2009 - Extending Domino Designer on EclipseUKLUG 2009 - Extending Domino Designer on Eclipse
UKLUG 2009 - Extending Domino Designer on EclipseRené Winkelmeyer
 
UKLUG 2012 - XPages Extensibility API - going deep!
UKLUG 2012 - XPages Extensibility API - going deep!UKLUG 2012 - XPages Extensibility API - going deep!
UKLUG 2012 - XPages Extensibility API - going deep!René Winkelmeyer
 
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshellDominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshellRené Winkelmeyer
 
NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!René Winkelmeyer
 

Mehr von René Winkelmeyer (12)

2017 engage.ug - Salesforce and IBM for Developers
2017 engage.ug - Salesforce and IBM for Developers2017 engage.ug - Salesforce and IBM for Developers
2017 engage.ug - Salesforce and IBM for Developers
 
engage 2014 - JavaBlast
engage 2014 - JavaBlastengage 2014 - JavaBlast
engage 2014 - JavaBlast
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
 
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
Connect 2013 - Making IBM Traveler High Available: Extending And Securing The...
 
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
Connect 2013 - Infrastructure Fitness and Design Simplicity for IBM Mobile Co...
 
UKLUG 2011 - iOS devices in the enterprise
UKLUG 2011 - iOS devices in the enterpriseUKLUG 2011 - iOS devices in the enterprise
UKLUG 2011 - iOS devices in the enterprise
 
BLUG 2011 - Explaining the IBM Social Business Toolkit
BLUG 2011 - Explaining the IBM Social Business ToolkitBLUG 2011 - Explaining the IBM Social Business Toolkit
BLUG 2011 - Explaining the IBM Social Business Toolkit
 
ILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterpriseILUG 2010 - Deploying plug-ins to the enterprise
ILUG 2010 - Deploying plug-ins to the enterprise
 
UKLUG 2009 - Extending Domino Designer on Eclipse
UKLUG 2009 - Extending Domino Designer on EclipseUKLUG 2009 - Extending Domino Designer on Eclipse
UKLUG 2009 - Extending Domino Designer on Eclipse
 
UKLUG 2012 - XPages Extensibility API - going deep!
UKLUG 2012 - XPages Extensibility API - going deep!UKLUG 2012 - XPages Extensibility API - going deep!
UKLUG 2012 - XPages Extensibility API - going deep!
 
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshellDominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
Dominopoint 2012 - IBM Lotus Traveler High Availability in a nutshell
 
NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!NLLUG 2012 - XPages Extensibility API - going deep!
NLLUG 2012 - XPages Extensibility API - going deep!
 

SNoUG 2015 - Vaadin - XPages 2.0?

  • 1. 1 - XPages 2.0? René Winkelmeyer
  • 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
  • 9. 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. 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 •  ...
  • 12. 12 XPages vs. Vaadin – Programmiersprachen XPages Vaadin •  SSJS •  JavaScript •  Java •  Java •  JavaScript •  Scala •  Jython •  ...
  • 13. 13 IBM – Vaadin Challenge http://vaadin.com/challenge
  • 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
  • 15. 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
  • 17. 17 Vaadin – Pro Tools http://www.vaadin.com/tools-and-services
  • 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
  • 26. 26 Vaadin Development – Layouts §  VerticalLayout §  HorizontalLayout §  GridLayout §  FormLayout (+1 für Erfassungsmasken) §  CssLayout
  • 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