3.4.1. Loadable vs. Executable

A bundle can be loadable or executable.

Loadable bundles set environment variables within the current shell, including variables like PATH to influence what software is available. In the scenario presented earlier, the 'jdk' bundle is a loadable bundle. When the jdk bundle is loaded (by the use command), the environment variables JAVA_HOME and PATH are modified.

Executable bundles are created for software that is executed. An executable bundle typically implements commands like 'start', 'stop', and 'status' or simply 'run'. Executable bundles also typically require a 'work' directory for runtime files like configuration and logs. In the scenario presented earlier, the 'helloserver' is an executable bundle.

Loadable and executable bundles are treated differently by BundleWorks when they are deployed into an environment, as you will see in the section on deployments.