EasyLOB has a lot of very useful features to help building Line of Business Applications. But how much time it will really spare in your development depends on how complex your application is.
EasyLOB Libraries have a lot of “Plumbing” code and Scripts do generate SCRUD Presentation, Application and Persistence code. But it does not generated code for the Use Cases: the things that really define what the applications does. It is up to you, as a developer, create them using, whenever possible, EasyLOB and thirdy-party .NET Libraries to help you. To accomplish this you are going to spend most of your time creating Models, Views and Controllers in the Presentation Layer and Use Case implementation code in the Application Layer. You rarely will have to worry about things like Persistence, Security and Audit Trail.
I will try to show you how I see EasyLOB being used in a LOB Application Project, using the chart below:
- Imagine you are a developer and you have already executed the Requirements Analysis and the Design phases: so you have a set of documentations stating exactly what your client wants for the Application
- The X axis represents Time and the Y axis represents Scope
- The development curve is an asymptote
- In the beginning of the development you get an “S1” scope amount done in an “T” time, but near the end you get just “S2” scope (much less than “S1”) done in the same “T” amount of time
- The more specific the code gets, the slower gets the development
- EasyLOB really helps you in the beginning, delivering a fully functional SCRUD Application with Security, Audit Trails, etc, very fast
- If EasyLOB helps you to develop 75%, 50% or 10%, depends on how complex your application is
- But after using EasyLOB you still have to develop the application Use Cases code by yourself: with the advantage of having a well defined Archetype behind you
The nice thing about using something like EasyLOB is that you very soon (time “T”) get a (working) prototype so that users can start to use and criticize. As Linus Torvald wrote once: