*** WORK IN PROGRESS***
On this topic, my idea is to walk you through my first attempts at creating KNIME nodes. I was 'triggered' into this as a sequel to the cryptocurrency trading agent workflow I am creating. (See here). The first version of this workflow contained a pair of Python Script nodes, which did the 'heavy lifting', the talking to the Revolut X API. I received some comments about this going somewhat against the 'no code' idea behind KNIME. However, at the moment I'm writing this, there seems to be no existing node available to do the encryption and signing of the messages as required by the Revolut API. Hence, I will try to create such nodes myself.
As a starting point I have used this document. In it, you can find the necessary steps to set up the Eclipse environment for KNIME node development.
On the screenshot below you can see the Eclipse IDE. If you follow the setup instructions in the document mentioned above, the IDE will already contain an example of a KNIME node called NumberFormatter. Below the IDE screenshot is an image of the execution of this NumberFormatter project from within Eclipse.
I have used this NumberFormatter example project as a baseline to develop my Revolut Get Balances node, which will return the balances I hold in my Revolut X account. Below a screenshot of executing this project from within the Eclipse IDE.
Basically there are 2 options to develop new KNIME nodes: you can either use Python or Java. I chose to use Java, because I am slightly more familiar with this language.
However, I did some cheating. I took the Python code I developed earlier on in the 'Get Balances' Python scripting node and asked ChatGPT to translate this code into Java.
I then used the Visual Studio Code environment (VSCode) to stand-alone test this Java code (see screenshot below)
Now I have checked that my code is basically working, I can 'paste' this Java code into Eclipse in the file RevolutGetBalanceNodeModel.java.
I can now text my newly developed Get Balance node within the Eclipse environment.
The Revolut Get Balance node executed from within the Eclipse IDE:
Ater following the steps on how to deploy my new node described in the abovementioned document, I can test it in my regular KNIME Analytics platform:
The screenshot below shows my Revolut Get Balance node used in my 'standard' KNIME Analytics Workbench, after adding the local Update site.
And finally, here is my OrderAgent workflow with the 2 new developed nodes incorporated (in the red boxes) :
The configuration dialog of the Get Balance node :