Planning user-defined input nodes

This topic outlines the planning and design considerations you should think about before developing a user-defined input node.

Analysis

Before developing a user-defined Input node, you should consider the following:
  • Do you need to create a custom input node?
    You must include at least one input node in a message flow. (For more information about using more than one input node, see Using more than one input node. The one you choose depends on the source of the input messages:
    • If the messages arrive at the broker on a WebSphere MQ queue, use the supplied MQInput node.
    • If the messages are sent by SCADA devices, use the SCADAInput node.
    • If the message source is any other, you must use a user-defined input node.
  • To successfully input the data concerned, will the input node have to interface with third-party software? If so does the API enabling access to this software break your threading model?
  • Do you need a new user-defined parser to interpret the body (payload) of the message generated by this input node or can it be parsed by a standard built in parser?
  • Do you need the user-defined input node to operate the message flow instance in which it resides under transactional control as a globally co-ordinated transaction?
  • Do you need the new user-defined input node to offer configuration options?
  • Do you need messages propagated by this input node to be processed by the following primitives?
    • All primitive output nodes
    • reset content descriptor nodes

Design considerations

Before developing and implementing your input node, you should decide on the following factors:
  • The message parser that initially parses the input message.
  • Whether to override the default message parser attribute values for this input node.
  • The appropriate threading model for the input node.
  • End of message processing and transaction support that the node supports.
  • The configuration attributes required by the input node that should be externalized for alteration by the message flow designer.
  • Optional node APIs the user-defined node provides.
  • General development issues:
  • When designing nodes to be run as extensions to WebSphere Event Broker, the following restrictions must be considered:
    • User-defined input nodes can only support XML, BLOB and the WebSphere MQ parsers. The MRM is not shipped with WebSphere Event Broker and there is no support for user-defined parsers.
    • User-defined nodes should not expose to users the ability to evaluate user ESQL code. For example, nodes that expose the input to MbSQLStatement as a node attribute are effectively emulating a compute node. Use of ESQL in WebSphere Event Broker is not supported.
Related information
Java user-defined node API