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).
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 Opendelight provides an in-built access control scheme based on user roles, called the Role-Based Access Control (RBAC) scheme, that allows access to the application by its users depending on their roles assigned. The basic concept of the scheme lies in treating the application and user accessing the application as two objects, and basing their interaction through the user's role associated with the application instance.
Upon successful validation, parameters collected from HTTP requests are passed to BL objects to execute the request. Model (consisting of classes and independent scripts - to give life to PHP old-timers) carries out BL processing and returns resulting data in the form of arrays.