A component only provides a set of services without knowing much about its surroundings. A component is not aware of the application that it encapsulates. Similarly a container is unaware of the content of the "application". The container views components working together in harmony without value judgments. An "application" is defined via the list of components (deployment.lst) accepted as input by the container. Modifying this list modifies the behavior of the application hosted in the container. This list along with the configuration for components makes up a "deployment profile". In other words, a deployment profile consists of a list of files (meant for deployment and configuration) organized in a pre-defined directory structure. A typical profile structure (on which the server hasn't been run) is shown below:
Directory |
Description |
certs |
Certificate indicating that the server is running in SSL. |
conf |
Database Configuration Files (*.properties and *.cfg). |
deploy |
*.lst files –comprises the list of components to be deployed in the container when this profile is in use. . |
deploy/services |
XML files defining dependencies and object names. |
run |
Directory created when profile is run initially. This becomes the default file-based database storage location of a profile. |
In other words, the FioranoMQ Server is an "application" that runs within a Container. The FioranoMQ Server consists of a number of components that provide varied functions such as: pubsub, ptp, admin, and so on. Modifying the deployment profile can alter the behavior of the server. It is possible to run a bridge or a repeater component along with the FioranoMQ Server within the same JVM. This is made possible by the compartmentalization of the components of bridge and repeater. FioranoMQ features such as the XA, can be turned Off or On by removing the corresponding components from the deployment profile.
Each Profile can be thought of as a separate and independent 'work-areas'. The data store and logs stored in the "run" folder are created when the server is launched for the first time.