|
Key
This line was removed.
This word was removed. This word was added.
This line was added.
|
Changes (88)
View Page HistoryThis model is composed of following elements:
* {{busses}}, the set of PEetals ESB busses to deploy,
** {{machines}}, a list of {{machine}} on which the current Petals ESB busses will be running,
** {{component-instances}}, the component instances require by service unit instances to deploy,
** {{component-instances}}, the component instances require by service unit instances to deploy,
** * {{bus}}, a Petals ESB bus to deploy, with:
*** {{service-unit-instances}}, the service unit instances to deploy,
*** {{topology-instance}}, the topology instance on which the Petals ESB bus will be deployed
*** {{component-instances}}, the component instances require by service unit instances to deploy,
* {{machine}}, a machine on which a part of a Petals ESB bus will be running:
** {{id}}, identifier of the machine used as reference key for {{container-instance}} and {{hazelcast-registry-member-instance},
** several types of machines are supported:
*** {{provisioned-machine}}, a provisioned machine as a physical machine or a virtual machine already existing:
**** {{hostname}}, hostname, IP address or [deployment property|#deployment_properties] name for the current provisioned machine,
*** {{docker-container}}, a Docker container running a Petals ESB component:
**** {{docker-host-hostname}}, hostname, IP address or [deployment property|#deployment_properties] name of the Docker host on which the Docker container will be started,
**** {{docker-host-port}}, port or [deployment property|#deployment_properties] of the Docker daemon of the Docker host on which the Docker container will be started,
* {{topology-instance}}, the topology instance associated to the topology defined in the topology object model,
** {{domain-name}}, domain name of the Petals ESB bus. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [topology|#topologyObjectModel] object will be used,
** {{id}}, identifier of the machine used as reference key for {{container-instance}} and {{hazelcast-registry-member-instance},
** several types of machines are supported:
*** {{provisioned-machine}}, a provisioned machine as a physical machine or a virtual machine already existing:
**** {{hostname}}, hostname, IP address or [deployment property|#deployment_properties] name for the current provisioned machine,
*** {{docker-container}}, a Docker container running a Petals ESB component:
**** {{docker-host-hostname}}, hostname, IP address or [deployment property|#deployment_properties] name of the Docker host on which the Docker container will be started,
**** {{docker-host-port}}, port or [deployment property|#deployment_properties] of the Docker daemon of the Docker host on which the Docker container will be started,
* {{topology-instance}}, the topology instance associated to the topology defined in the topology object model,
** {{domain-name}}, domain name of the Petals ESB bus. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [topology|#topologyObjectModel] object will be used,
*** {{registry-instance}}, the instance of the registry to used in the topology,
*** {{container-instances}}, the instances of Petals ESB containers forming the Petals ESB bus,
*** {{machines}}, a list of {{machine}} on which the current Petals ESB bus is running,
** {{machine}}, a machine on which a part of the Petals ESB bus is running:
*** {{id}}, identifier of the machine used as reference key for {{container-instance}} and {{hazelcast-registry-member-instance},
*** several types of machines are supported:
**** {{provisioned-machine}}, a provisioned machine as a physical machine or a virtual machine already existing:
***** {{hostname}}, hostname, IP address or [deployment property|#deployment_properties] name for the current provisioned machine,
**** {{docker-container}}, a Docker container running a Petals ESB component:
***** {{docker-host-hostname}}, hostname, IP address or [deployment property|#deployment_properties] name of the Docker host on which the Docker container will be started,
***** {{docker-host-port}}, port or [deployment property|#deployment_properties] of the Docker daemon of the Docker host on which the Docker container will be started,
** {{topology-instance}}, the topology instance associated to the topology defined in the topology object model,
*** {{domain-name}}, domain name of the Petals ESB bus. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [topology|#topologyObjectModel] object will be used,
** {{machine}}, a machine on which a part of the Petals ESB bus is running:
*** {{id}}, identifier of the machine used as reference key for {{container-instance}} and {{hazelcast-registry-member-instance},
*** several types of machines are supported:
**** {{provisioned-machine}}, a provisioned machine as a physical machine or a virtual machine already existing:
***** {{hostname}}, hostname, IP address or [deployment property|#deployment_properties] name for the current provisioned machine,
**** {{docker-container}}, a Docker container running a Petals ESB component:
***** {{docker-host-hostname}}, hostname, IP address or [deployment property|#deployment_properties] name of the Docker host on which the Docker container will be started,
***** {{docker-host-port}}, port or [deployment property|#deployment_properties] of the Docker daemon of the Docker host on which the Docker container will be started,
** {{topology-instance}}, the topology instance associated to the topology defined in the topology object model,
*** {{domain-name}}, domain name of the Petals ESB bus. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [topology|#topologyObjectModel] object will be used,
** * {{container-instance}}, the instance of a Petals ESB container defined in the topology object model:
*** {{reference}}, reference to a {{container}} of the [topology object model|#topologyObjectModel],
*** {{machine-reference}}, the reference of the machine on which the current Petals ESB Container is running,
*** {{jmxPort}}, port JMX of the current Petals ESB container. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [referenced container|#topologyObjectModel] object will be used,
*** {{jmxUser}}, JMX username of the current Petals ESB container. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [referenced container|#topologyObjectModel] object will be used,
*** {{jmxPassword}}, JMX password of the current Petals ESB container. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [referenced container|#topologyObjectModel] object will be used,
** * {{service-unit-instance}}, an instance of a service unit running on a Petals ESB container:
*** {{reference}}, reference to a {{service-unit}} of the [service-units object model|#serviceUnitsObjectModel],
*** {{container-reference}}, reference to a {{container}} of the [topology object model|#topologyObjectModel],
*** {{placeholder-instances}}, the set of {{placeholder-instance}} that must be applied to the current service-unit instance to set the right placeholder values. Optional,
** * {{placeholder-instance}}, an instance of placeholder to define its value:
*** {{reference}}, reference to a {{placeholder}} of the [service-units object model|#serviceUnitsObjectModel],
*** {{value}}, value to set to the current placeholder,
** * {{component-instance}}, a component instance requires by a service unit:
*** {{id}}, the identifier of this component in the model. Must be the same than the component id of a service unit of the [service-units object model|#serviceUnitsObjectModel],
*** {{reference}}, reference to a {{component}} of the [component repository model|#componentRespositoryModel],
*** {{sharedLibraryReferences}}, reference to a set of shared libraries of the [component repository model|#componentRespositoryModel] used to override the shared library definition of the associated component. These shared libraries will be added to the ones already refereced ate component definition level. Optional,
*** {{parameter-instances}}, the set of {{parameter-instance}} used to configure the current component instance. Optional,
** * {{parameter-instance}}, an instance of configuration parameter to define its value:
*** {{reference}}, reference to a {{parameter}} of the component in the [component respository model|#componentRepositoryModel],
*** {{value}}, value to set to the current parameter,
** * {{hazelcast-registry-instance}} defines the registry instance of the current Petals ESB bus as a Petals ESB Hazelcast Registry instance:
*** {{reference}}, the reference of the Petals ESB Hazelcast Registry in the [topology object model|#topologyObjectModel],
*** {{group-name}}, name identifying the Petals ESB Hazelcast Registry instance inside the Hazelcast cluster. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [referenced Petals ESB Hazelcast Registry|#topologyObjectModel] object will be used,
*** {{group-password}}, password of the Petals ESB Hazelcast Registry instance. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [referenced Petals ESB Hazelcast Registry|#topologyObjectModel] object will be used,
*** {{member-instances}}, list of member instances ({{hazelcast-registry-member-instance}}) composing the current Petals ESB Hazelcast Registry instance,
** * {{hazelcast-registry-member-instance}}, a member of the current Petals ESB Hazelcast Registry instance:
*** {{reference}}, the reference of the member of the Petals ESB Hazelcast Registry in the [topology object model|#topologyObjectModel],
*** {{host-machine}}, the reference of the machine on which the current Petals ESB Hazelcast Registry is running,
*** {{port}}, the communication port of the current member instance. A [deployment property|#deployment_properties] can be used. Optional, if not set, the value defined by the [referenced Petals ESB Hazelcast Registry member|#topologyObjectModel] object will be used.
h2. Component Repository Model
* A bus object model always imports at least one topology object model, or includes it,
* A bus object model always imports at least one component repository model, or includes it,
* A bus object model always imports at least one component repository model, or includes it,
* A bus object model contains at least one machine,
* A bus instance always refers to one topology object,
* A bus instance must contain at least one machine,
* A topology instance of a bus instance declares as many container instances as there are containers defined in the associated topology object,
* A topology instance of a bus instance declares as many Petals ESB Hazelcast Registry member instances as there are Petals ESB Hazelcast Registry member defined in the associated topology object,
* A topology instance of a bus instance declares as many Petals ESB Hazelcast Registry member instances as there are Petals ESB Hazelcast Registry member defined in the associated topology object,
* In a bus object model:
** two service units can refer to a same component with two different configurations if the service unit instances use two different component instances referencing a same component,
** two service units can refer to a same component with two different configurations if the service unit instances use two different component instances referencing a same component,
Example of a distributed topology object model:
{code:lang=xml}
{code:lang=xml}
<topology xmlns="http://petals.ow2.org/deployer/models/topology.om/1.0" targetNamespace="http://petals.ow2.org/deployer/sample-distributed.tom">
id="bi-containers"
default-domain-name="PEtALS">
default-domain-name="PEtALS">
<containers>
<container id="cont-0" />
<container id="cont-0" />
Example of a bus based on a standalone topology:
{code:lang=xml}
{code:lang=xml}
<busses
xmlns="http://petals.ow2.org/deployer/models/bus.om/1.0"
xmlns:suom="http://petals.ow2.org/deployer/sample.suom"
xmlns:suom="http://petals.ow2.org/deployer/sample.suom"
</machines>
<topology-instance> <bus>
<topology-instance ref="tom:bi-containers">
<container-instances>
<container-instance ref="tom:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
<container-instances>
<container-instance ref="tom:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
<container-instances> </topology-instance>
<container-instance ref="tom:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
</topology-instance>
</container-instances>
</topology-instance>
<service-unit-instances>
<service-unit-instance ref="suom:su-filetransfer-consume" container-ref="tom:cont-0" />
<service-unit-instance ref="suom:su-filetransfer-provide" container-ref="tom:cont-0" />
</service-unit>
<service-unit-instance ref="suom:su-filetransfer-consume" container-ref="tom:cont-0" />
<service-unit-instance ref="suom:su-filetransfer-provide" container-ref="tom:cont-0" />
</service-unit>
<service-unit-instances> </bus>
<service-unit-instance ref="suom:su-filetransfer-consume" container-ref="tom:cont-0" />
<service-unit-instance ref="suom:su-filetransfer-provide" container-ref="tom:cont-0" />
</service-unit>
<service-unit-instance ref="suom:su-filetransfer-provide" container-ref="tom:cont-0" />
</service-unit>
</busses>
{code}
Example of a bus based on a distributed topology:
{code:lang=xml}
Example of a bus based on a distributed topology:
{code:lang=xml}
<busses
xmlns="http://petals.ow2.org/deployer/models/bus.om/1.0"
xmlns:suom="http://petals.ow2.org/deployer/sample.suom"
xmlns:suom="http://petals.ow2.org/deployer/sample.suom"
</machines>
<topology-instance domain-name="PEtALS">
<bus>
<topology-instance ref="tom:bi-containers">
<topology-instance ref="tom:bi-containers">
<hazelcast-registry-instance group-name="default-sample" group-password="s3cr3t">
<hazelcast-registry-member-instances>
<hazelcast-registry-member-instance machine-ref="machine-02" port="7900" />
</hazelcast-registry-member-instances>
<hazelcast-registry-member-instance machine-ref="machine-02" port="7900" />
</hazelcast-registry-member-instances>
<hazelcast-registry-member-instances> </hazelcast-registry-instance>
<hazelcast-registry-member-instance machine-ref="machine-02" port="7900" />
</hazelcast-registry-member-instances>
</hazelcast-registry-instance>
</hazelcast-registry-member-instances>
</hazelcast-registry-instance>
<container-instances>
<container-instance ref="tom:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
<container-instance ref="tom:cont-1" machine-ref="machine-01" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
<container-instance ref="tom:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
<container-instance ref="tom:cont-1" machine-ref="machine-01" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
<container-instances> </topology-instance>
<container-instance ref="tom:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
<container-instance ref="tom:cont-1" machine-ref="machine-01" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
</topology-instance>
<container-instance ref="tom:cont-1" machine-ref="machine-01" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
</topology-instance>
<service-unit-instances>
<!-- Service unit deployed on container 'cont-0' -->
<service-unit-instance ref="suom:su-filetransfer-consume" container-ref="tom:cont-0" />
<service-unit-instance ref="suom:su-filetransfer-provide" container-ref="tom:cont-0" />
<!-- Service unit deployed on container 'cont-1' -->
<service-unit-instance ref="suom:su-filetransfer-consume" container-ref="tom:cont-1" />
<service-unit-instance ref="suom:su-filetransfer-provide" container-ref="tom:cont-1" />
</service-unit>
</service-unit> </bus>
</busses>
{code}
Example of a bus based on a standalone topology:
{code:lang=xml}
{code:lang=xml}
<busses
xmlns="http://petals.ow2.org/deployer/models/bus.om/1.0"
xmlns:tns="http://petals.ow2.org/deployer/sample-standalone.bom"
xmlns:tns="http://petals.ow2.org/deployer/sample-standalone.bom"
</suom:service-units>
<tom:topology xmlns:tom="http://petals.ow2.org/deployer/models/topology.om/1.0">
<topologies>
<tom:topology xmlns:tom="http://petals.ow2.org/deployer/models/topology.om/1.0"
id="standalone"
default-domain-name="PEtALS">
<containers>
<container id="cont-0" />
</containers>
<tom:topology xmlns:tom="http://petals.ow2.org/deployer/models/topology.om/1.0"
id="standalone"
default-domain-name="PEtALS">
<containers>
<container id="cont-0" />
</containers>
<containers> </tom:topology>
<container id="cont-0" />
</containers>
</containers>
</tom:topology> </topologies>
<machines>
</machines>
<topology-instance domain-name="PEtALS">
<bus>
<topology-instance ref="tom:standalone">
<container-instances>
<container-instance ref="tns:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
<topology-instance ref="tom:standalone">
<container-instances>
<container-instance ref="tns:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
<container-instances> </topology-instance>
<container-instance ref="tns:cont-0" machine-ref="machine-00" jmx-port="7700" jmx-user="petals" jmx-password="petals"/>
</container-instances>
</topology-instance>
</container-instances>
</topology-instance>
<service-unit-instances>
<service-unit-instance ref="tns:su-filetransfer-consume" container-ref="tns:cont-0" />
<service-unit-instance ref="tns:su-filetransfer-provide" container-ref="tns:cont-0" />
</service-unit>
<service-unit-instance ref="tns:su-filetransfer-consume" container-ref="tns:cont-0" />
<service-unit-instance ref="tns:su-filetransfer-provide" container-ref="tns:cont-0" />
</service-unit>
<service-unit-instances> </bus>
<service-unit-instance ref="tns:su-filetransfer-consume" container-ref="tns:cont-0" />
<service-unit-instance ref="tns:su-filetransfer-provide" container-ref="tns:cont-0" />
</service-unit>
<service-unit-instance ref="tns:su-filetransfer-provide" container-ref="tns:cont-0" />
</service-unit>
</busses>
{code}