Given a Model, Livebase takes care of generating and deploying a complete and ready-to-use backend component (named "Cloudlet"), including the database to persist data and the GraphQL API to connect clients and other backend components.
Cloudlets are based on a very reliable and high-performance ORM (Object Relational Mapping) framework which is extended with Java code generated on-the-fly according to the Model. Once deployed, every Cloudlet features:
- a dedicated relational database with a neat and very comprehensible normalized schema, properly configured with indexes, referential integrity constraints and other DDL constraints;
- data-management functions (CRUD operations with support for nested and long-term transaction, persistent and in-memory data merging, queries and math expressions, data quality and consistency rules, etc.);
- infrastructural functions (centralized/distributed authentication, logging and auditing, profile-based access control, optimistic and pessimistic concurrency control, etc.);
- declarative business logic (application views, data partitioning rules, navigation and association rules, warning and error conditions, data versioning, non-persisted data structures, etc.);
- a powerful GraphQL API allowing clients or external systems to interact with the service component (extracting structured data, modifying data, invoking services, etc.) in a much more flexible fashion with respect to a traditional REST API.