Chris Connor October 14 2011 06:30:45 AM
Now that we have our 8.5.3 environments ready thoughts turn to how do we use XPages to build better applications with the new tools available. I have been involved in a few situations lately where organisations are reviewing their application estate and asking how do we approach "modernising" them. The first cry from everyone is usually "XPages" but quite rightly IT departments are asking what is the best platform for THAT particular application in OUR organisation with OUR current skills. When reviewing the application estate the feedback has generally come back in the form of:-
1. Application works well - needs extending via a "web app" to browser or mobile.
2. Application needs to integrate into our Portal, Intranet, be made available on public Website etc.
3. Application functions badly due to the way it was deployed on the older Notes client
All of the above can be addressed by putting together an XPages "front end" or as in case 3 by rewriting the application to work better with XPages (dojo, jquery, modern web ui tools).
There are however a large number of applications (I am sure we have all seen them) that have underlying problems with the architecture. This usually comes down to two issues
1. Sheer numbers of documents.
2. Complex structure of relationships between data / documents.
I am thinking the huge timesheets database, enormous CRMs with huge numbers of documents and relationships with visits, callbacks etc etc.. Again we have all seen them....
This usually manifests itself in performance issues, applications that are difficult to change and maintain and even more difficult to leverage good reports from. We then see loads of views, loads of categorisation, lots of bloat / index issues, server struggling when a view is rebuilt, requests for reports where information is captured but stupid methods have to be employed to get it ...etc.. etc.
This is where the new XPages Relational Database Access tools come in. Now we can...
1. Use Domino security (readers fields, authors fields, acls) - these are easy to configure and change using the same methods that are in current support / operation with developers and the admin team.
2. Use Domino workflow eg a "main document " could have "related records" that are stored in a relational db somewhere and called for display at the appropriate point.
3. Get better reporting (always a pain as already mentioned). You can use standard reporting tools (Crystal reports etc) for building reports and even delegate more to business users.
4. Handle better volumes of "record" type data.
5. Kick off transactional processes that are in other systems (as well as your own table structure)
6. Build powerful database searches that incorporate a combination of Full Text and SQL queries.
Of course with all of that we can leverage the full benefits of a JSF based Java Web application server built around dojo UI components for cross platform mobile and web applications.
The opportunities are endless. We now have a true web application server and with XWork and further developments in the pipeline I am looking forward to LS12!
Anyone else able to share their own stories around this?
Oh yes - before I forget go to OpenNTF and download the Extension Library and install on 8.5.3. There is good visual material there to help you on your way!