webMethods

webMethods

Join this online group to communicate across IBM product users and experts by sharing advice and best practices with peers and staying up to date regarding product enhancements.

 View Only

Promotion of Develop anywhere Deploy Anywhere assets on different stages on webMethods.io Integration 

11 days ago

Introduction

This article will explain how we can promote the assets from lower tenants to higher tenants on webMethods.io Integration.

Pre-requisite

webMethods.io Integration tenant with DADA capabilities enabled

Audience

 This article is targeted for Integration architects and developers of webMethods.

What is Develop Anywhere and Deploy Anywhwere?

https://community.ibm.com/community/user//integration/blogs/john-carter/2023/10/20/what-is-develop-anywhere-deploy-anywhere

What is Integration runtime?

https://community.ibm.com/community/user/integration/blogs/theo-ezell/2025/03/07/develop-anywhere-deploy-anywhere-what-are-integrat

Use case

In our case we have developed some assets, including flow services and APIs built on cloud and imported IS packages built on premise. Some of these assets invokes the packages (developed on self-hosted setup and imported on cloud using DADA capabilities).

Steps to be followed for stage promotion

·       Analyze the assets what needs to be deployed.

·       Setup Version control

·       Review the applied manifest file

·       Create the custom edge runtime image

·       Generate the lifetime token

·       Instantiate the image on targe tenant

·       Publish and deploy the assets from source tenant

·       Configure the connections .

·       Upload any third party jars if required.

·       Sync the connection details.

·       Execute the applications

Analyze the assets Developed

In our use case we are ready to deploy the below developed assets to the target tenants.

Flow service

REST API

Package service

A diagram of a web method

AI-generated content may be incorrect.

Setup version control

·       Version control should be configured. Refer the document link for more details

Link: https://www.ibm.com/docs/en/wm-integration/11.0.11?topic=repositories-about-git

·       In our use case we are using the git repo therefore we setup the GitHub external for version control.

·       External repo should be configured on target tenant using the version control user.

·       Packages should be pulled.

Instantiate the edge runtime

When we do the setup on dev tenant then we do pull the assets from the external repo and then sync those assets to the edge runtime.

Why we should built custom image?

Instead of pushing the assets manually to the target tenant we will create the image using the agent manifest file of edge runtime and this custom image will have all the assets available required to run the application.

Creating image and using across the environment is automated approach. This will eradicate the chances of missing the assets or any configuration

Create custom Edge runtime image

 

              Download the agent manifest file

·       To understand what all the assets are required we need to verify the applied manifest file.

·       We can download the diagnostic data from ERT which contains the applied manifest file.

     

             

Extract the zip file and open the appliedmanifest file.

A screenshot of a computer

AI-generated content may be incorrect.

This file has multiple sections.

Packages: In this section we can see all the custom packages and their system packages required to run the package service

Security: In this section we see secret information in encrypted format like credentials and other details

Configurations: In this section we will see all the configurations we have set while configuring the connector. For example in our use case we are using the JDBC adapter so we can see configuration value related to it.

From the above manifest file we understood that we need couple of assets in our ERT

WmJDBCAdapter     - system package

HealthSystem – custom package

Build Docker Image

  • We need a docker image with WPM client. This WPM client will be responsible for pulling the packages from external repo and package registry.

  • And now when we have base image ready with WPM client installed then we will create the new image having all the packages installed.

Dockerfile with WPM client

FROM ibmwebmethods.azurecr.io/webmethods-edge-runtime:11.0.11

ADD --chown=sagadmin:sagadmin wpm /opt/softwareag/wpm

ENV PATH=/opt/softwareag/wpm/bin:$PATH

Command to create the image: docker build -t <anyName> .

docker build -t  wpmcustomimage .

 

In our case image name is: wpmcustomimage

Dockerfile with custom package installed

FROM wpmcustomimage:latest

WORKDIR /opt/softwareag/wpm

RUN /opt/softwareag/wpm/bin/wpm.sh install -ws https://packages.webmethods.io -wr licensed -j <jwt token> WmJDBCAdapter:v10.3.2.21

RUN /opt/softwareag/wpm/bin/wpm.sh install -u <username> -p <pat token> -r https://hostname/<username> HealthSystem

WORKDIR /

Command to create the image: docker build -t <anyName> .

docker build -t  healthsystemcustomimage .

Generate the lifelong token

  • Navigate to the settings  and select the OAuth 2.0 tab.

  • Click on token management and create Add new token.
  • Select your ERT and set the expiry of token as “lifetime”.
  • Click on generate token.

  • Copy the token and save it for instantiating the ERT image.

Spin the image on target tenant

  • Create yaml file
  • Configure the life long token generated from last step

Publish and Deploy

  • As the ERT is running on our target tenant, we can now publish the assets from source to Target.
  • In our case our project name is “ABCHealthsystem”. Select the project and publish it from UI.
  • Once we publish the assets to target tenant. Now when we deploy the asset , flow services will get deployed to Integration server, package services to edge runtimes (ERT) and REST API to IBM webMethods cloud runtime.

A diagram of a web method

AI-generated content may be incorrect.

Configure the connections

  • Now when the ERT is provisioned. Configure the connections and sync the connection information .

A screenshot of a computer

AI-generated content may be incorrect.

A screenshot of a computer

AI-generated content may be incorrect.

A screenshot of a computer

AI-generated content may be incorrect.

Upload jars

  • Upload the jar file if any. In our case we have the jar file required to setup the connection with JDBC.

A screenshot of a computer

AI-generated content may be incorrect.

End to End Testing

A computer screen shot of a browser window

AI-generated content may be incorrect.

Statistics
0 Favorited
9 Views
0 Files
0 Shares
0 Downloads