Why User Defined Node?
At one of our Large healthcare client, there were multiple SIEMENS Invision Interfaces which use SNA (Systems Network Architecture) for inbound and outbound communication.
SNA is a set of protocols and services enabling communication between host computers (Mainframes) and other servers such as Windows/AIX/Linux.
Websphere Message Broker does not have predefined nodes for SNA communication, and therefore custom nodes were created for SNA Inbound and outbound communication from Message Broker.
(Plugins are written using CPI-C for Java).
Steps for User Defined Node Creation:
1. Create a User Defined Node Project (File -> New -> User-Defined Node Project)
2. If the node falls into existing set of categories select that, otherwise create a new Category. This drives where the node will be displayed in your Toolkit Pallet.
Unlock Your Potential with Application Modernization
Application modernization is a growing area of focus for enterprises. If you’re considering this path to cloud adoption, this guide explores considerations for the best approach – cloud native or legacy migration – and more.
3. Create a new User Defined node, select whether you want to implement it as Subflow or implement it in Java or C.
4. You can choose specific icons (This has be a gif file with size 16×16 or 32×32)
5. Add appropriate Terminals and Properties.
6. Write your code in implementation project. Node name declaration connnects the implementation project with actual node project.
public static String getNodeName() {
return “SNAInputNode”;
}
Installation of Nodes:
1. Export the node project as User-defined node plug-in
2. The node project needs to be extracted in the directory TOOLKIT_INSTALL\plugins
3. Export the implementaion project as a Jar file
4. Implementation jar file needs to be placed to following directories.
BROKER_INSTALL_DIR\jplugin\
MQSI_WORKPATH\shared-classes\
5. In case you change the implementation code, jar file needs to be exported and replaced in the directories mentioned in #4. For the code change to reflect you will have to restart the execution group which is using this node.
Tips:
1. For using the WMB exception framework you should always have ‘catch’ and ‘failure’ terminals to all nodes. Names of these nodes are case sensitive, they should be completely in lower case.
2. If you are writing code for inbound node which is listening on input make sure it releases the control to WMB at certain intervals using TIMEOUT, otherwise you will not be able to stop the message flow.
Reference:
http://publib.boulder.ibm.com/infocenter/wmbhelp/v7r0m0/index.jsp?topic=%2Fcom.ibm.etools.mft.doc%2Fas37484_.htm
What’s next?
If you’re still using WebSphere Message Broker, it might be time to think about upgrading your ESB. Whether you’re using an unsupported version of WMB or want the features of the newest IIB release, use our best practices compiled over the course of countless migrations to ease the process and maximize your IBM investment.