Last Updated Jul 05, 2011 — DevOps Expert
XL Deploy integrated with DPAdmin for heterogeneous deployments to IBM DataPower appliances
DevOps
In a previous blog I talked about the integration we've achieved between XebiaLabs' XL Deploy and IBM's Workload Deployer (still called WebSphere CloudBurst Appliance at the time) to allow users to deploy Java EE packages straight to a private cloud environment managed by IBM Workload Deployer. An IBM developerWorks article with more details is in the publishing queue. When it's been published, I'll post a link here. In this blog, I'd like to discuss another integration we've been working on.IBM's WebSphere DataPower appliances are a family of appliances that provide valuable services for SOA architectures such as XML acceleration (XA35), XML security (XS40) and data integration/ESB (XI50). While the DataPower appliances provide a powerful web-based management GUI, they are not easy to automate. The only command line available is an interactive command line that requires you to telnet into the appliance and the other way to automate the system is a SOAP/XML based API that requires quite a lot of coding.
Luckily for us, iSOA Group has solved this problem by developing DPAdmin. DPAdmin has two modes of operation. The first is the interactive mode that allows you to to access the appliances for runtime support and troubleshooting without having to visit the web-based GUI. The second mode allows you to specify a script (in a format the reminiscent of an Ant build file) to be executed by DPAdmin. This script can invoke commands to do things like deploy services to a cluster, import a domain or upload files or folders. See the DPAdmin sample scripts for more information. When used stand alone, DPAdmin already gives the DataPower administrator a lot of power to manage the DataPower appliances. But we've also integrated this functionality into XL Deploy to make it as easy to deploy to IBM DataPower appliances as it is to deploy to IBM WebSphere Application Server.
So how does the integration work? Well, just like we did for the integration with IBM Workload Deployer (previously known as IBM WebSphere CloudBurst Appliance), we've written a XL Deploy plugin that extends the functionality of XL Deploy. The DataPower plugin for XL Deploy invokes the DPAdmin automation layer (called dpauto) to perform the deployment work on the IBM DataPower appliance. In this short walkthrough of the plugin, we will perform a domain import with XL Deploy.- The user creates a package containing a domain ZIP file. This ZIP file is an export of the domain from another appliance (say the development environment). In addition to the ZIP file, the user also specifies the name of the domain into which to import the ZIP file (TargetDomainNode2 in the screenshot below) and the name of the XML manager to use (default in the screenshot). For this demo we've done that manually but you could use DPAdmin to perform this action when building the other artifacts (EAR files, HTML files, etc.) of your application.
- The user defines an environment and adds the IBM DataPower appliance (blue in the screenshot below) to that environment.
- The user configures a deployment of the package he created in step 1 (DataPowerConfig/1.0) to the environment he created in step 2 (Blue) and maps the ZIP file to the appliance (the green arrow in the screenshot).
- The user presss the "Deploy" button in XL Deploy to start the deployment.
- XL Deploy invokes DPAdmin to start the domain import. Any output generated by DPAdmin is shown in the XL Deploy UI.
- DPAdmin imports the domain into the IBM DataPower appliance.
- And of course, if the package were to contain other, non-DataPower, artifacts, XL Deploy would deploy these as it does normally.