Deploying Applications

NeuroKernel system can be deployed multiple different ways depending on the use case. NeuroKernel applications are deployed the same way. System itself can be distributed to different mediums. If desired we can provide a version that can even boot from a torrent network.

1. J2EE Servet Container

Developers can use any servlet container that implements Servlet 3+ specification. If servlet container does not support JSR 356 for web sockets, use of Atmosphere project library is recommended. If you have a legacy server with an older Servlet specification, please contact us. We can provide you with a legacy build; however, additional license fees may apply. Additional libraries can be placed into the shared library of the servlet container.

1.1 Multi-Context Support

NeuroKernel applications can be deployed to other contexts different than the kernel context. There is a mechanism to check if the user has been logged in or not on a multi-user configuration. This can be done by calling isLoginValid method of the ISystem interface.The servlet container must provide option for multi context session (session sharing/clustering) sharing, or a third party solution may be utilized. NeuroKernel does not recommend any library or method for cross context session sharing. Basically, a web application context may host multiple NeuroKernel applications. In most of the time, single context where the kernel is deployed from will be sufficient.

2. Web Server

NeuroKernel static deployment does not require a Java servlet container. Any web server with HTTP 1.1 support can be used. Server side services may also require to be written for the custom use. We may provide services for some well known platforms for vital services only.

3. Torrent Network

NeuroKernel applications can be deployed to torrent networks in js, jar or zip form. A manifest file for the main file may be needed if multiple javascript files are included in jar or zip package. Trackers must be a WebTorrent based torrent tracker.

3.1 Private Tracker

There are some free open webtorrent trackers but using a private tracker may be needed for some use cases. NeuroKernel comes preconfigured with open trackers. Please see Bittorrent Tracker to easily create your own Bittorrent tracker.

4. Command Line

Standalone tasks run from a command shell typically from your favourite terminal software or the VT terminal application that comes with NeuroKernel. A display must be set for standalone applications to find your browser display. It is automatically done when VT terminal launched by NeuroKernel. It is an environment variable called NDISPLAY. This can be manually set on an external terminal application by setting this environment variable or passing it to the standalone application from command line. A NeuroKernel application called cexecd must be run to communicate with external terminal. This application will display the NDISPLAY value that needs to be used.

5. P2P File Systems

NeuroKernel applications can be deployed to any peer-to-peer BitTorrent network that supports WebTorrent protocol. IPFS based decentralized file systems can also be used. It only takes to deploy the application files. Use of other decentralized file systems is trivial by utilizing a HTTP gateway to them similar to the IPFS.

6. Cloud File Systems

A cloud file system may also be used that has capability to serve files for public access via HTTP. In this way, It is very easy to execute an application deployed to cloud file system. If public access is not an option, a NeuroKernel File System plugin application may be available from the vendor of the used cloud file system.