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 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.
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.
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.