The SynergyProvider project: SPDY, Hotplug and SynergyShell bridging

The SynergyProvider project: SPDY, Hotplug and SynergyShell bridging

Due to the need of backend code execution in WebApps, we need a webserver on the Synergy OS that is perfectly suitable for processing [a lot of!] requests with the lowest response time possible. This webserver should have a minimal memory footprint, some additional modules and special protocols to simplify the software communication and management.

We want to call this project “SynergyProvider”. TheSynergyProvider project will implement some modules for the Jetty webserver and help to implement some protocol and performance tweaks.

We need specially five additions to the Jetty which we plan to implement:

  • WebApp bundle support (Unpack and run WebApps that are inside of a Docroot)
  • WebApp Hotplug support (Detect new WebApp bundles in the Docroot. Then unpack and run them.)
  • A module for SynergyOS WebApp execution that is able to dispatch request to the WebApp code that will be executed by SynergyShell through that module. This module works with previously unpacked WebApps. The module needs dispatch the response of the code, files or streams back to the SynergyView (the browser).
  • Implementation of the SPDY protocol. This can improve performance for communication by 50% or more while also having maximum encryption (SSL) even on the loopback communication.
  • Implement serveral performance tweaks for lighttpd

For Milestone 1 we just need to let lighttpd be executable and add the SynergyShell bridging support for WebApps code execution.

All improvements and module we will implement will be sent back to the lighttpd developers to share.

From the users point of view

A user just wants to install and run software fast and easily. This architecture is best suitable for that purpose. In the end the user selects a WebApp to install from the internet or a local media (harddisk, cd, dvd, usb disk, whatever) and double-clicks it. Maybe, there will be a configuration window for install, EULA, etc. but thats not the default case. In default, it just installs the software by coping and unpacking the WebApp bundle in the Docroot of the SynergyProvider. And it also puts an icon on the users desktop. Thats all.

The user can execute the WebApp by just double-clicking the icon.

Graphics by: Smail