Overview of Batoi Framework Architecture
An instance of the application at the client-side invokes instance at the server-side through HTTP request which is responsible for processing the business logic of the application, and in turn, provides data back to the client-side instance for further actions (rendering, effects, asset management, user interactions, and functions).
Illustration of the Batoi Framework Architecture
Every HTTP request is received by a Controller at the server-side, and each HTTP request is defined uniquely by the Event ID (through
$_REQUEST['ID'] parameter) that is passed from the client-side application instance. Based on Event ID, the Controller validates the HTTP request and the user sending the request.
The Batoi Framework provides an in-built access control scheme based on user roles, called Role-Based Access Control (RBAC) scheme, that allows access to the application by its users depending on their roles assigned to. The basic concept of the scheme lies in treating application and user accessing the application as two objects, and basing their interaction through user's role associated with the application instance.
Illustration of Role-Based Access Control Scheme