Introduction Thanks for the input last week Agenda Pros and Cons of generators History of this generator How to build your own Application Generator Suggested architectural approach to build an Application Generator using your sites standard Overview of features and functions
Application Generator Objective IS NOT to sell my GENERATOR!!! Looked at Net Tiers – Code Smith My approach is different and may still be of value Understand the approach that I used which can be applied To any programming language Possibly used for xaml generation. To any end user standard for development To any development coding standards. Will show how to build your generator from your source code
Application Generator History Year 2000 Conversion Used Sapiens / DB2 at ABS in 1995 High Productivity Function Point Analysis BUT there were issues Database structural changes required regenerations and broken links Functions outside of supported functions Proprietary code with yearly costs Users forced to Generator Standards Wanted to develop a tool with the advantages and none of the disadvantages.
My Failed approaches Direct from DB2 Catalog Initially DB2 Coldfusion testing Stored Procedures No flexibility in list page, update page No field editing Object Approach / table object / field Objects Table object – contained table based parameters Contained field objects with field specific options InList, isFilter, isDropDown It was a fantastic approach when everything was standard, But problems Code modifications were several layers deep.. Constantly adding new parameters to field and table objects Code became difficult to support Too many options layers down in code
Current Approach Overview Develop running code for a single table Your programming language, standards end user standards. Split off methods that are field dependent in different sections Generate documented source code Use the source code as a string Your codes is stringBuffer.append(“your working code here” +vbCRlf) For each new table only the sections of code that are field dependent needs to be changed. Build a screen to capture these parameters for each field Use the SQL Server catalog to obtain field names, data types and sizes Is Key, In List, Has Dropdown, Field Display Name, Required, Memo At each point where a field name was used for the standard application use this table’s field names.
Demo Show Generator Page for Menu Page Show end user functions in the Generated Page Sample of the menu page Show the generation process Show the generated code
Technical Questions Follow on Project? Standard List – Crud in Silverlight I could build one Someone might have a standard As a group review and improve on standard I could build a generator based on the standard and we could share it Tool to upload a directory or multiple files at a time?