Having worked a lot on configuration management topics since 2008, I am convinced that it is an extremely important part of any IT project. That is even more the case for integration scenarios, where by definition a lot of external components are in the game. Let’s therefore look at different aspects how WxConfig NG can be of great help there.
At the end of this article you will also find links to other posts about configuration management in general and WxConfig NG in particular.
Links to additional articles about WxConfig NG and configuration management
The current situation
While understanding future requirements is important, it is at least as relevant to look at the status quo. How you are doing configuration management at the moment can have a significant impact on the decision how to move forward.
We will now go over the most common scenarios and determine how WxConfig NG can help.
No configuration management
A surprisingly common situation is that no configuration management is in place at all. People usually have resorted to just hard-coding values. That can work. It is, however, a dangerous situation to be in. Because the point will come, when it does not work anymore. But you don’t know how far away that point is. And if it hits you tomorrow, you will most likely have a serious problem. Perhaps you cannot deliver that critical fix within 3 days, which your boss has promised to the CRO. Or a crucial change for Black Friday will not be finished on time. Or …
So what can you do about it? I will not tell you to refactor your code right away. But if you get somewhat familiar with WxConfig NG Core (the free version), and have it installed on all machines, you are ready to go at a moment’s notice. And that is usually enough. Contrast this with no preparation at all:
- How long does it take you to install a new package on all test and production environments outside normal maintenance slots?
- What kind of management attention will you create by asking for an emergency deployment of a new package?
- When will all developers understand the tool in enough detail and be able to use properly?
- …
Looking at WxConfig NG Core comes with no investment other than your time. And if you want to save on that front, you can simply book 1 hour of remote consulting with me. So you can start very easily and be prepared.
Home-grown configuration management
Something home-grown can be a compelling approach. You have full control and can implement everything exactly as you need it to be. So if this what you are doing now and it works well, by all means keep doing it.
In practice, though, I am aware of only one large webMethods user who did this as of 2023. Of course there is a chance that I simply missed other cases. On the other hand I was involved with bringing WxConfig “classic” (which I built over more than 15 years at Software AG, the former owner of webMethods) to almost all larger webMethods customers (and many smaller ones). So I am pretty certain here.
The typical reality of something home-grown looked like the following in all the cases that I know of:
- Simply wrapper around Java properties
- Developed by someone who has left the company ages ago
- No web UI integrated with Integration Server admin console, so you have to work on the file system directly
- No support for different environment types like DEV, TEST, PROD
- No support for different operating systems (Windows, Mac, Linux/UNIX)
- No further development
- No documentation or internal support
So if your situation is different from the list above and you are happy with your solution, I am happy for you and will certainly not try to steer you away from it. It would be great, however, if you get in touch so that we can exchange thoughts about the subject.
If you are not so enthusiastic about what you currently have, giving WxConfig NG Core a try can certainly not hurt. In fact I am pretty confident you will like it a lot.
"Global Variables" functionality in webMethods
The absence of even the simplest mechanism for configuration management in webMethods Integration for more than a decade eventually led to the implementation of a product feature that is called “Global Variables”. You can define variables and use them in Flow services by a special syntax, similar to the “%pipelineVariable%
” syntax.
But there are various problems with the approach that was chosen.
Like for ACLs the values are stored in a single centralized file that lives outside the packages. This was a bad idea for ACLs and it is an equally bad idea for configuration values. Because the values are not part of the package that uses them. So you install a package and cannot just use it.
There are no command line tools available to automate the creation of values as part of container image creation or other custom deployment scenarios. Yes, I can write my own tooling for that, it is not rocket science. But the main reason for using an official functionality is that I don’t want to write my own tooling or have discussions with the support team about this. At least that is what I always heard from customers.
The name “Global Variables” is correct in that those variables are indeed global across all packages. So I have to come up with a naming convention to make sure that it is clear in which package a variable is used. Otherwise I will end up with a complexity nightmare rather soon.
In total I have never been a fan of “Global Variables”. Yes, they are better than nothing. But they lack so many things, that even a simple wrapper around Java properties might be a better choice (depending on the exact requirements).
So you will not be surprised when I tell you that in my view you should really take a close look at WxConfig NG Core. Even this free version offers so much more, that it should be an easy choice.
WxConfig "classic"
This is probably the most “nuanced” decision. Whether or not WxConfig NG can replace the “classic” version depends on what feature of the latter you are currently using. This article is written when WxConfig NG is pretty new and does not yet have all the features of the classic version. This is constantly changing, however. So if in doubt, please ask.
On the other hand most customers used only a small sub-set of what was possible. So if you are happy with property files and different values per environment type, WxConfig NG is an alternative already today. For more complex use-cases you will need to check.
In general the most important question is probably what will happen with WxConfig “classic” in the future. I do have an impression here, but you should check yourself via official channels. If you consider staying with WxConfig “classic” my recommendation would be to insist on something written that includes a “monetary incentive” for things to happen as you need them.
If you consider WxConfig NG I am happy to discuss details. Please get in touch via email, LinkedIn, or the contact form.
The future
The development of WxConfig NG started with a fresh code base in 2024. Yet the core idea and concepts have not changed compared to WxConfig “classic”. Some things that had never been used will be cut of course. And some details will be simplified, knowing what I know now but didn’t know back then.
And then there are all the nice new things that will be coming. Here are a few highlights that you can look forward to:
- Dedicated tooling for moving to container images: You will be able to run the exact same code (i.e. webMethods package) in a traditional VM-based installation and a container. Not only during a migration project but on-going.
- Integration with HashiCorp Vault
- Landscape management
- Centralized license management for larger landscapes
- …
To stay informed about future news, you can register to receive these update automatically.
As I have said on many occasions, I had only implemented about 20% of what I have in mind with WxConfig “classic”. So in that sense the journey has only just started and an exciting future lies ahead.
In closing
I am very excited that WxConfig NG continues the incredibly successful journey of webMethods Integration configuration management that was started by its predecessor. Configuration management is only growing in importance and will have an ever increasing impact on many aspects of IT and more importantly the business.
Links
Here are some links that might be helpful:
If you want me to write about other aspects of this topic, please leave a comment or send an email to info@jahntech.com. The same applies if you want to talk how we at JahnTech can help you with your project.
© 2024, 2025 by JahnTech GmbH and/or Christoph Jahn. No unauthorized use or distribution permitted.