In a previous blog I talked about the integration we've achieved between XebiaLabs' Deployit 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 folder. 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 Deployit 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 CloudBurst Appliance, we've written a Deployit plugin that extends the functionality of Deployit. The DataPower plugin for Deployit plugin 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 Deployit.
- 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 Deployit to start the deployment.
- Deployit invokes DPAdmin to start the domain import. Any output generated by DPAdmin is shown in the Deployit UI.
- DPAdmin imports the domain into the IBM DataPower appliance.
- And of course, if the package were to contain other, non-DataPower, artifacts, Deployit would deploy these as it does normally.
As you can see from the screenshots, Deployit and DPAdmin seamlessly integrate to give the user to power to perform DataPower deployments in exactly the same manner as his IBM WebSphere Application Server deployments or even his IBM WebSphere CloudBurst Appliance deployments. Or, going outside of the IBM stack, his deployments to Oracle WebLogic Sever, JBoss Application Server or Apache Tomcat. But, even better, this makes it possible to perform deployments to more than one of those platform at the same time in one go! For example within one deployment Deployit could copy HTML files to IBM HTTP Server, deploy Java EE artifacts to IBM WebSphere Application Server, and import a domain into an IBM DataPower appliance.
The upshot of all this is that the end user can perform one-click deployments of complex applications to heterogeneous environments without needing detailed knowledge of all those platforms. By extending the Deployit deployment automation platform with the IBM DataPower deployment features offered by DPAdmin, IBM DataPower deployments are easier than ever, allowing enterprises to fully exploit the many features of the IBM DataPower appliances.