This document describes the functionality provided by the Tibco Business Works plugin.
See the XL Deploy product description for background information on XL Deploy and deployment concepts.
The Tibco Business Work plugin is a XL Deploy plugin that adds capability for deploying :
Warning: Tibco BW domains running on Windows Machines are not well supported (so far)
tibco.Domain type has been splitted to new version of tibco.Domain and tibco.Node type. You should create and configure tibco.Node object within container with tibco.Domain object.
Extended properties tab allows to set java.extended.properties, Jmx.Enabled and other properties inside TRA-file.
Tra Map
parameter can be used to set any other properties. For example you need to enable jmxremote by adding following strings into TRA file
Jmx.Enabled=true
java.property.com.sun.management.jmxremote=true
java.property.com.sun.management.jmxremote.authenticate=false
java.property.com.sun.management.jmxremote.ssl=false
java.property.java.rmi.server.useLocalHostname=true
java.property.com.sun.management.jmxremote.port=55555
You should check Jmx Enable
checkbox and add java.property..
strings to Tra Map. Tra Map parameters also can be filled from dictionary. Key tibco.DeployedEar.TraMap
should have value java.property.com.sun.management.jmxremote:true, java.property.com.sun.management.jmxremote.authenticate:false, java.property.com.sun.management.jmxremote.ssl:false, java.property.java.rmi.server.useLocalHostname:true, java.property.com.sun.management.jmxremote.port:55555
in one string.
The tibco.Ear artifact should be created with configurationMap and configurationMapAdapterSDK properties
For example I'm using Jenkins XLD plugin
bash
jar xvf ${ADAPTER}-${VERSION}*.ear
PLACEHOLDERS=$(xmlstarlet sel -N _=http://www.tibco.com/xmlns/dd \
-t -v '/_:DeploymentDescriptors/_:NameValuePairs/_:*[_:requiresConfiguration="true"]/_:name' TIBCO.xml | xargs)
jar xvf Process\ Archive.par
SDK_PLACEHOLDERS=$(xmlstarlet sel -N _=http://www.tibco.com/xmlns/dd \
-t -v '/_:DeploymentDescriptors/_:*[_:name="Adapter SDK Properties"]/_:NameValuePair/_:name' TIBCO.xml | xargs)
for e in $PLACEHOLDERS
do
s="$e={{$e}}"
if [ "x${PMAP}" = "x" ]
then
PMAP=$s
else
PMAP="${PMAP}&${s}"
fi
done
for e in $SDK_PLACEHOLDERS do s="$e={{$ADAPTER/$e}}" if [ "x${SDK_PMAP}" = "x" ] then SDK_PMAP=$s else SDK_PMAP="${SDK_PMAP}&${s}" fi done
echo PMAP=${PMAP} > env.txt echo SDK_PMAP=${SDK_PMAP} >> env.txt
2. Then inject env.txt with [EnvInject Plugin](https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin)
3. Package application with XLD Jenkins plugin and assign '${PMAP}' to 'configurationMap' and '${SDK_PMAP}' to 'configurationMapAdapterSDK' properties
Preffixes can be used for configuration maps values. For example line `s="$e={{$ADAPTER/$e}}"` in my script just add adapter name as preffix to configurationMapAdapterSDK values.
And I can set different values to `bw.platform.services.retreiveresources.Httpport` properties for different adapters by `adapter1/bw.platform.services.retreiveresources.Httpport` and `adapter2/bw.platform.services.retreiveresources.Httpport` dictionary entries.
# Requirements #
* **XL Deploy requirements**
* **XLD**: version 4.5.1+
* The containers with tibco.Domain and tibco.Node objects should have:
* xmllint
* xmlstarlet
## Types ##
+ tibco.Ear
+ tibco.Domain
+ tibco.Node
+ tibco.Configuration
+ tibco.Queue
+ tibco.Topic
+ tibco.EmsScript
+ tibco.PrependLib
+ tibco.BwaaLib
+ tibco.BwaaAspect
# Sample computed task #
This is below a typical computed task by the Tibco Business Work plugin during an upgrade.
![Deployment task](images/update-task.png)