260 likes | 345 Views
GeneXus Patterns. Jeff Zickler Veronica Buitron President Vice President PayPlus Software GeneXus USA. How to build 99% of a mission-critical application with more than 5,000 objects using GeneXus Patterns.
E N D
GeneXus Patterns Jeff Zickler Veronica Buitron President Vice President PayPlus Software GeneXus USA
How to build 99% of a mission-critical application with more than 5,000 objects using GeneXus Patterns. Or… How to rescue a dying software company using the right technology.
Context • Software for Professional Employer Organizations – outsourcing of human resources and payroll processing. • An early entrant and quickly became the dominant market leader. • Acquired its next largest competitor, resulting in having 2 similar applications, but…
Context (continued) • Management “took its eye off the ball” and the company began losing market-share about 6 years ago. • Competitors appeared – new companies with products that ‘look newer.’ • Limited human and financial resources. • Limited time to react.
Survival Plan • How can we produce a new, world-class application suite in a short amount of time with our limited resources?
Challenges • Replace 2 existing systems and add significant new functionality. • Large, complex application domain. • People, organizations, and relationships. • Lots of data (several hundred screens). • Historical tracking of the data. • Audit changes to the data.
Challenges (continued) • Consistency across all parts of the new system of utmost importance. • Intuitive and robust, while being forgiving. • Had to be web-based to be “current.” • Run on Windows and Linux.
Challenges (continued) • Several complex concepts: • Effective-dated records (Temporal DB). • Multi-company capabilities without duplicating similar data. • Role-based entities – single instance of any data. • Dynamic organizational hierarchy. • Transaction-defined relationships.
Project Plan • Created prototypes to test interface styles and alternatives. • Solved critical design issues. • Developed requirements applying chosen prototype. • Developed a project plan to build the system with GXUSA SF. • Management and design in USA. • Development in Uruguay.
Project Plan (continued) • What did we discover? • 75% of the project plan effort related to repetitive programming tasks. • Programming to support the temporal database was very complex. • Many productivity features of GeneXus had to be replaced with new programs. • No extended table.
The Solution? • Use GeneXus Patterns. • “Brand new” tool but just what we needed when we needed it. • The standard “WorkWith” pattern was not sufficient for our project. • Created “PayPlusWorkWith”.
Pattern Characteristics • The pattern infers using an application’s naming conventions. • Complexity of the temporal database is solved by generated objects. • For one transaction, between 20 and 30 objects are generated, some with more than 2000 lines of code.
Inferences • Different styles of instances. • Persons, Organizations, Codes, etc. • Different grid styles: • Common, simple effective dated, and complex. • Foreign Keys: • Identifies a combo-box and generates the ‘load.’ • Identifies a prompt and generates the ‘call.’ • Referential Integrity in temporal database. • Auditing attributes and generates rules. • Etc, etc, etc…
Generated Functions • The generated functions include: • Grids: selection and view. • Wizard. • Auditing. • Security Control. • Referential Integrity. • Ajax. • Dates Control. • Etc…
Business Value • Development for less $$ • 50% less than planned time. • Several hundred % less time than manual. • Test for less $$. • Maintain and enhance for less $$. • More opportunities with less $$. • Application new and always “fresh.” • Easy to learn and use. • Easy to change and enhance.
Added Values • Consistency • External – User Interface. • Internal – Programming standards. • Company with knowledge of its customers’ business but new to GeneXus was able to design all the transactions. • Critical knowledge transfer is being supplemented by learning the generated code.
Added Values (continued) • By generating so much code, we could find errors quicker, making them cheaper and easier to resolve. • Able to have an initial beta version of the system in 6 months. • Features of both versions 1.0 and 2.0 have already been developed. • Critical changes that affect major parts of the programs are possible at any time. • For example, Ajax.
The Project Team • SF Development team • 1 Group Manager. • 3 developers at various times. • 1 full-time developer for the last 15 months. • Client’s Team • 1 full-time-equivalent resource • Design, maintenance, and program generation.
Conclusion • GeneXus played a key role in the survival of this company. • GXPatterns provided the chance not only to survive but also to leap in front of the competition.
Message Don’t miss the opportunity to be one step ahead – by concentrating too hard on trying to keep up.
Thank you • Jeff Zickler and Veronica Buitron