Mindoo Blog - Cutting edge technologies - About Java, Lotus Notes and iPhone

  • XPages series: Things you don’t know yet about XPages

    Karsten Lehmann  6 July 2009 17:53:45
    We are currently exploring some cutting edge development stuff with the XPages runtime of Notes/Domino 8.5 and the Design Partner beta of Notes 8.5.1 in our labs.
    Regarding Notes 8.5.1 specific things, we unfortunately cannot talk about many details, because we're under non disclosure agreement here. There are some rumors on the web, what features will be part of 8.5.1. For example, you might visit the blog of Peter Presnell, who collects any snippet he can find about 8.5.1.
    That's a pretty impressive list and we're are also more than impressed of our 8.5.1 code drops, because of their speed, stability and the HOT NEW FEATURES they contain. The Notes client 8.5.1 will definitely be worth an upgrade, even from Notes 8.5.

    So lets talk about our XPages investigations:
    Our tests are not only about the "normal new web development" you can do with XPages. That's cool stuff that has already been discussed in many web sites, blogs and tutorials.
    For example, the Domino Designer Wiki is a good place to look for information. There is also an additional XPages wiki of YouAtNotes, another Design Partner from the DP program with useful code snippets and also a few XPages sample databases on OpenNTF like the Xpages Wiki or a XPages profiles application.

    We want to focus on the backend system of XPages instead, that IBM used to build all that cool new stuff.

    JavaServer Faces
    As you might know, XPages is built on top of the JavaServer Faces technology. And although the XPage syntax looks a bit different from JSF code, most of the JSF backend is still there, like the bean management, the validators and the model-view-controller paradigm. It's really worth to know more about JSF to understand some of IBM's design decisions, but also to leverage those hidden JSF features in order to produce a better system architecture and more reusable code.

    Servlets
    JavaServer Faces itself uses Servlet technology, which of couse is also there deep under the surface. You have full control of the response that is sent to the browser. You can send much more than just a web page to the user.

    Java
    At last, Servlets are written in Java. In my very personal opinion, I would always prefer Java instead of JavaScript as programming language to develop large projects, for example because of the type safety Java provides, because of a better debugging / development / testing support and the huge class library of the JDK.
    So we're gonna show you how to call Java code from your Server Side JavaScript (SSJS) and also how to access the Notes Java API from that code (hint: the standard way of NotesFactory.createSession() does not work in this case).

    So stay tuned for the first article about "Things you don't know yet about XPages".