XPage Opinions


I had an interesting experience today that I would like to share. I met a group of Notes power users today for a small and informal gathering. The food was good, the alcohol was flowing (so was the soda), and we all started talking.  Some of us were developers, some of us were administrators, some of us were in management, all of us use Notes. We got on the topic of IBM stuff and I must say that it was a generally tricky topic.  The general topic of Notes was fine, but when it came to XPages…. Lets just say it was a rough time. As it turns out, there are people that love to hate on XPages.  I must say, I used to be one, but I converted…

There are a few arguments that I want to touch upon.  The first one is that it is impossible to take on projects done by others.  This is a very good point even if I am not in complete agreement.  Unfortunately, we were not agreed as to the cause of this trouble. One person said that the trouble is based solely on the different ways to “hide” the code. Yes, I will say that this is an issue, but I am also not sure we were talking about the same stuff.  General style when building XPage applications is problem, but it is not more or less problematic than in classic notes development.  The question of whether to use a script library or put the calculations directly into the Form design element itself is the same argument that I have with using JavaScript libraries and putting it into the controls themselves.  The correct answer is also clear, use the damned library… That is what it is there for. For me, this is also not a reason that taking over someone’s project should be difficult. Refractoring is needed, but if the project was done correctly, then chances are the original programmer is still working on it. Another possibility was the location of Java code.  There are a few places where you can place such code.  The Java Design element is usable (from what I have read), and some of us prefer to use the good old Web Content/WEB-INF/src folder located in the java perspective. THIS IS A STRENGTH IN XPAGES, SO STOP HATING ON THE FRAMEWORK!!!!!

Another reason I heard today to hate XPages was that the applications are slow or are unstable.  This excuse makes me angry… very angry. The applications are as stable and as fast as the programmer allowed it to be.  And for this point, I am going to point and laugh at every single corporate manager who says that it is cheaper and easier to outsource your development to overseas countries where you only have to pay a hundred dollars a day for programming services instead of using your next door neighbor who gets a thousand.  You will get what you pay for! Of course, we cannot all know from birth how XPage applications should be run, and it takes a while to learn the proper methods of using error handling (shout out to the dreaded NotesException), and learning how to properly recycle objects in order to prevent killing other functions, and building a proper cache and balancing CPU vs Memory…. These things are not easy.  Not every one can do this.  THIS IS NOT XPAGE’S FAULT, SO STOP HATING ON THE FRAMEWORK!!!!!

Another problem is our idea of what XPage development is.  XPages is a way to program modern web based applications which may or may not use a domino data source and which run on a domino server.  IT IS NOT RAD (rapid application development).  At the very least, it is not the RAD that many remember in classic notes.  Much more planing needs to go into XPage development.  A lot more skill is needed.  I wider range of skills is needed.  JavaScript, Java, DOJO, JQuery, GUI/XML, architectural skills…. not every Joe who knows Excel and spreadsheets can do this! It is still more rapid than building a JSF/JSP application from scratch, but a totally different ball park.  THIS IS MODERN APPLICATION DEVELOPMENT AND NOT XPAGE’S FAULT, SO STOP HATING ON THE FRAMEWORK!!!!!

Instead, let me tell you the awesomeness that is this framework.  This framework offers modern web based applications.  It offers a way to combine the tested and true Domino nature with the scalibility and efficiency of SQL.  It offers easy binding of third party software into your applications. A separation of data and GUI allows for a much more robust and rich application that does not create a dependency on certain servers or data sources but rather abstraction which allows almost anything. The deletion of a certain server does not require any complex desktop processes to make sure that the tile on the client is switched to the proper database instance.  More control is granted to the application design due to easy access to modern JavaScript libraries. Sharing of code between application instances with the use of self-built OSGi libraries running on the server enable build once – copy never functionality not seen before in notes applications…  The reasons and advantages of using XPages in your environment are manifold.  Don’t get frustrated at the first glance or first failure and say that the whole thing is shit.  Open your mind to what is now possible, change your perspective to see that this is not classic Notes, and learn the correct ways to use this framework.

</bitching></rant> …. doing is up to you…

Bookmark the permalink.

About reederProgramming

I already have an about me page, so I will just put a quick bit of info here. I am a Notes/Domino developer at holistic-net GmbH located in Hannover, Germany. I use Java primarily at home and as often as I can at work. I have dabbled in C# and a few other languages and platforms. This website started out as a place for me to quickly store and access some of my most important how-tos and has started to become a place where I can really help others too!

2 Responses to XPage Opinions

  1. “One person said that the trouble is based solely on the different ways to “hide” the code”

    This is the worst argument ever: In legacy Notes applications, there are billions of ways to “hide” code. The craziest thing I ever saw was that fields where manipulated in hide-when formulas of computed texts…

    • reederProgramming says:

      I have seen that done too. Everything boils down to the abilities of the programmer and holding to standards. Not doing dumb stuff is very important. In the end don’t hate the framework because of an amateur. 😉

Leave a Reply

Your email address will not be published. Required fields are marked *