WebSphere Message Brokers
File: as09940_
Writer: Lorraine Waitt

Task topic

This build: July 31, 2007 21:38:25

Developing user-defined extensions

This section contains details on how to implement a user-defined node or parser to enhance the functionality of WebSphere Message Broker.

You can write user-defined nodes in C or Java. You can write user-defined parsers only in C. For a general introduction on user-defined extensions, read User-defined extensions overview. For information about designing and creating user-defined nodes and user-defined parsers, see the following topics:

When you have created a user-defined node, you can test it; this task is described in Testing a user-defined node. If you want to test or use user-defined nodes or parsers on multiple computers, follow the instructions given in Packaging and distributing user-defined extensions.

Consider the following restrictions and factors when developing user-defined extensions:
  • Interfacing a C user-defined node to Java and providing a JNI wrapper is not supported. This restriction exists because the broker internally initializes a JVM, which is not available through the user-defined extension interface. The JVM initializes with various parameters that are specific to the broker's requirements. Because there is only one JVM in a process, whoever initializes it first specifies these parameters. If a user-defined node uses Java, and the broker is initialized first, these parameters might not be suitable for the user-defined node. If the user-defined node creates the JVM before the broker starts, the broker might not function correctly.
  • User-defined nodes can be deployed in WebSphere Event Broker. When creating user-defined nodes for WebSphere Event Broker users, you must ensure that you do not expose users to the ability to evaluate ESQL code. For example, nodes that expose the input to MbSQLStatement as a node property would effectively be emulating a Compute node. Use of ESQL in WebSphere Event Broker is not supported.
  • User-defined input nodes can only support XML, BLOB, and the MQ parsers.
  • Avoid using operating system specific functions. If you code in this way, your user-defined extensions can work on a variety of platforms without requiring changes to the source code.

The following table shows the topics that you must read based on the type of user-defined extension that you want to create.

Action Topics to view
To use one of the Java sample nodes:
  1. Compiling a Java user-defined node
  2. Installing user-defined extension runtime files on a broker
  3. Creating the user interface representation of a user-defined node in the workbench
  4. Testing a user-defined node
To use one of the C sample nodes:
  1. Compiling a C user-defined extension
  2. Installing user-defined extension runtime files on a broker
  3. Creating the user interface representation of a user-defined node in the workbench
  4. Testing a user-defined node
To use the sample parser:
  1. Compiling a C user-defined extension
  2. Installing user-defined extension runtime files on a broker
To create your own Java node using the workbench:
  1. Creating an input node in Java or Creating a message processing or output node in Java
  2. Using event logging from a user-defined extension
  3. Compiling a Java user-defined node
  4. Testing a user-defined node
  5. Packaging a user-defined node workbench project
  6. Installing a user-defined extension to current and past versions of the broker
To create your own C node:
  1. Creating an input node in C or Creating a message processing or output node in C
  2. Using event logging from a user-defined extension
  3. Compiling a C user-defined extension
  4. Installing user-defined extension runtime files on a broker
  5. Creating the user interface representation of a user-defined node in the workbench
  6. Testing a user-defined node
  7. Packaging a user-defined node workbench project
  8. Installing a user-defined extension to current and past versions of the broker
To create your own parser:
  1. Creating a parser in C
  2. Using event logging from a user-defined extension
  3. Compiling a C user-defined extension
  4. Installing user-defined extension runtime files on a broker
Related concepts
User-defined extensions overview
Related reference
User-defined extensions
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2007Copyright IBM Corporation 1999, 2007. All Rights Reserved.
This build: July 31, 2007 21:38:25

as09940_ This topic's URL is: