Chris Connor November 21 2012 05:27:56 AM
A while back I raised a point regarding
application design for an XPages application that one of my customers were considering. This was a procurement / contract tracking application that was to track spend / values over a annual periods etc (Not really the sort of application that is best suited to the NSF structure). However, we were keen to build on existing XPages resources and RAD benefits such as
1. Security driven by Groups and the ACL
2. Use the One UI and the Extension Library as a starting point for UI design
3. Build and extend our own libraries of OSGI code that can be used for future applications
4. Being a large Notes user make use of current Domino Web Infrastructure
5. Make use of internal support resources available from a Domino Administration perspective
6. Build on internal Notes / Java skills that are available
The list could go on...But one major headache remained - The "NSF" data structure - its not really built for this.
From experience we should not bend this data structure to do this - the main data structure had to be the NSF.
I intend in posting in the near future a series of blogs (and perhaps video) will provide some insight into how I....
1. Used Java to build a data access layer initially modelled for Notes for prototyping but then switched to MS-SQL.
2. Built Custom Controls and Java for customisable Query Screens and Reports in Excel - Direct from SQL using stored procedures.
3. Built Java libraries for a host of useful (and re-usable) custom converters, validators.
4. Used Phase Listeners, Value Change Listeners and Scoped Objects to write a full audit trail to SQL - for every field!
5. Used beans as controllers for various application operations
The purpose of this exercise with my client was not only to deliver this application but also to provide a template for future use that covers a wide range of application use cases for most situations. Also vital in this process was the skilling and enabling of the internal team for future projects.
Hopefully these blog posts / videos etc will prove useful to others considering this path! (Any questions, comments or areas you would like me to cover would be most welcome)