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

  • XPages series #1: The vision of a better XPages architecture

    Karsten Lehmann  15 July 2009 11:45:36
    Well, when I look at all the blog postings and tutorials that have been written so far about XPages, I get the feeling, nobody really asks for some kind of "advanced architecture" for XPages applications. Something that goes beyond just plugging a new UI on top of Notes documents, something with a kind of "master plan" in mind with reusable pieces of code and a clear separation of the UI and the backend logic.

    Maybe that's because it's a Notes technology and therefore Rapid Application Development driven, maybe because XPages is just too new, so most of the developers are happy to simply achieve somehow what they want to do. And of course, the already existing benefits they get from their code compared to classic Domino web development makes them feel that this is already a giant step forward.

    Yes, it is already a great progress. But there is more under the XPages surface than you think.

    My motivation for digging deeper into the XPages architecture and the underlying JavaServer Faces technology was driven by the following facts:
    • our development goal was to use the same business logic API for both the XPages UI and backend processes to modify the application data
    • we wanted to have more control of the data storage, like monitoring/logging data changes
    • we needed support for large amounts of none-Notes data
    • we wanted CVS support for the code we produce in Domino Designer on Eclipse
    • maybe later on, most of the code should also run in a different environment, like a none-Notes data store
    • and finally: I personally absolutely do not like JavaScript as a development language for server-side scripting at all.
      I'm a Java guy. I like type-safety of the code and I love being able to debug what I do.  ;-)
    So the following XPages series postings will show you a completely alternative way to develop XPages applications. We still use the XPages design element, but we do not bind it to Notes documents.
    Most of our code will be developed in backend Java classes, using a technology called "Managed Beans".

    Click here to see a list of all the articles published so far: XPages articles