Jump to content

XPages

From Alfawiki
XPages
Company typeSoftware platform
IndustrySoftware development
PredecessorXFaces, XSP
Founded2007
ProductsWeb application development framework
ParentIBM

XPages represents IBM's adaptation of JavaServer Faces, incorporating a server-side JavaScript environment alongside the integrated NoSQL database, IBM Domino. This platform facilitates the presentation of data originating from IBM Notes and relational databases to browser clients operating across various platforms.

The development framework embraces web standards such as JavaScript, Ajax, Java, the Dojo Toolkit, server-side JavaScript, and JavaServer Faces. Constructed atop IBM Domino—IBM’s platform for rapid application development—XPages utilizes a document-centric database structure.

Frontend technologies

XPages applications provide cross-platform compatibility, accessible through both web browsers and mobile devices by conforming to established web standards. The presentation layer is built using HTML, CSS, and JavaScript. Styling is managed through themes that coordinate multiple CSS files, with the OneUI theme available as a standard option.

For client-side scripting, developers may employ various JavaScript libraries; XPages natively integrates the Dojo Toolkit, facilitating straightforward use of Dojo controls. Internally, Dojo streamlines essential functionalities without necessitating custom Dojo coding. Additionally, an XPages-specific JavaScript library offers utilities such as client-side validation of input fields. The Dojo Toolkit also supports advanced UI components and charting capabilities.

Support for REST services is included in XPages, along with features that bind data sources directly to user interface elements, frequently removing the requirement for bespoke programming. Ajax-based partial page updates enable efficient data submission and dynamic content refreshes.

Backend technologies

Development of XPages applications occurs within IBM Domino Designer, which allows rapid and declarative construction of common tasks like rendering database content. Business logic can be authored in either JavaScript or Java. XPages is grounded in the JavaServer Faces (JSF) framework; source files use an XML-derived format called XSP, which is compiled into Java code responsible for generating HTML at runtime.

Data interaction utilizes data sources that can be visually linked to UI components through drag-and-drop functionality in Domino Designer. The environment also supports features such as field validation and multilingual translations. Reusable components called Custom Controls enable modularization of functionality with parameterized contexts.

Backend business logic predominantly employs server-side JavaScript with APIs granting access to the document-based database and XPages runtime context. Given XPages’ JSF foundation, standard Java SDK libraries can be invoked from JavaScript, and developers may create custom Java classes via JSF managed beans.

The XPages runtime is extensible through an Extensibility API built on JSF principles, permitting independent software vendors (ISVs) to develop bespoke libraries of XPages controls.

Storage: Document-oriented Database

XPages relies on IBM Domino’s robust document-oriented database system, NSF (Notes Storage Facility), optimized for semi-structured content including rich text and file attachments. Information is stored as documents identified by unique IDs and system metadata fields (such as last author and modification date), alongside application-specific fields. These documents can contain rich text formats, images encoded in MIME, and attached files. Efficient data retrieval is supported via APIs and indexed views, complemented by integrated full-text search capabilities spanning multiple databases.

Deployment of XPages applications occurs on standalone or clustered Domino servers managed through IBM Domino Administrator. The Domino replication feature enables bidirectional synchronization with mechanisms for conflict detection and resolution, ensuring data integrity across distributed server environments.

Community

The XPages developer network oversees XPages.info, which provides a variety of resources including introductory tutorials, software downloads, and demonstration projects. OpenNTF functions as an open source repository for applications built on IBM Domino, offering numerous apps and development controls distributed under the Apache License.

History

XPages technology traces its origins back to around 2000 when Trilog Group, an IBM Business Partner, created a component-based rapid web application framework named XSP. This framework was founded on J2EE, XML, and open standards. In 2004, IBM acquired the XSP assets to enhance its Rapid Application Development (RAD) tools within IBM Workplace.

From 2005 to 2007, the technology advanced within IBM’s Lotus Workplace Designer and Lotus Component Designer under the code name 'XFaces'. In 2007, the technology was renamed 'XPages' and subsequently incorporated into IBM Lotus Notes Domino 8.5, which launched in December 2008. XPages gained significant attention at Lotusphere 2009.

Later versions—IBM Lotus Notes Domino 8.5.1 and 8.5.2—broadened XPages functionality by enabling applications to run within the Notes Client and improving both performance and scalability.

The term 'XPages' is derived from the original acronym XSP ('XML Server Pages'). After transitioning from XSP to 'XFaces', IBM finalized the name as 'XPages' for the Domino Designer platform, a designation that has continued since then.

Further reading

  • Martin Donnelly, Mark Wallace and Tony McGuckin. (2011). Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language. IBM Press.
  • Martin Donnelly, Mark Wallace and Tony McGuckin. (2014). Mastering XPages: A Step-by-Step Guide to XPages Application Development and the XSP Language. SECOND EDITION IBM Press.
  • XPages Extension Library: A Step-by-Step Guide to the Next Generation of XPages Components (2012) IBM Press.
  • XPages Portable Command Guide: A Compact Resource to XPages Application Development and the XSP Language (2012) IBM Press.

External links