SlideShare ist ein Scribd-Unternehmen logo
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages, Java, EL, and Source Control
A Legacy Notes Developer’s Journey into Madness
Devin S. Olson
XPages Development 2
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
narcissism – Devin S. Olson
• Grand Rapids, MI (USA)
• Married with 2 children
• Developing software for
over 25 years (have
actually coded using
punch cards)
• CNA, MCP, PCLP (SA&AD)
R4 – R7, lots of other
TLAs
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
narcissism – Devin S. Olson
• Instructor, Consultant,
IBM Business Partner,
Customer, Author
• Czarnowski Display
Services
• Installing & Configuring
Domino 9 on CentOS 6
• Anheuser-Busch Certified
Brewmaster
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Target Audience
• Experienced Notes & Domino Developers
• Some familiarity with web development
• Some familiarity with XPages
• Attended Yesterday’s session
• Masochists
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Agenda
XPages Development 2 – XPages, Java, Expression Language and Source Control
• Why Java is so Important to XPages
• Source Control
• Custom Controls
• Implementing Java in an XPages Application
• The Most Important Control You Will Ever Use
• The Power of EL (Expression Language)
• Putting it All Together
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
JAVA
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Why is Java so Important to XPages
XPages are Java based, they run in a JVM, and the
fundamental CORE of the product is based on Java
Server Faces technology.
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Why is Java so Important to XPages
Because XPages run in a JVM, EVERYTHING is Java.
The Java you write is compiled into byte code.
EVERYTHING else you write is CONVERTED into Java, and
then compiled into byte code.
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Why is Java so Important to XPages
All that cool SSJS and XML you write, all those neato
controls you drag onto your XPage, EVERYTHING you do
must be converted into Java.
IBM did an awesome job putting all this black magic real-
time interpretation / language translation / object
mapping uber cool mojo together, and yes it works
extremely well, but it still takes up time and resources.
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
SOURCE
CONTROL
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
SOURCE
CONTROL
XPages Development 2 – XPages, Java, Expression Language and Source Control
HAVE YOU EVER
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
HAVE YOU EVER
• Lost any code?
• Made a code change and later realized it was a
mistake?
• Wanted to see the difference between different
versions of your code?
• Wanted to verify that any particular change
either broke or fixed something?
• Hade more than 1 version of a template?
• Lost code or had a backup that was too old?
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
SOURCE
CONTROL
XPages Development 2 – XPages, Java, Expression Language and Source Control
HAVE YOU EVER
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
HAVE YOU EVER
• Wanted to change somebody else’s code?
• Wanted to share your code?
• Wanted to let others work on your code?
• Wanted to know where the code “hot spots”
were at any time during a project?
• Wanted to sandbox a project so you can test out
potential features?
• Wanted to work with anybody else?
• Lost code?
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
SOURCE
CONTROL
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
BECAUSE YOU
MUST
SOURCE
CONTROL
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Source Control
XPages Development 2 – XPages, Java, Expression Language and Source Control
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
CUSTOM
CONTROLS
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
• Similar in THEORY to Subforms in that they are
contained within an XPage as a Subform is contained
within a Form.
• Break up our XPage objects into more manageable
units.
• Create self-contained nodes that can be added to
multiple XPages (or Custom Controls)
• Can be repeated multiple times (even on same XPage)
• Genericize our code for better re-use.
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Custom Controls
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
JAVA OBJECTS
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java in an XPages Application
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java in an XPages Application
XPages Development 2 – XPages, Java, Expression Language and Source Control
• In XPages, everything you write will be turned into Java
• EXCEPT the Java you write.
• Writing your own Java avoids the middle stuff, and
gives you explicit control over what your stuff does.
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java in an XPages Application
XPages Development 2 – XPages, Java, Expression Language and Source Control
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java in an XPages Application
XPages Development 2 – XPages, Java, Expression Language and Source Control
Utilities Class
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the Utilities class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the Utilities class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java in an XPages Application
XPages Development 2 – XPages, Java, Expression Language and Source Control
Image Class
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the Image class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the Image class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the Image class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the Image class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the Image class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java in an XPages Application
XPages Development 2 – XPages, Java, Expression Language and Source Control
ImageSet Class
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the ImageSet class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the ImageSet class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the ImageSet class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Implementing Java – the ImageSet class
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
JAVA BEANS
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
DEMONSTRATION
Java Beans
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
Java Beans
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
NATIVE
CONTROLS
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
NATIVE
CONTROLS
MOST
IMPORTANT
CONTROL YOU
WILL EVER USE
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
MOST
IMPORTANT
CONTROL YOU
WILL EVER USE
XPages Development 2 – XPages, Java, Expression Language and Source Control
REPEAT CONTROL
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Repeat Control
XPages Development 2 – XPages, Java, Expression Language and Source Control
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Repeat Control
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Repeat Control
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
XPages Development 2 – XPages, Java, Expression Language and Source Control
EXPRESSION
LANGUAGE
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
The Power of EL (Expression Language)
• Java Server Pages scripting language
• Syntactically and Semantically Similar to JavaScript
• Both Deferred and Immediate Evaluation
• Read from JavaBeans, Data Structures, Implicit Objects
• Write data, such as user input, to JavaBeans Objects
• Invoke public methods, both static and implicit
• Dynamically perform arithmetic and logic operations
• Bridge between XML markup and Server Java Objects
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
The Power of EL (Expression Language)
XPages Development 2 – XPages, Java, Expression Language and Source Control
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
The Power of EL (Expression Language)
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
The Power of EL (Expression Language)
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Putting it All Together
XPages Development 2 – XPages, Java, Expression Language and Source Control
DEMONSTRATION
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Putting it All Together
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
QUESTIONS?
XPages Development 2 – XPages, Java, Expression Language and Source Control
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
Additional Resources
• LearningXPages http://learningXPages.com
• XPages.info
• OpenNTF.org
• XPages Development Wiki (URL is too long, Google it)
• Coding Horror (SE Founder Jeff Atwood’s blog)
• Joel on Software (SE Founder Joel Spolsky’s blog)
• Mastering XPages – IBM Press
• XPages Extension Library – IBM Press
• The Rabbit Hole http://nathantfreeman.wordpress.com
• NotesIn9 http://notesin9.com
EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist.
THANK YOU FOR ATTENDING
My Contact Info:
Devin S. Olson
devin.olson@azlighthouse.com
+1 616-295-1683
Skype: spanky762
Twitter: spanky762
Facebook: Facebook.com/default.xsp

Weitere ähnliche Inhalte

Ähnlich wie XPages Development 2

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
Gregor Biswanger
 
Reif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-ApplikationenReif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-Applikationen
adesso AG
 
PHP mit Paul Bocuse
PHP mit Paul BocusePHP mit Paul Bocuse
PHP mit Paul Bocuse
Stephan Schmidt
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
Continuous Delivery @ FriendScout24 | Webinale 2012
Continuous Delivery @ FriendScout24 | Webinale 2012Continuous Delivery @ FriendScout24 | Webinale 2012
Continuous Delivery @ FriendScout24 | Webinale 2012
Michael Maretzke
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
Ulrich Krause
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
JanWeinschenker
 
Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken
Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken
Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken
Martin Gfeller
 
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenFortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Ralf Eggert
 
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der DatenbankmigrationstoolsJavaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Stephan Kaps
 
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
Odilo Oehmichen
 
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
Patrick Baumgartner
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
Jürgen Gutsch
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
Ulrich Krause
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
Verein FM Konferenz
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code Cookbook
Ulrich Krause
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP Units
Cadaxo GmbH
 
Microservices mit Java und Go im Vergleich
Microservices mit Java und Go im VergleichMicroservices mit Java und Go im Vergleich
Microservices mit Java und Go im Vergleich
QAware GmbH
 
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
Patrick Baumgartner
 
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Mayflower GmbH
 

Ähnlich wie XPages Development 2 (20)

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
 
Reif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-ApplikationenReif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-Applikationen
 
PHP mit Paul Bocuse
PHP mit Paul BocusePHP mit Paul Bocuse
PHP mit Paul Bocuse
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
Continuous Delivery @ FriendScout24 | Webinale 2012
Continuous Delivery @ FriendScout24 | Webinale 2012Continuous Delivery @ FriendScout24 | Webinale 2012
Continuous Delivery @ FriendScout24 | Webinale 2012
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
Eine Stunde was mit Api First!
Eine Stunde was mit Api First!Eine Stunde was mit Api First!
Eine Stunde was mit Api First!
 
Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken
Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken
Seit 10 Jahren mit Python: Quantax, ein Risk-Management-System für Banken
 
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche SprachanwendungenFortgeschrittene Techniken für erfolgreiche Sprachanwendungen
Fortgeschrittene Techniken für erfolgreiche Sprachanwendungen
 
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der DatenbankmigrationstoolsJavaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
 
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 der Tools & Methoden - Baumgartner, Oehmichen
 
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, OehmichenJFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
JFS 2011 - Top 10 Tools & Methoden - Baumgartner, Oehmichen
 
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
.NET Core, .NET Standard & ASP.NET Core - Eine Übersicht
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
FMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel MoréFMK2015: The Power of JavaScript by Marcel Moré
FMK2015: The Power of JavaScript by Marcel Moré
 
The Lotus Code Cookbook
The Lotus Code CookbookThe Lotus Code Cookbook
The Lotus Code Cookbook
 
TDD mit ABAP Units
TDD mit ABAP UnitsTDD mit ABAP Units
TDD mit ABAP Units
 
Microservices mit Java und Go im Vergleich
Microservices mit Java und Go im VergleichMicroservices mit Java und Go im Vergleich
Microservices mit Java und Go im Vergleich
 
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
 
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
Commercial OS Shops - Magento, OXID, xt:commerce. Evaluationskriterien für En...
 

Mehr von Devin Olson

Paired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage successPaired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage success
Devin Olson
 
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes ClientResolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
Devin Olson
 
Do you have a website? Do you want to get sued?
Do you have a website?  Do you want to get sued?Do you have a website?  Do you want to get sued?
Do you have a website? Do you want to get sued?
Devin Olson
 
IBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration OverviewIBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration Overview
Devin Olson
 
Website Accessibility Workshop
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility Workshop
Devin Olson
 
Raw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on LinuxRaw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on Linux
Devin Olson
 
Curing the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad DevelopersCuring the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad Developers
Devin Olson
 
Accessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus DominoAccessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus Domino
Devin Olson
 
Countdown to Domino 10
Countdown to Domino 10Countdown to Domino 10
Countdown to Domino 10
Devin Olson
 
Pink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career WinPink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career Win
Devin Olson
 
Countdown to Domino 2025
Countdown to Domino 2025Countdown to Domino 2025
Countdown to Domino 2025
Devin Olson
 
Big Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF APIBig Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF API
Devin Olson
 
Customer Story: Next Level Coding
Customer Story: Next Level CodingCustomer Story: Next Level Coding
Customer Story: Next Level Coding
Devin Olson
 
Countdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOWCountdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOW
Devin Olson
 
Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7
Devin Olson
 
Extreme Development: Pair Programming
Extreme Development: Pair ProgrammingExtreme Development: Pair Programming
Extreme Development: Pair Programming
Devin Olson
 
Installing & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOSInstalling & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOS
Devin Olson
 
Ad104 build a bean workshop
Ad104 build a bean workshopAd104 build a bean workshop
Ad104 build a bean workshop
Devin Olson
 

Mehr von Devin Olson (18)

Paired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage successPaired with an Idiot: Things that sabotage success
Paired with an Idiot: Things that sabotage success
 
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes ClientResolving Cached Design Element Corruption Issues in the IBM Notes Client
Resolving Cached Design Element Corruption Issues in the IBM Notes Client
 
Do you have a website? Do you want to get sued?
Do you have a website?  Do you want to get sued?Do you have a website?  Do you want to get sued?
Do you have a website? Do you want to get sued?
 
IBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration OverviewIBM Traveler and Verse: Device Security and Administration Overview
IBM Traveler and Verse: Device Security and Administration Overview
 
Website Accessibility Workshop
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility Workshop
 
Raw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on LinuxRaw Iron to Enterprise Server: Installing Domino on Linux
Raw Iron to Enterprise Server: Installing Domino on Linux
 
Curing the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad DevelopersCuring the Headaches: How to Deal with Bad Developers
Curing the Headaches: How to Deal with Bad Developers
 
Accessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus DominoAccessibility for the Visually Impaired with IBM Lotus Domino
Accessibility for the Visually Impaired with IBM Lotus Domino
 
Countdown to Domino 10
Countdown to Domino 10Countdown to Domino 10
Countdown to Domino 10
 
Pink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career WinPink Slip Time: Turning a Job Loss into a Career Win
Pink Slip Time: Turning a Job Loss into a Career Win
 
Countdown to Domino 2025
Countdown to Domino 2025Countdown to Domino 2025
Countdown to Domino 2025
 
Big Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF APIBig Data with Graph, IBM Domino, and the OpenNTF API
Big Data with Graph, IBM Domino, and the OpenNTF API
 
Customer Story: Next Level Coding
Customer Story: Next Level CodingCustomer Story: Next Level Coding
Customer Story: Next Level Coding
 
Countdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOWCountdown to Domino 2025 - Preparing for the NOW
Countdown to Domino 2025 - Preparing for the NOW
 
Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7Installing and Configuring Domino 10 on CentOS 7
Installing and Configuring Domino 10 on CentOS 7
 
Extreme Development: Pair Programming
Extreme Development: Pair ProgrammingExtreme Development: Pair Programming
Extreme Development: Pair Programming
 
Installing & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOSInstalling & Configuring IBM Domino 9 on CentOS
Installing & Configuring IBM Domino 9 on CentOS
 
Ad104 build a bean workshop
Ad104 build a bean workshopAd104 build a bean workshop
Ad104 build a bean workshop
 

XPages Development 2

  • 1. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages, Java, EL, and Source Control A Legacy Notes Developer’s Journey into Madness Devin S. Olson XPages Development 2
  • 2. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. narcissism – Devin S. Olson • Grand Rapids, MI (USA) • Married with 2 children • Developing software for over 25 years (have actually coded using punch cards) • CNA, MCP, PCLP (SA&AD) R4 – R7, lots of other TLAs
  • 3. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. narcissism – Devin S. Olson • Instructor, Consultant, IBM Business Partner, Customer, Author • Czarnowski Display Services • Installing & Configuring Domino 9 on CentOS 6 • Anheuser-Busch Certified Brewmaster
  • 4. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Target Audience • Experienced Notes & Domino Developers • Some familiarity with web development • Some familiarity with XPages • Attended Yesterday’s session • Masochists XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 5. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Agenda XPages Development 2 – XPages, Java, Expression Language and Source Control • Why Java is so Important to XPages • Source Control • Custom Controls • Implementing Java in an XPages Application • The Most Important Control You Will Ever Use • The Power of EL (Expression Language) • Putting it All Together
  • 6. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. JAVA XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 7. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Why is Java so Important to XPages XPages are Java based, they run in a JVM, and the fundamental CORE of the product is based on Java Server Faces technology. XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 8. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Why is Java so Important to XPages Because XPages run in a JVM, EVERYTHING is Java. The Java you write is compiled into byte code. EVERYTHING else you write is CONVERTED into Java, and then compiled into byte code. XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 9. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Why is Java so Important to XPages All that cool SSJS and XML you write, all those neato controls you drag onto your XPage, EVERYTHING you do must be converted into Java. IBM did an awesome job putting all this black magic real- time interpretation / language translation / object mapping uber cool mojo together, and yes it works extremely well, but it still takes up time and resources. XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 10. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. SOURCE CONTROL XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 11. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. SOURCE CONTROL XPages Development 2 – XPages, Java, Expression Language and Source Control HAVE YOU EVER
  • 12. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. HAVE YOU EVER • Lost any code? • Made a code change and later realized it was a mistake? • Wanted to see the difference between different versions of your code? • Wanted to verify that any particular change either broke or fixed something? • Hade more than 1 version of a template? • Lost code or had a backup that was too old? XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 13. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. SOURCE CONTROL XPages Development 2 – XPages, Java, Expression Language and Source Control HAVE YOU EVER
  • 14. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. HAVE YOU EVER • Wanted to change somebody else’s code? • Wanted to share your code? • Wanted to let others work on your code? • Wanted to know where the code “hot spots” were at any time during a project? • Wanted to sandbox a project so you can test out potential features? • Wanted to work with anybody else? • Lost code? XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 15. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control SOURCE CONTROL
  • 16. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control BECAUSE YOU MUST SOURCE CONTROL
  • 17. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Source Control XPages Development 2 – XPages, Java, Expression Language and Source Control DEMONSTRATION
  • 18. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control CUSTOM CONTROLS
  • 19. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls • Similar in THEORY to Subforms in that they are contained within an XPage as a Subform is contained within a Form. • Break up our XPage objects into more manageable units. • Create self-contained nodes that can be added to multiple XPages (or Custom Controls) • Can be repeated multiple times (even on same XPage) • Genericize our code for better re-use. XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 20. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 21. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 22. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 23. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control DEMONSTRATION
  • 24. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 25. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 26. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 27. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 28. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 29. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 30. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 31. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 32. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 33. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 34. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 35. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Custom Controls XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 36. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control JAVA OBJECTS
  • 37. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java in an XPages Application XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 38. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java in an XPages Application XPages Development 2 – XPages, Java, Expression Language and Source Control • In XPages, everything you write will be turned into Java • EXCEPT the Java you write. • Writing your own Java avoids the middle stuff, and gives you explicit control over what your stuff does.
  • 39. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java in an XPages Application XPages Development 2 – XPages, Java, Expression Language and Source Control DEMONSTRATION
  • 40. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java in an XPages Application XPages Development 2 – XPages, Java, Expression Language and Source Control Utilities Class
  • 41. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the Utilities class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 42. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the Utilities class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 43. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java in an XPages Application XPages Development 2 – XPages, Java, Expression Language and Source Control Image Class
  • 44. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the Image class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 45. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the Image class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 46. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the Image class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 47. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the Image class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 48. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the Image class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 49. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java in an XPages Application XPages Development 2 – XPages, Java, Expression Language and Source Control ImageSet Class
  • 50. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the ImageSet class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 51. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the ImageSet class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 52. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the ImageSet class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 53. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Implementing Java – the ImageSet class XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 54. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control JAVA BEANS
  • 55. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control DEMONSTRATION Java Beans
  • 56. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control Java Beans
  • 57. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control NATIVE CONTROLS
  • 58. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control NATIVE CONTROLS MOST IMPORTANT CONTROL YOU WILL EVER USE
  • 59. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. MOST IMPORTANT CONTROL YOU WILL EVER USE XPages Development 2 – XPages, Java, Expression Language and Source Control REPEAT CONTROL
  • 60. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Repeat Control XPages Development 2 – XPages, Java, Expression Language and Source Control DEMONSTRATION
  • 61. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Repeat Control XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 62. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Repeat Control XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 63. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. XPages Development 2 – XPages, Java, Expression Language and Source Control EXPRESSION LANGUAGE
  • 64. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. The Power of EL (Expression Language) • Java Server Pages scripting language • Syntactically and Semantically Similar to JavaScript • Both Deferred and Immediate Evaluation • Read from JavaBeans, Data Structures, Implicit Objects • Write data, such as user input, to JavaBeans Objects • Invoke public methods, both static and implicit • Dynamically perform arithmetic and logic operations • Bridge between XML markup and Server Java Objects XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 65. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. The Power of EL (Expression Language) XPages Development 2 – XPages, Java, Expression Language and Source Control DEMONSTRATION
  • 66. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. The Power of EL (Expression Language) XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 67. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. The Power of EL (Expression Language) XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 68. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Putting it All Together XPages Development 2 – XPages, Java, Expression Language and Source Control DEMONSTRATION
  • 69. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Putting it All Together XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 70. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. QUESTIONS? XPages Development 2 – XPages, Java, Expression Language and Source Control
  • 71. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. Additional Resources • LearningXPages http://learningXPages.com • XPages.info • OpenNTF.org • XPages Development Wiki (URL is too long, Google it) • Coding Horror (SE Founder Jeff Atwood’s blog) • Joel on Software (SE Founder Joel Spolsky’s blog) • Mastering XPages – IBM Press • XPages Extension Library – IBM Press • The Rabbit Hole http://nathantfreeman.wordpress.com • NotesIn9 http://notesin9.com
  • 72. EntwicklerCamp 2015 Lotus Notes – zeigen wir der Welt, dass Notes weiterhin das Beste ist. THANK YOU FOR ATTENDING My Contact Info: Devin S. Olson devin.olson@azlighthouse.com +1 616-295-1683 Skype: spanky762 Twitter: spanky762 Facebook: Facebook.com/default.xsp