Getting started with JTWPM

Below you can find the instructions how to get started with the JahnTech Package Manager for webMethods Integration (JTWPM).

Download

JahnTech Package Manager for webMethods Integration (JTWPM) is available through our online shop (at a “virtual” price of 0 Euros).

Getting started

JTWPM works with Windows, Linux, and macOS.

These instructions assume you are an experienced developer and know how to work with webMethods, Git, and shell scripts.

Setup

The instructions below apply for Windows, Linux, and macOS.

webMethods

You need a local installation of webMethods Designer for Service Development and Integration Server/Microservices Runtime.

It is recommended to use the current version of webMethods Service Designer and install it at the top of your user’s home directory. So that you end up with something like c:\Users\mike\wMServiceDesigner\IntegrationServer or /home/mike/wMServiceDesigner/IntegrationServer . With this configuration the JTWPM should work directly without any further adjustment.

You should also start Service Designer now, incl. the built-in Integration Server instance.

On Windows systems only

You should install Windows Terminal from Microsoft and, when installing Git for Windows, activate the integration with it.

Also, it cannot hurt to install PuTTY and TortoiseGit.

Git

Install and configure the Git client on your development environment.

You must know how to work with Git in general and also in the context of webMethods Integration. If that is not the case, perhaps our online course “CI/CD for webMethods Integration” is interesting for you.

For Windows it is recommended to enable the use of the built-in OpenSSH sub-system during the installation of Git. OpenSSH can also be connected with PuTTY’s pageant tool for a very nice user experience. Also, the integration of Git bash with the Microsoft Terminal is highly recommended.

At the moment only the use of SSH with key authentication is supported. Other ways (incl. HTTPS) should work, though, and more details can be found on the Git page about credentials.

JTWPM

The download link you received from our online shop as part of your confirmation email gets you a ZIP file that contains the JTWPM. Technically it is just a shell script with the name jtwpm.sh . And yes, it also works well on Windows, because the Git installation provides you with a bash shell.

You can place the jtwpm.sh script wherever you like. It does not perform write operations to any directory other than its configuration directory. The latter is ~/.JahnTech/jtwpm/ by default, but can be changed using a command line switch.

First run

On Windows open a “Git bash” shell from either the context menu of your Windows Explorer or Microsoft Terminal. (On Linux and macOS you already have a proper shell.)

Please ensure that the script is executable by running the following command from within the installation directory of JTWPM:

				
					chmod a+x jtwpm.sh
				
			

Now JTWPM is ready for its first run. Start it without any parameters like the following:

				
					./jtwpm.sh
				
			

The screen output will guide you through the initial steps to make it work.

  • During the first start the main configuration file will be created. Then the JTWPM stops, so that you can adjust the settings according to your environment. If you have installed the webMethods Service Designer as suggested above, no changes should be necessary. But please double-check nevertheless.
  • During the second start (again just run “./jtwpm.sh“) the default catalog configuration has been created. It will provide you with the open-source package from the JahnTech GitHub account. You can just leave this for now.
  • During the third start (again just run “./jtwpm.sh“) the configuration file with the default connection settings to your local Integration Server instance will be created. Again, with the suggested installation of Service Designer no changes should be needed.

The out-of-the-box catalog for packages is provided by JahnTech via GitHub. To see what is available, issue the following command:

				
					./jtwpm.sh cat show
				
			

You should see something like this:

				
					$ ./jtwpm.sh cat show
Catalog was never cloned from server, doing so now (URL=https://github.com/JahnTech/jtwpm-catalog.git)
Cloning into 'C:/Users/chris/.JahnTech/jtwpm/catalogs/default/data'...
remote: Enumerating objects: 33, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 33 (delta 15), reused 27 (delta 13), pack-reused 0 (from 0)
Receiving objects: 100% (33/33), 9.92 KiB | 2.48 MiB/s, done.
Resolving deltas: 100% (15/15), done.

Catalog contents (stored in /c/Users/chris/.JahnTech/jtwpm/catalogs/default/data):

Applications:
- Demos

Packages:
- DemoBootstrapUI
- JT_Demo_DebugDSP
- JT_Excel
- JT_FlatFile
- JT_Health
- Log4jDemo
- WxPassword
- WxSSH
				
			

To “install” your first package issue the following command:

				
					./jtwpm.sh pkg src WxSSH

				
			

You should see something like this:

				
					$ ./jtwpm.sh pkg src WxSSH
Source code for package WxSSH : checkout
Source code URL : https://github.com/JahnTech/webmethods-is-wxssh.git
Cloning into 'C:/Users/chris/workspace111/webmethods-is-wxssh'...
remote: Enumerating objects: 59, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (43/43), done.
remote: Total 59 (delta 17), reused 40 (delta 7), pack-reused 0 (from 0)
Receiving objects: 100% (59/59), 18.58 KiB | 3.10 MiB/s, done.
Resolving deltas: 100% (17/17), done.
Scanning for webMethods Integration packages
Found package : WxSSH
Creating symlink
  C:/Users/chris/wMServiceDesigner/IntegrationServer/packages/WxSSH
  ->  C:/Users/chris/workspace111/webmethods-is-wxssh/WxSSH
Compiling and fragging Java code for WxSSH ...
'else' is not recognized as an internal or external command,   #This coms from an error in jcode
operable program or batch file.                                #This coms from an error in jcode
'else' is not recognized as an internal or external command,   #This coms from an error in jcode
operable program or batch file.                                #This coms from an error in jcode
Trying to activate package WxSSH : {}
Trying to enable package WxSSH : {"message":"WxSSH package is already enabled."}
				
			

If you had not started the built-in Integration Server of Service Designer, please do so now. The WxSSH package will automatically be picked up.

You now need to refresh the packages in “Package Navigator” for WxSSH to show up. You will notice, however, that it looks like any other package, but not one that is under development.

You may now want to repeat the installation also for the WxPassword package. 

The last step is now to make Designer aware that this is a “Local Development” project:

  • Click “File / Import…” in the main menu
  • Choose “Existing Projects into Workspace” and click “Next”
  • Set the root directory to your workspace
  • The WxSSH project shows up pre-selected in the project list; if you had also retrieved additional packages, like WxPassword, they too are listed
  • Click “Finish”

You will notice that the icon of all applicable packages have changed and now indicate “Local Development” projects.

Next steps

If you run JTWPM without parameters it will display the available operations and options. By experimenting you can explore its full potential.

And, since it’s a shell script, you can look at the source code to learn what it does.

If you have ideas for changes, new functionality, or discover issues, please get in touch via email.