Sie sind auf Seite 1von 2

What is XPages? XPages are a rapid web and mobile application development platform.

The programming model is based on JavaScript, Dojo, JSF and a document oriented database. XPages programming model which is an integrated and comprehensive combination of these technologies: Frontend Technologies: HTML and Dojo/JavaScript Backend Technologies: JavaScript and JSF Storage and Deployment: Document-oriented Database Frontend Technologies For the user interface XPages focus on the web development standards HTML, CSS and JavaScript. This allows projecting XPages applications to web clients and mobile devices and leveraging the same development skills. Layout For the layout XPages focus on the web development standards HTML and CSS. Additionally themes can be used as an easier way to manage multiple CSSs. XPages comes with default themes, for example the OneUI theme. Logic For client side logic various JavaScript frameworks can be used. However XPages comes with the Dojo Toolkit and Dojo controls can be easily referenced in XPages applications. XPages also uses Dojo internally for certain functionality to make key features easier to use without having to write Dojo code. A special XPages JavaScript library contains further convenience functionality, for example for client side field validations. UI Controls In addition to client side logic Dojo can also be used for rich user interface widgets and charts. Access to Backend Services As any web application XPages applications can use REST services. XPages also provides easy mechanisms to bind data sources to UI controls so that for many scenarios no code needs to be written. Additionally XPages allows to declaratively only refresh parts of the page via Ajax when submitting data. Backend Technologies The development of XPages applications is done using IBM Lotus Domino Designer. With Designer many key scenarios can be implemented declaratively and rapidly, for example to render a list of entries from a database. Additionally for the business logic both JavaScript and Java code can be written. JavaServer Faces XPages base internally on JavaServer Faces, but XPages developers don't have to have JavaServer Faces skills. The sources of a XPages pages are an XML derivat called XSP which is translated into Java code when running the applications. At runtime this code returns the HTML to various clients. Tooling with Domino Designer XPages applications are stored in NSF (Notes Storage Facility) files which are collections of design elements that can be deployed as a whole and developed using IBM Lotus Domino Designer.

In order to access data XPages and Domino Designer use so called data sources. These data sources can be bound graphically to UI controls on pages. UI controls and other types of controls show up in a palette of controls in Domino Designer and can be dragged and dropped onto pages. Domino Designer also comes with futher convenience functionality, for example field validations, translations, etc. XPages functionality can be modularized in so called 'Custom Controls' which are XPages controls that can be reused in multiple XPages pages and parameterized based on context. Server Side JavaScript In order to write business backend code JavaScript is used primarily. There are APIs to access the document oriented database and the XPages context - see here for more. It is also possible to invoke standard Java SDK code from the JavaScript code and to write custom Java code using JSF managed beans. XPages Runtime Extensibility The XPages runtime can be extended using the XPages Extensibility API which is based on JavaServer Faces. This capability can for example be used by ISVs who want to provide their own libraries of XPages controls.

Document-oriented Database The XPages runtime is part of IBM Lotus Domino and leverages the proven and mature capabilities Domino provides. Domino uses a document-oriented database called NSF (Notes Storage Facility) to manage semi-structured data like rich text and files. The data is stored as documents and views allow finding specific documents efficiently. The document oriented database is a core part of the Domino architecture. Note that these two referenced PDF documents are old but still give a good overview of the fundamental concepts. Documents Documents have unique ids and further built in fields like the last author, last modified date, etc. and they have custom application specific fields. Documents can contain rich text which can be formatted text and images (MIME) or full file attachments. Documents can be queried via APIs and views. Lotus Domino also supports full text search for a full database as built in feature. Deployment and Distribution XPages applications can easily be deployed on Domino servers or a cluster of Domino servers using IBM Lotus Domino Administrator and more precisely the replication/synchronization mechanism built into IBM Lotus Domino. The replication mechanism supports bi-directional conflict detection and resolution in distributed environments. Security XPages applications and the document oriented database can be secured in multiple ways. There is a so called ACL (access control list) which contains a list of users, groups and roles and their access rights. Security can furthermore be applied on document level via reader and author fields.