Data Modeling
Model your data once with ApiOmat and it's instantly accessible to front-end developers via a REST API or in ApiOmat SDKs.
Use ApiOmat's Class Editor, REST API or code first approach to create new data models for your backend. Determine attributes, use references, inherit from other classes and set up role-based access control lists with your preferred method. ApiOmat then generates a REST API for your backend based off of your data model. ApiOmat SDKs also contain the complete data models in the frontend programming language, so that developers have immediate access to the data.
Tutorials: Class Editor | Modeling with the REST interface | Code First | Modeling Users
Key Capabilities
Class Editor |
Create new data models via the ApiOmat dashboard. No code required. |
REST Interface |
Run a REST request to create new classes and add attributes. |
Code First |
Develop native modules and upon uploading ApiOmat automatically generates the classes inside ApiOmat and on the REST API |
How it works
In contrast to other solutions, ApiOmat is based on static data models rather than key-value pairs for exchanging data with clients or connectors. Working with these data models gives the development team more stability and assurance during development; the data models are created and modified in a central place (Dashboard or via Native Module code) and all modifications are automatically included in new SDKs for all supported client languages like Android, Swift or Javascript.
Classes created in ApiOmat always belong to a module. Modules encapsulate connectors, use cases or other collections of data models of a specific context. Modules primarily consist of classes, which are the developer's equivalence of data models itself. Classes, in turn, contain attributes, the properties and relations of the data models. Each attribute has a name, a type and further settings like mandatory or collection.
Data modeling can primary take place in the Dashboard using the class editor or written in JAVA during the Native Module development. Last but not least, all data modeling can also be done using the REST API.
Implementation Overview (Steps to get it working)
Modelling your data using dashboard |
||
1 |
Create module |
In dashboard, go to Module Market, click "New Module" and enter a unique name. |
2 |
Create model classes |
In dashboard, go to Class Editor, click "New Class", pick the module for the new model from the drop-down list and provide a classname. By clicking the confirm button ("hook"-symbol) you create the new model class. |
3 |
Create model attributes |
In Class Editor, create the model classes´ attributes by assigning an attribute name in the input field, picking a type ("String", "Double", "Long", "Date", "Location", "Map", "File", "Image" or a reference to another object) and choosing if that attribute should represent a collection and/or be mandatory. By clicking the confirm button the attribute is created. |
4 |
Assign superclass (optional) |
If you want your model class to inherit from another model class, pick the respective superclass from the dropdown list "Parent Class". |
5 |
Manage access control (optional) |
In the section "Security & ACLs", use the radio buttons to check the required role for the "Create", "Read" and "Write" privilege on models of that class. You may assign one of the default roles "Everybody", "App User" and "Object Owner" or pick your own role(s). Checking the checkbox "Restrict resource access" also applies these settings to binaries (File, Image). |