Data modeling
Unlike traditional ORMs (Object-Relational Mapping), Dari does not map objects to database tables. Instead, it stores data in a schema-less format that is appropriate for the underlying database. For RDBMS (Relational Database Management Systems), Dari serializes object data into JSON and stores it in the database as a BLOB. Changes to the data model do not require updates to database schema.
With Dari, data is modeled with Java classes that use standard data types. A Java class serves as the specification for a model, defining types, relationships, and behaviors. For example, you can model a system user as User
, with a first name, last name, and username. You can then define a related model called Activity
, a base class with Date
and User
fields. Specific system activities like checkin and checkout can be modeled as subclasses of Activity
. What results is an emerging object model representing instances of User
and Activity
that are stored in the underlying database.
Anything can be modeled and accessed with a web view or through an API. A data model can be altered by modifying the Java classes that define it. Free of schema dependencies, Dari enables rapid data model changes.