A node consists of a small JAVA microkernel, that is, a JAR file about 1.2 MByte in size. It includes the messaging core, timers, threads, the namespaces and the logging. All other functionalities, especially networking, are loaded via plugins at start time.
This leads to the fact that containers containing a node are usually all identical. A configuration determines which plugins should be loaded. Only the plugins add specific functions to the nodes, i.e. the tasks that make up the character of a node.
The microkernel as well as the included system plugins are almost independent of libraries from other manufacturers. This is intended because the microkernel can be included as a library in normal client and server programs. A dependency on other software would only make integration more difficult, and the advantages of a microkernel would be lost.
The following third-party libraries are used:
|Library||Vendor||Size in KBytes|
Together, that's just over 40 KBytes (!) of third-party libraries.
One effect of this small size is the high speed at startup of the node. A central system node with various central registries and TCP servers starts in about 400 ms. A UI node including Swing needs about 600 ms from the first to the last log message.