FlexDeploy provides a rich plugin for SoftwareAG webMethods application build and deployment automation.
webMethods has its out of box webMethods Deployer component which allows users to deploy a wide variety of webMethods assets to ESB, Trading Networks, MWS, CAF, BPM, UM, CAF, TASKS, Users, Groups, Roles, ACLs, Server configurations, properties etc, which reside on source webMethods runtimes or repositories to target webMethods runtime components.
The challenges are:
- It requires manual activities to configure the project in webMethods Deployer and deploy the same into target environment.
- The need to manually create project and deploy increases the risk of human error and other outages.
- It is time consuming and complicated which can cause releases to be delayed.
- Large initiatives may have complex test scenarios and the development server will not serve as a reliable source.
To compound the difficulties, the use of Source Control Management (SCM) is often bypassed to expedite deployments. This type of deployment architecture is also not well suited for small, repetitive test iterations.
Fortunately, webMethods offers capabilities to support the four major Continuous Integration (CI) components:
- Source control integration – Designer Workstation with SCM
- Automated build – Asset Build Environment
- Automated deployment – Project Automator and Deployer Command Line Facility
- Automated unit testing – WmTestSuite
Nevertheless webMethods has a dependency on external tools to orchestrate all the above capabilities to implement CI and the broader CD (Continuous Delivery) process.
FlexDeploy supports webMethods to implement CI using the webMethods Asset Build Environment, Deployer components.
FlexDeploy helps automate your webMethods Integration Server development needs with simple configurations. No scripting needed. It is one tool that helps end to end.
- Shorter release cycles
- Repeatable releases
- Consistency across environments
- End to end Traceability and Visibility
- Version based Build management
- Scheduling release automation
- Pipeline and Release Management
Source Control Management
FlexDeploy integrates with your SCM tools like GIT, SubVersion, TFS, Clear Case etc. and helps with establishing the branching strategy that suites your needs.
Looking at Topology configuration for Development environment for webMethods, FlexDeploy automatically provides property forms for webMethods once FlexDeploy instance is configured (Integration Server instance in this case). Administrators will configure webMethods Deployer server values as shown in the below screen. The webMethods plugin will use these property values to deploy the package into the specific target environment .
FlexDeploy has concept of Workflow to allow for visually creating build or deployment steps. Here is an example of webMethods IntegrationServer Package build workflow which includes preliminary step of check out the source code from the SCM, then build the package as a ZIP file, and place them into an internal artifacts repository ready for deployment across environments.
You can build all your webMethods IntegrationServer packages with FlexDeploy with one click. FlexDeploy supports build automation with the help of webMethods Asset Build Environment script to generate build out of source code. As you see in the below screen, just click on the Build button and select the environment where the build will run and click Submit Request.
You can view the complete execution details and logs by clicking on the execution id. Execution details will display the details including who initiated the request, when, and what are the steps executed during the build as shown below.
Developers can submit a request for deployment manually with one click or schedule the deployment to execute without manual intervention. There is no manual activity either to create project Automator xml with input values or to create projects in webMethods Deployer anymore!
To start a deployment process, provide inputs for target environment properties as shown in the below screen. These values are referred by webMethods Deployer while deploying the assets into the respective target server by establishing the remote connections.
To request for a deployment, just click on the Deploy button and select the environment to which you would like to deploy and click Submit Request as shown below.
This operation initiates the following sub-processes that get executed internally.
- Generate the Project Automator XML file based on the given environment properties and build version selected.
- Automate the projects creation in webMethods Deployer using the ProjectAutomator script.
- Deploy the build file into Target environments by invoking webMethods Deployer command line script for the Wmdeployer project created in step 2.