IBM WebMethods: From Customization to Connector
It took less than a year for IBM to break backward compatibility for custom Node.js actions. I brooded over this back in 2024, trying to find a workaround.
Specifically, the new release of the IBM webMethods Integration has significantly reduced the list of supported modules for the custom NodeJS component.
While I'm not really concerned about "evernote" (??), "bluebird", and "lodash", I wonder what's wrong with crypto functions or safe JSON stringify processing. In my case, I care only for the module Crypto, specifically HMAC validations. After a quick research, including an AI consultation, it looks like I have three options:
- Drop message validation and accept all WebHook requests.
- Implement HMAC validation, using pure Node.js code.
- Create a custom Ghost connector and introduce header validation and secrets.
My federal background won't allow me to sleep at night if I keep the webhook unsecured; rewriting the C code in Node.js is not as crazy as it sounds, but the goal wouldn't be worth the effort. So, Custom connector, here I go.
The start sounds simple enough:
- Install Node Version Manager, since you need the v18.12.1 LTS.
- Use npm to install the webMethods.io CLI Connection Builder - wmio
- Log in to your environment, using your username and API Key
- Create a new connector using the wmio init command.
I'll keep you posted on the progress, but this situation only underscores my point: In an integration project, always choose configuration over code. If you can't avoid it, make sure it has as few code dependencies as possible.
If your integration has a lot of custom code, consider revisiting and rethinking the connection points, or start shopping for a different solution.