|
Key
This line was removed.
This word was removed. This word was added.
This line was added.
|
Changes (27)
View Page HistoryPetals ESB Deployer *1.0.0* is provided with [Petals ESB CLI *3.2.0*|petalsclisnapshot:Petals ESB CLI 3.2.0-SNAPSHOT].
{warning}
{warning}
{column}
{column:width=40%}
{column:width=40%}
In the first step of a project, developers will use a standalone topology running on their computer as following. The external web-service is provided by ressource {{host-dev-ws-0}} and must be configured at service unit 'SU P#1' level:
!deployment-samples-classic-DEV.png|width=40%%,align=center!
h4. 2nd step: testing
* {{host-test-2}} for the unique Petals ESB Hazelcast Registry member,
* {{host-test-ws-0}} hosts the external web-service resource that must be configured at service unit 'SU P#1' level.
* {{host-test-ws-0}} hosts the external web-service resource that must be configured at service unit 'SU P#1' level.
!deployment-samples-classic-TEST.png|width=40%%,align=center!
h4. 3rd step: pre-production validation
* {{host-prep-4}} and {{host-prep-5}} where are running the Petals ESB Hazelcast Registry members,
* {{host-prep-ws-0}} hosts the external web-service resource that must be configured at service unit 'SU P#1' level.
* {{host-prep-ws-0}} hosts the external web-service resource that must be configured at service unit 'SU P#1' level.
!deployment-samples-classic-PRE-PROD.png|width=40%%,align=center!
h4. 4th step: production deployment
If no problem has been detected in pre-production stage, the project is deployed on the production environment with the same topology and the same service-units than the one of the pre-production environment, except machines and few parameters:
* {{host-prod-0}}, {{host-prod-1}}, {{host-prod-2}} and , {{host-prod-3}} where are running Petals ESB containers,
* {{host-prod-4}} and {{host-prod-5}} where are running the Petals ESB Hazelcast Registry members,
* {{host-prod-ws-0}} hosts the external web-service resource that must be configured at service unit 'SU P#1' level.
* {{host-prod-0}}, {{host-prod-1}}, {{host-prod-2}} and , {{host-prod-3}} where are running Petals ESB containers,
* {{host-prod-4}} and {{host-prod-5}} where are running the Petals ESB Hazelcast Registry members,
* {{host-prod-ws-0}} hosts the external web-service resource that must be configured at service unit 'SU P#1' level.
!deployment-samples-classic-PROD.png|width=40%%,align=center!
h3. Upgrade of a existing Petals ESB bus
** some existing service-units to undeploy,
* on a topology that can be also upgraded.
* on a topology that can be also upgraded.
!deployment-samples-upgrading.png|width=60%%,align=center!
h3. Isolating partners using several Petals ESB bus
All Petals ESB buses are deployed in the same time, only one deployment for all Petals ESB buses. Adding or removing a partner is as an upgrade of the ESB of the organisation.
!deployment-samples-partners-isolation.png|width=60%%,align=center!
h1. Modeling your deployments
Petals ESB Deployer is based on a model defining your Petals ESB bus to deploy. This model contains all components and their configurations forming your Petals ESB bus.
The model of your Petals ESB bus is composed of 3 4 separated parts whose each goal is different:
* a 1st model defines the *applicative content* of your Petals ESB bus. The *Service-units Object Model* lists all service-units that must be deployed into your Petals ESB bus,
* a 2nd model defines the *topologic architecture* of your Petals ESB bus. The *Topology Object Model* designs your Petals ESB bus topology,
* a 2nd model defines the *topologic architecture* of your Petals ESB bus. The *Topology Object Model* designs your Petals ESB bus topology,
* where its archive can be found,
* which are its configuration parameter,
* which are its configuration parameter,
* and, which shared libraries are required.
The *Component Repository Model* is not dedicated to your Petals ESB bus. It can be easily reused. Each Petals ESB distribution pack includes such a model for all components that delivers.
{anchor:serviceUnitsObjectModel}
h2. Service-units Object Model
{anchor:topologyObjectModel}
h2. Topology Object Model
{anchor:busObjectModel}
h2. Bus Object Model
* Petals ESB Hazelcast Registry member on its machine.
This model will be mainly written by the Petals ESB bus architect in agreement with operators.
!busObjectModel.png!
** {{url}}, the URL of the associated archive,
** {{parameters}}, a set of parameters to configure the component,
** {{parameters}}, a set of parameters to configure the component,
** {{sharedLibraryReferences}}, a set of shared library references that the component requires. Optional,
* {{parameter}}, a configuration parameter of a component:
** {{name}}, the configuration parameter name as declared in the JBI descriptor of the component. A value can be associated to this parameter in a [bus object model|#busObjectModel],
** {{name}}, the configuration parameter name as declared in the JBI descriptor of the component. A value can be associated to this parameter in a [bus object model|#busObjectModel],
{anchor:deployment_properties}
h2. Deployment properties
Deployment properties can be used in models to specify the following elements:
* in the service units object model:
Deployment properties can be used in models to specify the following elements:
* in the service units object model:
** a default value of a placeholder
* in the topology object model:
** default values of Petals ESB container parameters,
** default values of Petals ESB container parameters,
</service-units>
{code}
{code}
h4. Writing a service units object model
<!-- Import of the service unit object model -->
<import namespace="http://petals.ow2.org/deployer/sample.suom" location="sample.suom"
importType="http://petals.ow2.org/deployer/models/service-units.om/1.0">
<!-- Import of the component repository model -->
<!-- Import of the component repository model -->
<import namespace="http://petals.ow2.org/deployer/sample.crm" location="sample.crm"
importType="http://petals.ow2.org/deployer/models/components.rm/1.0">
<!-- Import of the topology object model -->
<!-- Import of the topology object model -->
<import namespace="http://petals.ow2.org/deployer/sample-standalone.tom" location="sample-standalone.tom"
importType="http://petals.ow2.org/deployer/models/topology.om/1.0">
<!-- Import of the service unit object model -->
<import namespace="http://petals.ow2.org/deployer/sample.suom" location="sample.suom"
importType="http://petals.ow2.org/deployer/models/service-units.om/1.0">
<!-- Import of the component repository model -->
<!-- Import of the component repository model -->
<import namespace="http://petals.ow2.org/deployer/sample.crm" location="sample.crm"
importType="http://petals.ow2.org/deployer/models/components.rm/1.0">
<!-- Import of the topology object model -->
<!-- Import of the topology object model -->
<import namespace="http://petals.ow2.org/deployer/sample-distributed.tom" location="sample-distributed.tom"
importType="http://petals.ow2.org/deployer/models/topology.om/1.0">
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"
targetNamespace="http://petals.ow2.org/deployer/sample-standalone.bom">
<!-- Import of the component repository model coming from Petals ESB -->
<!-- Import of the component repository model coming from Petals ESB -->
<import namespace="http://petals.ow2.org/deployer/sample.crm" location="classpath:petals-component-repository.xml"
importType="http://petals.ow2.org/deployer/models/components.rm/1.0">
[Petals ESB Deployer 1.0.0^petals-deployment-model.zip]
h2. Example project