Cabin4j Administrator is a unified backend framework that lets you visualize your application's data as web forms and integrates seamlessly with any java based web application. It is compatible with applications using a relational database as a persistence solution as well as with applications using databases like Elasticsearch, Solr, Neo4j, and more as a persistence solution and can be configured to work along with applications that use one or more databases of the same or different types. Also, you can view and manage data of different applications from a single view.
- Generic Components & Configuration Over Code
- Form and Cascaded View
- Advance Search
- Data Import & Export
- Role Based Access Control
- SQL & NoSQL
How It Works?
Every web application uses a database to store information like application data, configurations, user details, etc. For example, a commercial web application like an online store can store visitor information like login-logout details, purchase details, order logs, bookkeeping details, company reports, pricing structures, account details and etc.
In order to use the database in your application, you will need to create a connection with it. There are several ways of creating connections and accessing the database and the easiest way is to use an O-R-M framework (Object Relational Mapping framework) like Hibernate. O-R-M framework generates objects that virtually map to the tables in the database. Then you use these objects to interact with the database.
Even if you don't use an O-R-M framework in your application, you will have to map the row values of the table to object attributes to use in your application. For databases which are non-relational, we have O-M framework (Object Mapping framework) like spring data that helps to virtually map object with the schema of the database. In terms of java we call these objects Plain Old Java Objects, and every java based application uses them to transfer data throughout the system.
In Microservice Architecture
As Cabin4j administrator is capable of handling multiple databases of same or different types in a multi-application environment it becomes an apt choice as a backend solution in a microservice architecture.
All the features of the administrator are independent of the underlying database, for instance, you can use the import functionality to import application data in different databases (same or different type) without changing the format of the import file. So, if you decide to move to a different database in the future you will not have to worry about the semantics. The same applies to other features like export, search, view, etc.
Configuration Over Code
Cabin4j administrator ships with most of the backend functionalities. Tasks like performing CRUD operations on the database, search in the database, import or export data to/from the database, create the sample/actual data for the project, manage user roles, groups and responsibilities, and more are already there. You just need to create configurations and you are good to go. Cabin4j administrator also exposes APIs that allows you to add custom functionality as required by the business.
Everything in Cabin4j is component. You create components while designing your web forms, managing user roles, and accesses, import, export, and etc. These components are generic and flexible and can be reused or extended as per the requirement.
Cabin4j administrator enables user to view the data stored in data sources as “Forms”. It also gives the capability to perform operations on the data. Forms generated are dynamic and configurable as per requirement at runtime.
Cabin4j administrator cascade view feature enables users to visualize data and relationships in a natural way. It helps the user to perceive the structure of data logically.
Cabin4j administrator advance search feature enables user to perform complex search on data irrespective of data source. It allows user to dynamically add/remove search parameters to get desired results.
Cabin4j administrator import provides the capability to import data directly from excel sheets and text files into different data sources irrespective of the type or technical implementation of the data source.
Cabin4j administrator export provides the capability to export data directly from different data sources into excel sheets irrespective of the type or technical implementation of the data source.
Role Based Access Control
Cabin4j administrator ships with role-based access control (RBAC) features. RBAC lets users have access rights only to the information they need to do their jobs and prevents them from accessing information that doesn't pertain to them.
SQL & NoSQL
Cabin4j is compatible with applications using a relational database as a persistence solution as well as with applications using databases like Elasticsearch, Solr, Neo4j, etc as persistence solution.