Why application developers should rely on a Cloudlet to manage business data, rather than relying on the DBMS directly? Here are some good reasons:
- they can use GraphQL as a query language, rather than SQL. With GraphQL, developers can precisely define the results of their queries as structured JSON objects rather than plain tables;
- they can save endless hours in coding and debugging queries to retrieve derived information (e.g. the total cost for external manpower for each project) as if that information was actually explicitely stored in the database: the Cloudlet transparently calculates that information on-demand as defined (without coding) into its Model. Cloudlets can also provide a preview of any derived information for a given object while it's being modified (i.e. when it still has uncommitted changes), including a preview of which objects might be associated under the associability rules defined in the Model;
- they can implement frontends and business processes with total confidence and peace-of mind that, when it comes to modify persisted business data, all the data-quality rules, all the transaction-validation rules and all the access-control rules defined (without coding) in the Cloudlet's Model will be always respected, no matter which specific function they are implementing;
- they can implement business-level logic (as plugin extensions of the Cloudlet) using their preferred JVM-compatible language (e.g. Java) with a lot more flexibility and power with respect to traditional stored procedures.
In conclusion, Cloudlets allow to avoid manual coding for calculating derived information and for enforcing transaction-validation rules across the entire application, thus leading to safer, more robust and more maintainable applications in less time.