Quick Setup Guide
1. Dynamic Edition
Dynamic Edition can use J2EE Servlet container at the server side for additional features, such as compiling and running applications from command shell. Operating System itself can be deployed to either server side or client side. We recommend deploying the kernel to client side if it is going to be with an open system such as a web site. In Dynamic Edition, the server side application deployment should only be used in local area or private networks. it is also possible to use Web Sockets with Applications to communicate with the system or other applications running at the server. NeuroKernel Dynamic edition is built on Servlet 3.0 specification. NeuroKernel API is initially built for Java 8.0 for maximum compatibility with legacy systems. A latest version of modern web browser is also needed such as Chromium based, Safari or Firefox.
1.1 RDBMS Database
Dynamic edition requires an RDBMS database to be installed. NeuroKernel installation package will come with an open source option for you to install. The JDBC library for the database must be put to the shared library folder of the servlet container.
1.2 Configure Servlet Container
In context.xml file, enter the following resource. The values with brackets are to be replaced by your database configuration. This configuration uses MySQL jdbc driver. You should replace the driver class with the one supplied with your choice of database.
<Resource name="jdbc/neurokernel" auth="Container" type="javax.sql.DataSource" username="[user]" password="[password]" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql:[//localhost:database_port/your_database]" maxActive="30" maxIdle="4"/>
The configuration options, such as maxActive, is configurable for your use case. Please see the servlet engine configuration manual for more options and details regarding the Resource
tag entry. In addition, it may be required to set and configure some more adapters in order to communicate with another web server such as Apache Web Server.
1.3 Installing NeuroKernel
Installation of NeuroKernel on a servlet container is pretty straight forward. Decompress the NeuroKernel archive or deploy it as WAR file if possible. Do not install NeuroKernel on the ROOT path. It is important to choose another path so that the sessions do not get mixed up with other web application contexts. When first run from the designated web application, kernel starts in setup mode. It will guide you through the installation of NeuroKernel. If you already set up NeuroKernel on another machine, setup program will automatically switch to normal kernel mode. This is done by controlling the database tables and the license entries. The setup application may be initiated again if database is deleted.
1.3.1 System Manager
It possible to write a custom system manager by extending NSystemManager
class. It must be registered in place of dspmgr
application in the application registry. The guide to writing a system manager can be found in Writing System Manager if needed. System manager is also used for remote login. This means that when someone wants to remote login to your server from a work station, your login screen served by your custom system manager will be executed and displayed to the remote user.
2. Static Edition
Static edition comes in the package with all deployment licenses. All it requires a web server to be deployed, it does not require a specific server side stack. Entire system runs at the client side. A custom service can be registered with the system for authentication, and getting user preferences. Static edition lacks server side features such as compiling and running applications from a command shell, or opening a VT terminal.
2.1 Configure Web Server
Configuring a web server does not require any special treatment to deploy NeuroKernel. Its configuration is all up to the developer's preferences. In a near future, NeuroKernel Research will support multiple platforms for static deployment in separate bundles.
2.2 Installing NeuroKernel
It is as easy as unarchiving the NeuroKernel to a web accessible folder, and edit the configuration file. Multi-user deployments in Static Edition, requires a RDBMS setup, services to access RDBMS and a custom system manager. NeuroKernel offers a system manager, but server side services must be supplied with exact specifications. The specification can be accessed from the Writing System Manager manual. On the other side, developer is free to implement a custom system manager that is a fit for the use case.
2.2.1 Configuration Data
Static edition does not require an RDBMS database to deploy. It is totally up to the developer to decide how to serve user data to the client. It may well be from an RDBMS or a configuration file created on the fly by a service. Configuration data may be bundled with a custom system manager as well. The XML DTD of the configuration data accepted by NeuroKernel is available here.
2.2.2 System Manager
Other than compiling it only to JavaScript or WebAssembly, handling a system manager for Static edition deployment is as same as Dynamic edition. Please see the Dynamic edition section of this document for detailed description.