The general high level technical architecture is as shown below:
User Interface Layer:
uKnowva is totally responsive and can be accessed from any device that can send an HTTP request and understand an HTTP response. You can easily run uKnowva under a web browser on your desktop/laptop computers, and can also access it through a mobile application on your tablet/smart phone. Currently, the uKnowva mobile app is available only for Android-based mobiles on the Google Play Store.
Authentication Layer:
uKnowva is completely login protected and can be accessed only after authentication. It has an in-built authentication mechanism where it stores the username and passwords (in encrypted format) in a database. Users are authenticated using this database.
uKnowva also supports external authentication mechanisms through which authentication can happen from a third-party application or web service and then the user is logged in into the application. Some of the in-built authentication mechanisms are as follows
·LDAP/Active Directory Authentication
·Email Authentication
·Google Authentication
In addition, you can also write your own authentication plugins to facilitate your custom SSO.
Sever Layer:
The uKnowva Server Layer comprises the complete server-side applications and utilities required to run the application. The uKnowva application is built over PHP and MySQL and it can easily run on any server under Apache/IIS.Check this link to see the minimum required configuration: https://docs.uknowva.com/installing-uknowva/system-requirements
The entire code of uKnowva is in PHP and database is Mysql.
uKnowva server mainly comprises of two main things:
·Application Server
·Database Server
The application server is responsible for handling all HTTP requests and executing them and the database server is responsible to storing, managing and retrieving the data from the MySQL database.
Application server could be a server which is able to execute PHP scripts and the database server could be any machine with MySQL installed on it.
You can have the Application and Database server installed on the same machine, or you can have a two tiered architecture by separating the Application and Database servers on two different machines.
You can also create multiple instances of the Application and Database server setup and turn your entire setup into a cluster by replicating and syncing the different instances of your servers.
To understand more about the core platform architecture, please read this https://docs.uknowva.com/about-uknowva/uknowva-architecture