WSO2 Governance Registry ships with 3 standard executors.
- Service Version Executor - Versions Services and Dependent Resources during the Transition.
- Demote Action Executor - Performs a Demote Operation.
- Copy Executor - Copies Resources from one Location to Another.
Service Version Executor
The main functionality of this executor is to version services and dependent resources of services(WSDL, Schema and Policy) when a lifecycle promote action happens. There are three main environments, Development
, Testing
, and Production
which are available out-of-the-box, for which this executor can be used.
1. Initially, the service resource (and its dependencies) will be placed in the Development
(or trunk
) environment.
2. When promotion happens, a UI will be displayed for the user to provide new versions of the service and its dependent resources.
3. Once the user decides to Proceed
, the service and its dependencies are moved (or copied) to the Testing
(or branches/testing
) environment.
4. Once again, the user will be given the option to Promote from Testing
to Production
.
5. Once the user decides to Proceed
, the service and its dependencies are moved (or copied) to the Production
(or branches/production
) environment.
However, the default configuration might not always be the ideal, and users are given the option to tailor their environments using the following configuration.
<execution forEvent="Promote" class="org.wso2.carbon.governance.registry.extensions.executors.ServiceVersionExecutor"> <parameter name="currentEnvironment" value="/_system/governance/trunk/{@resourcePath}/{@resourceName}"/> <parameter name="targetEnvironment" value="/_system/governance/branches/testing/{@resourcePath}/{@version}/{@resourceName}"/> <parameter name="service.mediatype" value="application/vnd.wso2-service+xml"/> <parameter name="wsdl.mediatype" value="application/wsdl+xml"/> <parameter name="endpoint.mediatype" value="application/vnd.wso2.endpoint"/> <execution>
Note
One important fact to note about this executor is that it is mediatype aware and it works only for services.
Demote Action Executor
The Demote Action Executor does nothing but simply preserve the existing resource as it is during the operation of the transition. This is similar to a short-circuit that prevents any changes happening to the existing resource.
Copy Executor
The idea behind the Copy Executor is to support a basic Copy functionality for resources from one location to another. This executor has the ability to work with any mediatype and it is not mediatype aware.
The configuration of the copy executor is somewhat similar to the service version executor.
<execution forEvent="Promote" class="org.wso2.carbon.governance.registry.extensions.executors.CopyExecutor"> <parameter name="currentEnvironment" value="/_system/governance/e1"/> <parameter name="targetEnvironment" value="/_system/governance/e2"/> <execution>