domino x pages
DESCRIPTION
This presentation provides a technology overview of XPages in Lotus Notes and Domino.TRANSCRIPT
IBM Software Group
®
Domino XPages
Technology Introduction
Philippe Riand – XPages Architect
IBM Confidential
IBM Software Group | Lotus software
*
XPages Technology Brings State-of-the-Art Web technology to Domino 8.5
Uses JSF as the runtime fundation, but doesn't require JSF/Java skills
Extensive palette of UI controls
Pre-built Web 2.0 functionality (Ajax...)
Allows and enforces reutilization through custom controls
Decreases the time for writing Web Applications Brand new web applications
Modernizing existing web applications or “Web-ify” Notes applications
Solves problems expressed by the Domino community Known limitations are addressed
• UI/Data separation, HTML generation control, Server state, Localization, Extensibility…
IBM Software Group | Lotus software
*
Designed for Web 2.0 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 & widgets
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 & dedicated pages per locale
Automatic support for user timezone
IBM Software Group | Lotus software
*
New Design Elements within Designer XPages
An XPage is the UI design element used to render web pages
Based on an extended version of Java Server Faces, adapted to Script developers
Custom controls A custom control is a reusable piece of UI created by assembling existing controls/
behaviors within an XPage
Appear in the control palette similarly to native controls
Parameterizable through custom properties
No Java nor other low level technology is required to create a custom control
Server-side JavaScript libraries JavaScript is the preferred scripting language for XPages
Themes A theme defines the look & feel of the application.
IBM Software Group | Lotus software
*
Leverages Web/Domino developers skills 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 the existing design elements (Form, 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
Leverages and exposes the back-end API JavaScript accessors on top of the Java back-end API
JavaScript has been extended to support @Functions()
IBM Software Group | Lotus software
*
Eclipse Based XPages WYSIWYG Editor
IBM Software Group | Lotus software
*
Complete Control of the Rendering Look & Feel is driven uniquely by CSS
Full support of CSS classes or inline styles
Uses CSS file resources
Support Themes for skinning an applicationPredefined 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
IBM Software Group | Lotus software
*
Domino Integration Fully integrated within the Domino server
Installed as part of the Domino HTTP Server
Automatically starts with the HTTP server
No deployment required – Create a design element within an NSF and save it
Leverages the Domino security model Data security done through the back-end API, using the web user
credentials
Code execution controlled based on developer signatures
Uses a custom Servlet Container Leverages the HTTP server configuration
• Authentication, request dispatching...
IBM Software Group | Lotus software
*
Performance Highly tuned JSF runtime
The runtime has been highly tuned to optimize both the CPU cycles and the memory consumption
XPages are compiled into efficient Java code
Maximizes the network bandwidth and application responsiveness
HTML content is “Gzipped” on the fly if the browser supports it
Static content (JavaScript libraries, CSS...) is shrinked and pre-compressed (gzip)
Uses HTTP expires header cache for resources