Date post: | 16-Jul-2015 |
Category: |
Technology |
Upload: | john-head |
View: | 9,862 times |
Download: | 2 times |
IBM Software Group
®
John Head – PSC GroupPhilippe Riand - IBM
XPages
Revolutionizing Lotus Domino Web Application
Development
IBM Software Group | Lotus software
*
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.
Information contained in this presentation is IBM Confidential and
cannot be shared with anyone outside of IBM without a non-
disclosure agreement specific to this information. Information
about an IBM product release becomes public information at the
time of its official IBM announcement at which time a non-
disclosure agreement is no longer required.
1
IBM Software Group | Lotus software
*
In This Session …
The 8.5 release of Lotus Domino and Lotus Domino Designer
revolutionize Domino Web application development
We’ll introduce you to our new approach for building Web
applications
We’ll cover some advanced techniques that allow you to leverage
the true power of 8.5
Finally, we will give you a glimpse of the future
2
IBM Software Group | Lotus software
*
What We’ll Cover …
Introduction
XPages — the basics
XPages — advanced topics
A glimpse at the future
Wrap-up
3
IBM Software Group | Lotus software
*
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
4
IBM Software Group | Lotus software
*
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:
5
IBM Software Group | Lotus software
*
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!
6
IBM Software Group | Lotus software
*
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
7
IBM Software Group | Lotus software
*
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
8
IBM Software Group | Lotus software
*
Compelling Web 2.0 User Experience with
8.5
9
Custom
Branding
Faster
Navigation
Styles
Themes
Discussion 8.5
XPage showcase
Compelling UI
Quick to Customize
Easy to Deploy
Improved
Usability
IBM Software Group | Lotus software
*
Demo
Let’s take a look at some applications
built with XPages
11
IBM Software Group | Lotus software
*
What We’ll Cover …
12
Introduction
XPages — the basics
XPages — advanced topics
A glimpse at the future
Wrap-up
IBM Software Group | Lotus software
*
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, …
13
IBM Software Group | Lotus software
*
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
14
IBM Software Group | Lotus software
*
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
15
IBM Software Group | Lotus software
*
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()
16
IBM Software Group | Lotus software
*
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
17
IBM Software Group | Lotus software
*
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
18
IBM Software Group | Lotus software
*
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!
20
IBM Software Group | Lotus software
*
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
21
See XPage User Guide: Designing with XPages \ Creating XPages \ Signing XPages
IBM Software Group | Lotus software
*
What We’ll Cover …
23
Introduction
XPages — the basics
XPages — advanced topics
A glimpse at the future
Wrap-up
IBM Software Group | Lotus software
*
Logic for Your XPage
The ―official‖ language for XPages is JavaScript
JavaScript runs on client or server (or both — your choice!)
Simple actions available for common operations
(Almost) every property is computable!
Labels, column titles, visibility, style, …
Rich event model
Ajax behaviors
Built in in some cases (typeahead, pager)
Easy to build on your own with simple event properties
24
IBM Software Group | Lotus software
*
Server Side Actions
No need to create agents
Although they can be leveraged
Simple actions
Simple to use, utilizes parameters
Can be grouped
Users/partners can provide their own simple actions
JavaScript on the server
Extensive library of predefined objects
• Domino back-end classes
• Familiar @Functions (@DbLookup, … )
Full featured editor environment
Bridge to Java
25
IBM Software Group | Lotus software
*
Client-Side Scripting
User can handle client-side events from the event panel
JavaScript Libraries
Available as resources to the page
Can also reference Dojo modules
26
IBM Software Group | Lotus software
*
Predefined Ajax Behaviors
Partial page refresh
Available on each event
Prebuilt on view pager
Ajax typeahead
Add behavior to an existing text box
Can use JavaScript handlers or
external URLs
27
IBM Software Group | Lotus software
*
Custom Controls
Composite controls
Parameterizable sub-forms
Controls made by assembling
existing controls
Behave exactly as native controls
Appear in the Control palette
Define their own set of properties
• Hierarchical with custom editors
28
Con trol ad d ed to a p ag e
Con trol is l ike a p ag e
IBM Software Group | Lotus software
*
What We’ll Cover …
30
Introduction
XPages — the basics
XPages — advanced topics
A glimpse at the future
Wrap-up
IBM Software Group | Lotus software
*
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
31
IBM Software Group | Lotus software
*
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, … )
32
Note: Information is subject to change without notice at IBM’s discretion
IBM Software Group | Lotus software
*
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
33
Note: Information is subject to change without notice at IBM’s discretion
IBM Software Group | Lotus software
*
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, … )
34
Note: Information is subject to change without notice at IBM’s discretion
IBM Software Group | Lotus software
*
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
35
Note: Information is subject to change without notice at IBM’s discretion
IBM Software Group | Lotus software
*
What We’ll Cover …
37
Introduction
XPages — the basics
XPages — advanced topics
A glimpse at the future
Wrap-up
IBM Software Group | Lotus software
*
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
38
IBM Software Group | Lotus software
*
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/xpages-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
39
IBM Software Group | Lotus software
*
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
40
IBM Software Group | Lotus software
*
Your Turn!
41
How to contact us:
John Head: [email protected]
Twitter: johnhead
Philippe Riand: [email protected]