IBM WebSphere DataPower Deploy Configuration Project

An IBM WebSphere DataPower project to deploy sub-domain level configuration to downstream environments.

Project overview.

Here is a summary of what this project will achieve.

This project is designed to deploy a sub-domain level configuration to multiple DataPower domains. In this example a dummy Multi-Protocol Gateway is deployed. For the purposes of this demonstration all target domains are configured on the same device. Yo may wish to alter the configuration to make it more realistic, by changing the configuration of each domain to be on different devices.

The project is preconfigured with four target domains, which will be created if they do not already exist.

Domain specific configuration items are changed between environments, by use of Data Dictionary items. The Port variable is changed in each environment configuration to prevent port clashes on the same device for multiple HTTP Front Side Handlers.

Prerequisites

  • RapidDeploy installed and running on Linux or Windows
  • A DataPower device to deploy to. You will need the DataPower device address, XMI Port, Username and password connection details.
  • The server running RapidDeploy should have an agent running locally. For the default community installation this is the default behaviour.
  • The DataPower plugin must be installed into RapidDeploy from the Plugin Manager. After installing the plugin, please restart RapidDeploy.

What is preconfigured and demonstrated

The project demonstrates the following configurations:
  • A pre-exported sub-domain configuration (Multi-Protocol Gateway), parameterised per environment with a Data Dictionary property for the port of the front side handler associated with the gateway.
  • Search/Replace inside the zip file per domain, at deployment time to configure environment specific values (in this case @@PORT@@). You can see how this value is configured by navigating to the Environments panel in the DATAPOWER-RELEASE-COMPONENT project. View one of the environments and examine the entries from the  Dictionary  -> Data Dictionary menu item. Compare this to the value from another environment.
  • SearchReplaceTask task to perform dictionary value replacements insie the Zip file at deployment time, replacing with the actual port (Test1Domain is set to 82, Test2Domain is set to 84, Prod1Domain is set to 86, Prod2Domain is set to 88).
  • DataPowerCreateDomainTask task to create the domain in the target device if it doesn't already exist.
  • DataPowerObjectImportTask task to import the sub-domain object into the domain on the target device if it doesn't already exist, or modify the object if it does exist.
  • ZipTask task to unzip and zip the zip file containing the definition for the Multi-Protocol Gateway, before and after the search and replace operation.

How to use this project.

  1. Download the project to your desktop by clicking on one of the links. The file will be saved as DATAPOWER-RELEASE-COMPONENT.zip
  2. Log into your RapidDeploy instance as mvadmin.
  3. Navigate to Resources-> Projects.
  4. In the top right hand corner click on the Upload Project button.
  5. Select the zip file you downloaded in step 1.
  6. You are guided through a project import wizard. The important thing to check and change (if necessary) here is the path to the project storage directory.
  7. Once the project is imported, there are a couple of things you'll need to do.
    • Firstly, you will need to change the connection details for the DataPower devices that were imported with the project. These values are set in the orchestration task list to data dictionary items, as they may vary between target doevices/domains. Navigate to Menu -> Resources ->  Projects and select the project link. On the Orchestration tab, click on the Data Dictionary sub-tab . From the list of items, change the @@deviceAddress@@ ,  @@username@@ and  @@password@@ to match your specific settings. If you leave them blank, you can enter the correct values as late property injection values at deployment time. These data dictionary items are set at project scope. They can be overridden at target scope if you are using different devices for each target. 

    • Then click Save. A dialog box will appear.  Click Save again.

    • Secondly, navigate to  Resources ->  Projects and edit the project. Navigate to the  Packages tab and click the  Create Package   button. A new package is created with a version number. This is the package you'll deploy later, containing all the environment definitions, actions and paylod ( export.zip ) to allow the jobs to be run on all defined servers.
  8. Now you can run a new job to the environment of your choice. 
    • Navigate to Jobs-> New Job
    • Double click on the 'Empty' project job box, and select the project you created earlier from the droplist. 
    • Select the Target  you want to deploy from the droplist. 
    • Select the  Version  (package version) you want to deploy from the droplist. 
    • Since there is only one package, it is preselected. The latest package will always be preselected by default. 
    • Click on the  Run  button in the bottom right corner, enter a comment for this run and click and click Yes 
    • The deployment is started. Click on the Running Jobs icon in the top right corner and you see the tasks executed and job log in real time.

Using your own configuration

  1. In your Datapower device console, navigate to the configuration you want to promote, and export it to your desktop as a zip file (export.zip)
  2. In RapidDeploy, Navigate to the DATAPOWER_RELEASE_COMPONENT_41 project. On the Files tab, highlight the dp directory. In the top right corner, click the Upload a file button. Upload the export.zip file.
  3. Create a new deployment package as above.
  4. Deploy this package to your downstream environments.
Further Reading
The following links will help you gain a deeper understanding of the IBM DataPower plugin and the other tasks used in this project:

Download this project!