In general each uniGUI application is a standard Delphi executable powered with specialized modules which all together turn the application into a full featured web server. Among these modules we can count Session Manager, Web HTTP Server, ISAPI Handler, Cache Eraser and Server Module. These modules cooperate to create sessions, handle Ajax calls, create web UI and manage session lifetime. All these actions happens completely transparent to developers.
uniGUI stands for Unified Graphical User Interface or Unified GUI in short. It is called unified because it allows same UI experience in all devices with a web browser. Regardless of device, OS, CPU and display same level of user experience can be achieved on all devices with a compatible web browser. It allows a great freedom in choosing client devices. Client device can be anything from a Windows PC, OSX device to a PC with any flavor of Linux or even a Raspberry Pi!
Of course, this feature is not something unique to uniGUI. This level of independency from platform is something that any web application can provide except that uniGUI enables you to create web applications which are very close to desktop applications in look and feel.
Web Sessions are main elements of a uniGUI web application. Each time a user opens a new instance of web application a new session on server is created. Each session will remain active in server until user terminates it or a timeout condition occurs. Each session keeps a complete state of running web application. That's why uniGUI sessions are called stateful. You can consider each session as a private copy of your web application which co-exists with other sessions in server's address space. Each session is isolated from other sessions and each web request is automatically redirected to its respected session. Each session has a unique "Session Id" which is used to distinguish it from other sessions. Session Id is assigned upon creation of session and included in each Ajax request, so request can be directed to correct session.
Below diagram represents internal structure of a uniGUI server. Each uniGUI server has a single copy of ServerModule which is created once per server, along with multiple sessions which are dynamically created and destroyed according to user activity. A uniGUI session contains a specialized DataModule called MainModule which is automatically created for each session. Also a Form named MainForm is created which apparently is main entry point of web application. MainForm can be preceded with a LoginForm which provide a reliable and secure way for user login. As expected each session can contain several additional DataModules and Forms.