Yes, uniGUI Voyager is here. Actually, it has been here for a while!
Voyager is the nickname for uniGUI version 1.50. It contains exciting new features which were announced in uniGUI roadmap back in 2017. One of those features is uniGUI HyperServer which primarily targets to radically improve availability, stability, and scalability of uniGUI applications. It also introduces other important features such as allowing to update applications remotely without a need to stop the application server. Another exciting improvement is porting to uniGUI to the latest Ext JS version 6.x.
uniGUI HyperServer is a new server archirecture designed to highly improve uniGUI applications' availability, stability and specifically scalability. This goal is achieved by applying industry's known and widely used techniques such as load balancing and process recycling.
A traditional uniGUI application server consists of one single process and multiple threads. The single process can be a uniGUI executable or an ISAPI or Apache worker process. In all cases all sessions reside inside a single process and several threads in same process are used to handle incoming requests.
uniGUI HyperServer changes above model and turns into a multi-process multi-threaded model. In this new model several worker processes are spawned to serve same web application. Sessions will be divided among worker processes and based on the configuration you may have multiple worker processes for same uniGUI application. Worker processes are managed and orchestrated by another process which is actually the HyperServer itself. The HyperServer will be the main entry point for all incoming requests. HyperServer will take all requests and distribute them among worker processes. HyperServer has also the responsibility to spawn new worker processes when needed and recycle them as soon as they are purged. Since uniGUI sessions are stateful, another important duty of HyperServer is to direct incoming session requests to the correct worker process which has created that particular session. In HyperServer terminology each worker process is called a Node.
Ext JS 6.x
uniGUI Voyager integrates the latest version of Ext JS 6.x. It was another revolutionary change for uniGUI. The previous version of Ext JS used in uniGUI was Ext JS 4.4.2 which was quite outdated. With upgrading Ext JS to 6.x now uniGUI can take benefit from all new enhancements and features of Ext JS 6. Here you can read a blog published in Sencha's web site which explains our journey of upgrading Ext JS in uniGUI Voyager.