XPages: Domino Development Goes Mobile and Beyond

Development Tools / Utilities
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Are you looking to extend your legacy Domino applications to mobile? XPages-enabled applications just may be your rapid mobile development and deployment solution.


XPages is a web and mobile development platform enabling users to access and interact with IBM Notes and Domino data (and other data sources) using a cleaner, more modern interface.


Although XPages was originally created as a mobile controls project on OpenNTF.org in 2010, XPages mobile support began with IBM Lotus Domino 8.5.3 Upgrade Pack 1. Now, with Domino 9, XPages development is even more powerful than before. The XPages extension library is included with Domino 9, so you don't need to install any additional software.


What does it look like? Well, if you're familiar with Teamrooms in Notes/Domino, then you're in luck. The Domino 9 XPages-enabled Teamroom template really shows you the power of Xpages, and now it's pre-built for you. This XPages-enabled Teamroom provides an enhanced and consistent look and feel across desktop and mobile browser interfaces. This is a very basic, but very powerful adaptation of a well-revered Domino application. By being enabled for XPages, the application interface is now automatically modernized and enabled for a mobile device but still can be accessed in a traditional format in the IBM Notes client.



Figure 1: This is the traditional Teamroom template.


Here are a couple of screen shots from my iPad.



Figure 2: This is what Teamroom activities look like on iPad.



Figure 3: And this is the Teamroom main navigation on iPad.


And here's the very same Teamroom on my desktop.



Figure 4: And here's the very same Teamroom on my desktop.


If you have existing Teamrooms, then you can upgrade those by opening the Teamroom in your Notes client, clicking File > Application > Replace Design. Then choose the teamrm9.ntf template to apply over it. Once you're done, click Actions > Upgrade Content.


Now when you access the Teamroom over the web, it will be served up to your browser as an XPages application instead of the less-than-attractive application served over the web in the past.


Another similar example would be the familiar Discussion application, used primarily as a message board of sorts where groups can discuss ideas, projects, and such. IBM has also included an updated, XPages-enabled version of the Discussion template. Similar to the above instructions for Teamroom, just replace the design of your Discussion applications with the Domino 9 version and you'll be able to use the new XPages interface.



Figure 5: Compare this classic Discussion database to…



Figure 6: …the Discussion application on iPad.


These template demonstrations open up many possibilities of what you can do with existing applications to give them a fresh look and expand deployment options into the mobile world.


Now, when I say "mobile development with XPages," I don't mean creating local client apps for mobile devices. What XPages does is provide a nicely formatted web page that renders the content properly if it's on a supported tablet or smartphone. This is key. XPages allows developers to leverage standard web tools like AJAX, Dojo, and JavaScript to create new IBM Domino server-based applications or augment existing ones.


While the Domino Designer interface allows you to drag and drop controls onto the interface, an amount of coding/design is of course required in order to add proper functionality. If you're familiar with Domino Designer and the concept of using forms to enter/update data and views to display data, the learning curve to XPages development isn't too steep. In fact, you can bind a control on an XPage to a field on a legacy form with relative ease, but that's just the tip of the iceberg. Many developers have moved to XPages development over traditional Domino web development because it mostly eliminates the “make it work” type of work developers need to do to move a traditional Notes client application to the web. For instance, certain functions in the Notes client simply don't have a web equivalent. You'd have to find another method to execute the function.


In terms of performance, XPages is designed to perform better than traditional web-based Domino applications. From the Building Domino Web Applications Using Domino 8.5.1 redbook, "XPages provide significant performance benefits for your Domino hosted environment. If you compare XPages to the traditional Lotus Notes development techniques for the Web, XPages brings new performance improvements. Much of this is due to the fact that in the traditional Domino development approach, both the Data layer and the Presentation layers are linked together with the form architecture. As a result, the Domino server has to maintain in cache the whole document and form until the end of the user action. Within XPages, IBM has setup the NotesXspDocument, which in fact is only alive when an exchange between the client and the Domino server is needed. When rendering an XPage, the Domino server loads the Notes document in memory, creates the NotesXSPDocument, and then removes it from memory. This performance efficiency will be especially noticeable on an overloaded Domino HTTP server."


To start creating and customizing your own XPages applications, you'll need a copy of Domino Designer, which you can download for free here. You'll also need to have Lotus Domino server installed if you want to deploy XPages applications. If you don't have a server readily available, you can still try out developing XPages applications as Domino Designer comes with an embedded XPages runtime and HTTP server.


Alternatively, if you only have a Domino messaging server without the entitlement to serve applications, you can also look at the IBM XWork Server as a deployment option.


IBM XWork Server 9.0 was recently released and its announcement states the following:


"IBM XWork Server V9.0 is a competitively priced offering that uses IBM XPages technology. It enables an application developer to quickly and easily create rich web applications with a Web 2.0 application look and feel. XWork Server is a low-cost, rapid application development platform that offers the following:

  • A tailored solution that rapidly delivers business objectives
  • Access to collaborative and social solutions via web and mobile devices
  • Good-looking collaborative and social applications with a rich user experience
  • Solutions that are 1) Based on a proven technology, 2) Delivered with built-in, enterprise-grade security, and 3) Available at a lower cost

Enhancements include:

  • Broader and more flexible licensing terms and updates to pricing
  • Application development and integration that is easier and faster than ever with Domino support for Security Assertion Markup Language (SAML) and Open Standard for Authorization (Oauth)
  • Improvements in Domino Designer and XPages to support web and mobile applications"


IBM XWork Server allows eight applications per entitlement. You can buy up to four entitlements, allowing for a total of 32 applications per server.


If you want to get started on how to develop XPages, you can check out the following resources: