WARNING: This server provides a static reference view of the NetKernel documentation. Links to dynamic content do not work. For the best experience we recommend you install NetKernel and view the documentation in the live system .

NetKernel's dynamic request processing model confers a flexibility for reconfiguring running systems that cannot be matched by traditional physical-level platforms such as J2EE, Spring and .Net.

A module is a physical container, similar to a Java jar, which includes a declarative definition of an address space and its endpoints.

A module also holds physical file resources such as classes, source code files, text and image files, etc. (Details about the logical and physical structure of modules are discussed in the Logical Reference Guide)

A module is the core unit of management in NetKernel. At boot time, NetKernel commissions registered modules - this involves reading the space definitions, creating and commissioning the spaces and their endpoints, initializing classloader, instantiating endpoint instances etc.

Hot Swap

Because each request is dynamically resolved to an endpoint on every request (just like the Web) then NetKernel can hot-swap any module at any time. NetKernel supports hot deployment, and via the Apposite package manager, it supports transactional rollback too.

Dynamic Imports

In addition, NetKernel supports dynamic importing, which means a module can have itself imported into a specific point in a system when it is commissioned.


When you develop applications and systems in NetKernel you start by creating a module and then add one or more declarations for spaces, endpoints, transports, etc.

A tutorial is available to guide you through the steps of creating a module - but you should probably work through the ROC Basics tutorial first.