Fabric3 is designed to run in a variety of environments and provide application portability between them. This is important for flexibility when deploying into different production environments but also essential for effective iterative development. Fabric3 supports running applications out-of-container, in an integration test environment, or in a managed environment such as a JEE application server with minor configuration changes. This provides an efficient and automated mechanism for conducting local testing, integration testing, and production deployment. The following are brief descriptions of the available Fabric3 runtimes:
The runtime image is organized as:
/bin |
|
|
|
|
Startup modules |
|
/lib |
|
|
|
|
Modules required to start the runtime host |
|
/boot |
|
|
|
|
Modules required for the runtime bootstrap and primordial system services |
|
/host |
|
|
|
|
Libraries shared between the runtime and application (e.g. web services annotations) |
|
/extensions |
|
|
|
|
Extension modules that are able to be loaded by all runtime instances |
|
/runtimes |
|
|
|
|
Specific runtime instance configuration is hosted by default under this directory |
|
|
<runtime-name> |
|
|
top level directory for a runtime configuration |
|
|
|
|
/config |
|
|
Contains systemConfig.xml for configuring the runtime and extensions |
|
|
|
/deploy |
|
|
File system deploy directory for the controller and single-VM runtimes |
|
|
|
/repository |
|
|
|
|
|
|
|
/runtime |
|
Extensions only loaded for the runtime image |
|
|
|
|
/user |
|
User contributions (only populated on the controller and single-VM runtimes) |
|
|
|
/data |
|
|
Persistent data directory for a runtime instance (e.g. transaction log) |
|
|
|
/tmp |
|
|
Temporary data and artifact cache for a runtime instance |
|
For basic startup, the runtime name is required, which maps to a configuration under runtimes:
java -jar server.jar controller |
launches a runtime using the runtimes/controller image |
java -jar server.jar vm |
launches a runtime using the runtimes/vm image |
java -jar server.jar participant |
launches a runtime using the runtimes/participant image |
java -jar server.jar foo |
launches a custom runtime using the runtimes/foo image |