für Domino (und andere) EntwicklerCamp 2015 René Winkelmeyer midpoints GmbH

Ähnliche Dokumente
- XPages 2.0? René Winkelmeyer

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Moderne Web- Anwendungen mit

Webinar: Einführung in ICEfaces

Open Source. Hendrik Ebbers 2015

APEX DESKTOP APPS. Interaktion mit dem Client System

Moderne Web-Anwendungen mit Vaadin

Vaadin ein Erfahrungsbericht

DCCS Lotusphere Nachlese 2012 Was sind XPages? Mobile Features für XPages

SaaS-Referenzarchitektur. iico-2013-berlin

Lotus Domino XPages Stefan Neth IBM Social Business and Collaboration Solutions IBM Corporation

Moderne Benutzeroberflächen für SAP Anwendungen

Wir bringen Ihre Notes/Domino Anwendungen sicher ins Web , Bilster Berg Drive Resort Michael Steinhoff, agentbase AG.

M i t a r b e i t e r p r o f i l (Stand: August 09)

OpenSource Individualentwicklungsplattform für weborientierte/mobile Anwendungen

Empfehlungen für erfolgreiche ADF-Projekte. Volker Linz Oracle Deutschland B.V. & Co. KG

Spring Dynamic Modules for OSGi Service Platforms

Isabel Arnold CICS Technical Sales Germany z/os Explorer IBM Corporation

Aktuelle Kurstermine

MOBILE ON POWER MACHEN SIE IHRE ANWENDUNGEN MOBIL?!

Systemvoraussetzungen für ConSol*CM Version Architektur Überblick

IT works unlimited GmbH & Co. KG

XPages. Die neue Web Entwicklung für Lotus Domino. Jens Winkelmann -Senior Software Engineer-

Web 2.0 Architekturen und Frameworks

Kategorisierung von Web-Frameworks im Java-Umfeld

Content Management mit JSR-170 und dem Open Source CMS Magnolia

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Softwareentwicklung mit Enterprise JAVA Beans

Dirk Reinemann Working Student Sales Consulting

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

jbpm5 in Java EE 6 Marek Iwaszkiewicz Pascal Schaerf akquinet AG

Effiziente Anwendungs-Entwicklung mittels Business Software Framework BISON Solution

Max-Ernst Strasse 29, Meerbusch. Diplom Informatiker FH, Fachhochschule Dortmund. Softwareentwicklung / Projektmanagement

Eine Einführung. Vortragende(r) FU Institut Berlin für Informatik Ingo Mohr

Leichtgewichtige Web 2.0-Architektur für komplexe Business-Anwendungen Nicolas Moser PRODYNA AG

Vaadin TouchKit. W3L AG

Open Source IDE - eclipse ETIS SS04

Schnelle Winkel. 10x schnellere Webapps mit AngularJS und Jee

Exposé Ing. Jörg Pöschko

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

In den folgenden tabellarischen Übersichten finden Sie Kenntnisse und Fähigkeiten unseres Entwickler-Teams und unserer Berater.

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS IOZ AG 1

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by

Spring Dynamic Modules for OSGi Service Platforms

Ihr Dienstleister für individuelle Softwareentwicklung und IT-Beratung

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart,

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

SpringSource Enterprise & Application Platform: Wo geht die Reise hin?

Technologien: JBoss EAP5, Wildfly 9, Java EE5, JavaEE 7, Apache Maven, Jenkins CI, JIRA

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

Anwendervortrag auf dem 2. LUGD-Tag am in Frankfurt. Liferay an Bord Portale für Zeppelin

Programmierung von Client/Server- Anwendungen

Oracle ADF Mobile. Jürgen Menge Oracle Deutschland B.V. & Co. KG. Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Die Eclipse Rich Client Platform. Martin Lippert Consultant und Coach

Frühling für iphone-apps

M i t a r b e i t e r p r o f i l (Stand: Juni 10)

APEX und Workflows: Spaghetticode oder Integration. Sven Böttcher. Consultant, Apps Associates GmbH

Activiti vs. Oracle BPM Suite Duell auf Augenhöhe?

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Moderne Web-Anwendungen mit Vaadin

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Eric Bredtmann - Projektliste

Cross Platform Development Heute Windows, morgen Android, übermorgen Xbox

Der IBM Websphere Portalserver

eclipse - Entwicklungsumgebung und mehr ETIS SS05

Eclipse und Java Einheit 01: Einführung in Eclipse

Einführung mobile Entwicklungsplattform Neptune Application Designer Fink IT-Solutions Christian Fink, Andreas Hofmann

Zukunft der Oracle Applikationsentwicklung: ADF & XDB

IBM Notes Traveler & IBM Mobile Connect. What s new? What s next?

BPMN 2.0 gehört in den Werkzeugkasten JEDES Java Entwicklers!

E-Business Architekturen

Eclipse und EclipseLink

Xpert.ivy Developer Day User Dialog Features. Autoren: Peter Stöckli & Flavio Sadeghi Datum: 14. Mai 2014

eridea AG Installation Eclipse V 1.4

Oracle Business Intelligence (OBIEE) 12c Ein erster Einblick in die neue Reporting-Engine von Oracle

Mitarbeiterprofil: Jürg Portmann

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

IBM NOTES/DOMINO 9 EUGEN HEIDEBRECHT SENIOR SOFTWARE BERATER

Qualifikationsprofil:

Berater-Profil SW-Entwickler/-Berater (DB2, Java, MS-SQL-Server, WebSphere)

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen,

Plattformunabhängige App-Entwicklung - Eine für alle?

Profil Gunnar Schmid

Christian Raab. Persönliche Daten

Michael Bösch. EDV-Consulting. Dipl. Informatiker (FH)

Die perfekte Online-Hilfe auf Basis von HTML5 und Open-Source- Komponenten. Jochen Marczinzik , tekom Führjahrstagung

Expertise. Diplom-Informatiker (FH) Matthias Strolz. Ausbildung. Sprachen. Programmiersprachen. Betriebssysteme. Server. Zertifizierungen.

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Einsatz und Grenzen von Java Server Faces 2.0

interaktiv GUIs Heute und Morgen in PostFinance Eclipse RCP als Fundament für eine offene Architektur für zukünftige Bankenarbeitsplätze?

Spring Surf Wiederkehr Patrick Consultant

Die in diesem Dokument aufgelisteten Anforderungen an das Betriebssystem schließen die aktuellen Patches und Servivepacks ein.

Entwicklungswerkzeuge & - methoden

EntwicklerCamp Signierung & Verteilung von Plugins für den Notes Client

Transkript:

für Domino (und andere) EntwicklerCamp 2015 René Winkelmeyer midpoints GmbH 1

About me midpoints GmbH http://www.midpoints.de IBM Advanced Business Partner IBM Design Partner (Notes Domino, Mobile, Verse) Apple Enterprise Developer und MDM Group Member Samsunt Enterprise Alliance Partner René Winkelmeyer Head of Development Services - Enterprise Mobility Service - Mobile Device und Application Management - IBM Notes Traveler und IBM Mobile Connect 2

About me Skype muenzpraeger Twitter muenzpraeger LinkedIn muenzpraeger Slideshare muenzpraeger Web http://blog.winkelmeyer.com http://www.midpoints.de René Winkelmeyer Head of Development Mail mail@winkelmeyer.com rene.winkelmeyer@midpoints.de OpenNTF File Navigator Generic NSF View Widget for IBM Connections 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

Stateless, stateful server-side oder client-side? xxx 6

Stateless, stateful server-side oder client-side? xxx HTML (1992) CSS (1996) Java (1995) JavaScript (1995) 7

Stateless, stateful server-side oder client-side? xxx 8

Stateless, stateful server-side oder client-side? xxx 9

Stateless, stateful server-side oder client-side? xxx 10

Client-side Frameworks 11

JVM Frameworks 12

Stateless, stateful server-side oder client-side? xxx 13

14

DUMB vs. KNOWS 15

NEED DATA 16

Person 17

Stateless, stateful server-side oder client-side? 18

Stateless, stateful server-side oder client-side? 19

Stateless, stateful server-side oder client-side? 20

AngularJS HTML 21

AngularJS script 22

API Design https://api.mycompany.com /people/all /people/<id> /people/<id> /people/<id> 23

API Design https://api.mycompany.com /people/all /people/<id> /people/<id> /people/<id> GET GET POST DELETE 24

API Design https://api.mycompany.com /people/all /people/<id> /people/update/<id> /people/delete/<id> GET GET UPDATE DELETE 25

GET Person 26

REST Handling 27

Vaadin 28

AngularFaces 29

Serverside RAM (Vaadin example) 500 1.000 kb / Session 8.000 aktive User == 8 GB 30

http://www.slideshare.net/cnbailey/ibm-interconnect-java-vs-javascript Stateless, stateful server-side oder client-side? 31

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 32

Vaadin die Entscheidung Beschäftigung mit Vaadin seit 2013 Selektion als Basis-Platform für Web-Anwendungen von midpoints (anstatt XPages) https://vaadin.com/certificate/-/view/48b183a61884e0bced560ed20b580295 33

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

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

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... 36

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 37

XPages vs. Vaadin IDE XPages Vaadin IBM Domino Designer 8.5.2+, nur Windows Eclipse IntelliJ Netbeans... 38

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

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 40

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 41

Vaadin Addons http://www.vaadin.com/directory 42

Vaadin Pro Tools http://www.vaadin.com/tools-and-services 43

Vaadin Grundlagen Architektur 44

Vaadin Grundlagen Client-side communication 45

Vaadin Grundlagen Komponenten 46

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 47

Vaadin Development IDE-Setup IBM hat mit 8.5.x eine J2EE-Engine dem Domino-Server hingezfügt Expeditor WebContainer Erfüllt Servlet 2.5 Spezifikation Ermöglicht den Einsatz von Standard-WebApps (aka Web Application Archive == WAR) in etwas abgewandelter Form Setup-Prozedur ist hier beschrieben (wir wollen ja keinen alten Kaffee aufkochen) http://www.slideshare.net/fiorep/domino-osgi-development 48

Vaadin Development IDE-Setup 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 49

Vaadin Development Basics 50

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 51

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 52

Vaadin Development IDE-Setup 53

Vaadin Development IDE-Setup 54

Vaadin Development IDE-Setup 55

Vaadin Development IDE-Setup 56

Vaadin Development IDE-Setup 57

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 58

Vaadin Development UI 59

Vaadin Development UI 60

Vaadin Development Components Components werden über addcomponent() und addcomponents() hinzugefügt Die Reihenfolge der Methodenaufrufe bestimmt die UI Anzeige 61

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

Vaadin Development Layouts 63

Vaadin Development Layouts 64

Vaadin Development Listener Bekannt aus AWT, Swing, SWT etc. Listened auf eine User-Interaktion Field enter Button click etc. 65

Vaadin Development per GUI-Designer 66

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 67

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

Deployment auf WebSphere Liberty WebSphere Liberty == IBM s Antwort auf Tomcat & Co. Speed-Demoing heute abend! Export aus Eclipse als WAR und Ablage in das Unterverzeichnis dropins des WebSphere Liberty Servers 69

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

DEMO 71

Q & A! 72