XPages - TIMETOACT GROUP

newjerseyshakySoftware and s/w Development

Oct 30, 2013 (3 years and 7 months ago)

139 views

DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Seite 0
Ein neuer Anstrich für Ihre Notes
Applikationen?
XPages sind weit mehr!
Maureen Leland (IBM)
Maureen_Leland@notesdev.ibm.com
René Bosle (TIMETOACT)
Rene.Bosle@timetoact.de
Michael Gollmick (TIMETOACT)
Michael.Gollmick@timetoact.de
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Disclaimer
This presentation contains information about the future direction of
IBM products, but it is not a commitment that IBM will deliver
specific features or capabilities, or that IBM will deliver any product
releases at all. Future product direction, dates, features or
capabilities can change at any time without notice.
1
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
What We’ll Cover …
• Introduction
• XPages — the basics
• XPages — advanced topics
• A glimpse at the future
2
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Domino Applications
• Domino is a rapid application development platform for writing
collaborative applications
– Flexible document-based datastore
• Semi-structured data
• Manages hierarchies of documents
• Seamlessly handles data model changes
– Easy deployment model
• Simple NSF copy or replication operation
• Create new instances based on application templates
• Update design provided through design task or replication
• Client access options: Notes, Web browser, or Mobile
3
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Serving Up Applications to the Web
Yes, we made it easy to provide browser-based access to your
applications, but they often looked like this:
4
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Web Development — A Mixed Blessing • Developer experience
– Programming model delivers maximum capability when
building for Notes
– Building compelling Web applications proved challenging
• Domino HTTP rendering issues
• No modern Web controls
• Event model was less than ideal
• So, if you were up for the challenge, you could build compelling
Web applications
• But there has got to be a better way!
5
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
8.5 Application Development Themes
• Provide developers with a modern development tool IDE
– Do for developers what Notes 8 did for end users
• Improve usability and productivity
• Address various developer pain points from previous
versions
– Attract new developers to the platform
• Make building compelling Web applications easy
– Allow developers to build attractive, modern Web apps that
leverage Web 2.0 technologies with less work
– Provide means to update existing Domino Web applications
incrementally
6
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
The 8.5 Answer
• Domino Designer and Eclipse
– Same Designer Productivity: Built on Eclipse
• Eclipse adds: search, editors (CSS, JavaScript, … ), …
– Uses a well-known extension mechanism
• Allows third-party tools to be added
• A new set of design elements
– XPages and Custom Controls
• Designed for developing Web 2.0 applications
• Easy to understand for both Domino and non-Domino
developers
– Themes
• Easily define an application’s look and feel
7
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Compelling Web 2.0 User Experience with 8.5
8
Custom
Branding
Faster
Navigation
Styles
Themes
Discussion 8.5
XPage showcase
Compelling UI
Quick to Customize
Easy to Deploy
Improved
Usability
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Lotusphere 2009 Quotes
9
"We finished our target goal too quickly,
so we had time to add unplanned
functionality"
TJ Witte — Salesplace.com
"Equivalent transactions that were taking a full second
(or more) to complete in a Java agent are now
completing in 20–40 milliseconds. And we haven't
even optimized it yet to use any explicit scope caching;
that 50x performance boost is just from running it in a
servlet context instead of in agents"
Tim Tripcony — Lotus 911
"XPage technology drastically reduces the time it takes
us to develop Domino applications. We no longer need
to spend time developing client-side JavaScript/Ajax code
since many of things we built in this manner are now core
features of XPages. Additionally, the ability to more easily
leverage standard techniques such as CSS makes
building a compelling user experience much easier."
Bruce Elgort — Eljugi software llc
…People had a good feeling of what they saw. They
appreciated that 'Cloud' widget, and the good look and
feel already provided …
…Some were already asking when we could deliver the
first eLite running with xPages.”
Pierre Verscheure — Jacobs Engineering Group Inc
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Demo
Let’s take a look at some applications
built with XPages
10
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
What We’ll Cover …
11
• Introduction
• XPages — the basics
• XPages — advanced topics
• A glimpse at the future
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
From Cool Tools … Cool Pages … XPages
• Visual Web page construction
– Advanced UI controls
– Drag and drop development
• Instant Application Development
– XML markup with source
– Full control of HTML
– Presentation using CSS
– Business logic using
JavaScript
• Leverages existing NSF assets
– Web agents, formulas, security,

12
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
XPages Value Proposition
• Provide a better Web development experience to Domino
developers
– Can be used to incrementally enhance an existing application
or write a brand new one
– Fully integrated within Domino Designer
– Decreases the time for writing Web Applications
• Solves problems expressed by the Domino community
– Known limitations are addressed
• UI/Data separation, HTML generation control, Server
state, Localization, Extensibility, …
• Fully integrated with Domino Web server
13
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Designed for Web 2.0
• Based on an extended version of
Java Server Faces (JSF)
• Advanced set of controls
– Web pager, Section, Tabbed Panel, …
– Advanced View layouts using repeated sections
• Native support for Ajax behaviors
– Partial refresh, available to every event
– Typeahead
• Comes with the Dojo JavaScript library
– Natively leverages Dojo widgets (RichText,
Date/Time picker, … )
– Gives easy access to Dojo modules and widgets
14
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Leverages Domino/Web Developer Skills
• Leverages the existing design elements (Forms, Views, Agents,
…)
– Forms carry the document schema (data definition) and
some business logic (computed fields, … )
– Views used to query the Domino store
– Agents can be called using the back-end API
• JavaScript is used as the main scripting language
– JavaScript used on the client and on the server
– Simple actions are also provided for common tasks
• Leverages and exposes the back-end API
– JavaScript accessors on top of the Java back-end API
– JavaScript has been extended to support @Functions()
15
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Complete Control of the Rendering
• Look and Feel is driven uniquely by CSS
– Full support for CSS classes or inline styles
– Uses CSS file resources
• Support Themes for skinning an application
– Predefined styles for controls
– A theme can be defined locally, in an NSF, or
globally
– 2 themes provided out of the box
• HTML tags/attributes can be embedded within XPages
16
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Enables Enterprise Scale Applications
• Extensible architecture
– Custom controls
– An XPage can call any Java code/library
– JSF config files can be used to provide custom options
• Extended data access capability
– Applications can access data located in multiple NSF
databases
– Multiple documents/views can be displayed on the same
page
• Built-in localization and internationalization support
– Support String localization and dedicated pages per locale
– Automatic support for user time zone
17
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Architecture
Domino HTTP Server
Client Request
2.4 servlet engine
NSF database containing the design
elements & the data
XPages Servlet Engine
The server directly reads
the design elements from
the NSF database
Virtual J2EE modules
No WAR deployment
required
18
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
XPage Prerequisites
• Installation and configuration
– XPage runtime is installed by default
– If doing custom install, make
sure Dojo and XPages are checked
– HTTP task must be running
• Skills
– Knowledge of Domino object model
– HTML, CSS, XML, and JavaScript are very beneficial, but
you can built an application without them
– Question = Do I need to learn Java?
– Answer = NO!
19
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
• XPages use agent security model
• Settings for Xpage application access
– XPage signer must have explicit
access to server or select users
listed in all trusted directories
– Other settings that likely
require XPage design element
signature to be added
• XPage Web user access
– Standard Domino Web authentication applies
XPage Security
20
See XPage User Guide: Designing with XPages \ Creating
XPages \ Signing XPages
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Demo — Creating Your First XPages
Application
21
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
What We’ll Cover …
22
• Introduction
• XPages — the basics
• XPages — advanced topics
• A glimpse at the future
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Datenquellen
Seite 23
The better way to access data…
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Datenquellen…
• sind Schnittstellen für den Zugriff auf Dokumente
Seite 24
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Datenquellen…
• können mehrfach auf einer XPage verwendet werden
• Das heißt:
Einfacher Zugriff auf verschiedene Dokumente,
sowohl lesend als auch schreibend
Seite 25
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Datenquellen…
• Ein Beispiel:
Seite 26
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Custom Controls…
Seite 27
Subforms for XPages?
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Custom Controls…
• sind parametrisierbar
Seite 28
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Custom Controls…
• können als Layout Container/Template dienen
• Steuerelement: Editable Area
(nur für Custom Controls verfügbar)
Seite 29
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Custom Controls…
• Ein Beispiel:
Seite 30
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Advanced Technology
Seite 31
Some Stuff every Domino Developer
dreamed about…
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Advanced Technology
• Möglichkeit zur Nutzung von „scope“ Variablen
– Besonders interessant: SessionScope
Seite 32
XPage1.xsp
var = „Wert“
XPage2.xsp
Verarbeite (var)
Server
var
var
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Advanced Technology
• XPages können Binär Code direkt an den Browser
streamen
– Vernünftige Technik um Dateien „on the fly“ zu
erzeugen
• Nutzen:
PDF Druck, Erstellung von Diagrammen,
Captcha Codes,…
Seite 33
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Advanced Technology
• Bisher:
Prozess des Agenten:
Prozess des Servers beim Aufruf:
Seite 34
Datei löschen
Datei auf Fest-
platte speichern
Datei in Doku-
ment hängen
Datei erzeugen
Datei auf Fest-
platte speichern
Datei an
Browser senden
Datei löschen
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Advanced Technology
• Zukünftig:
Prozess der XPage:
Seite 35
Datei an
Browser senden
Datei erzeugen
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Advanced Demo
36
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Repeater I
• Keine Tabelle
• Keine Sortierung
• Anderer Focus der Programmierung
Seite 37
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Repeater II
• Repeater können viel mehr!
• FileUploads dynamisch setzen
• Partial Refresh
Seite 38
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Repeater III
• Inhalte komplett programmierbar
• Z.B. Verzeichnis auf dem Server listen
• Neue Anwendungsmöglichkeiten
Seite 39
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Custom Controls
• Type Ahead
• ViewSearch
Seite 40
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Custom Controls: Parameter
• Parameter definierbar
• Inhalte berechenbar
Seite 41
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Captchas
• Inhalte selbst bestimmen
• Scoped Variables
Seite 42
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
RTF enhancements in Xpages
• Tabbed tables – wiederherstellen mit Dojo
• Collapsible Sections – wiederherstellen mit Dojo
Seite 43
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
What We’ll Cover …
44
• Introduction
• XPages — the basics
• XPages — advanced topics
• A glimpse at the future
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
About the Future
• This is not a commitment on the new features being
developed
• This is provided as information to keep you updated
and get your feedback
45
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Lotus Mashup Integration — iWidget • A new Component design element is used to define iWidgets
• Any XPage can be projected as an iWidget, leveraging the
platform capabilities (parameters, properties/events, … )
46
Note: Information is subject to change without notice at IBM’s discretion
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Rich Client Support
• Allows XPages applications to run within the Notes client
– Any XPages application can be run offline
– Do not require a local Domino Server
– Data and Design elements get replicated
• Same code runs identically on the client and the server
– Same programming model on both platforms
• Not restricted to the common denominator
– Takes advantage of the platforms when it makes sense
• Ex: The view control can either render HTML or the Java
counterpart control, depending on the context
• A new theme ensures the consistency with the other Rich Client
applications
47
Note: Information is subject to change without notice at IBM’s discretion
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Running XPages in Notes
• Can be used in place of an existing design element
– An XPage can be specified as the launch option
• As a component, within a Composite Application
– Same Component definition used for the iWidgets
– Get access to the platform events (Eclipse selection events,
…)
48
Note: Information is subject to change without notice at IBM’s discretion
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Mobile Device Support
• An XPage application can be rendered within the embedded
browser of the device
• The device is detected
– Specific markup can be emitted
– Conditional statements can apply
49
Note: Information is subject to change without notice at IBM’s discretion
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Futures Demo
50
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
What We’ll Cover …
51
• Introduction
• XPages — the basics
• XPages — advanced topics
• A glimpse at the future
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Resources
• Domino Designer wiki
– www.lotus.com/ldd/ddwiki.nsf
– Articles and videos
• Samples applications
– OpenNTF.org: XPages Wiki, Lead Manager,
TaskJam, XPages Demo
– jmackey.net: Survey Tool
52
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Resources (cont.)
Tutorials
– Basic tutorial ships with Domino Designer 8.5. See XPage user
guide.
– developerWorks Tutorials
• Harness the Power of Xpages in Lotus Domino Designer
– www.ibm.com/developerworks/edu/ls-dw-ls-
ddxpages.html?S_TACT=105AGX13&S_CMP=EDU
• XPages, Themes, and Mashups in a Domino Web …
– www.ibm.com/developerworks/lotus/library/tutorials/xpage
s-themes/lz-dw-lz-xpages-themes.html?S_TACT=105A
GX13&S_CMP=EDU
– Declan Lynch’s — Learning Xpages
• www.qtzar.com/blogs/qtzar.nsf/htdocs/LearningXPages.htm
53
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
7 Key Points to Take Home
• XPages remove current pain points for Domino Web developers
• Separation of UI and data means data from multiple sources
can be presented in a single UI
• Leverage simple actions and JavaScript for business logic
• Use Ajax to improve your end-user experience
• Custom Controls improves productivity and maintainability
• Themes provide a way to easily change the look and feel of your
application
• The revolution starts with 8.5, and the future looks bright
54
DNUG Conference: The Innovative Enterprise –Generating value in a smarter world
Your Turn!
55
How to contact us:
Maureen Leland: mleland@us.ibm.com
Michael Gollmick: michael.gollmick@timetoact.de
René Bosle : rene.bosle@timetoact.de