Supported transports to publish stubs to a Dockerfile and build context

Review the transports that support publishing stubs to a Dockerfile and build context along with any considerations to build a Docker image that contains stubs and run that image in a Docker container.

Table 1. Supported transports and information
Transport Directory under outputDirectory/UserLibs to which third-party library files are automatically copied. Where blank this entry is not applicable. (See explanation in Automatic copying of library files.) Manual copying of files to the output directory. Where blank this entry is not applicable. Are rule host and port environment variables required when you run a Docker image in the Docker container? (See explanation in Rule related environment variables.)
File No
FIX Yes if you are routing to the stub by using the HTTP/TCP proxy.
HTTP Yes if you are routing to the stub by using the HTTP/TCP proxy.
JMS JMS Yes if you are using the sift-and-pass-through stubbing mode.
Kafka
MQTT Yes if you are routing to the stub by using the HTTP/TCP proxy.
RabbitMQ
SAP RFC SAP The libsapjco3.so file must be manually copied to the SAP directory. Yes
Software AG webMethods Integration Server webMethods Yes
TCP Yes if you are routing to the stub by using the HTTP/TCP proxy.
TIBCO EMS TIBCO Yes if you are using the sift-and-pass-through stubbing mode.
TIBCO Rendezvous TIBCO The following files must be manually copied to the TIBCO directory:
libtibrv64.so
libtibrvcm64.so
libtibrvcmq64.so
libtibrvft64.so
libtibrvj64.so
No
TIBCO SmartSockets TIBCO No
UDP
WebSphere® Application Server Service Integration Bus (SIBus) WAS Yes if you are using the SIBus Mediation, for example to allow sift-and-pass-through stubbing.
WebSphere MQ WMQ No

Automatic copying of library files

When you publish a stub to a Dockerfile and build context, the library files (JAR files) required by one or more transports that are used by the stub are automatically copied to the output directory. The files are copied from the location that you configured in the Library Manager.

The files are copied to directories under outputDirectory/UserLibs. Before you build the Docker image, it might be necessary to manually copy or update the files in these directories.

When you copy over additional support files for a specific transport, typically shared libraries, then these files must be for the target operating system that the Docker image is using. The target operation system can be determined by looking at the FROM line within the Dockerfile. In the default template present within IBM® DevOps Test Integrations and APIs (Test Integrations and APIs), the target operating system is Ubuntu 14.04.

Rule related environment variables

When you run the Docker container, you can specify a number of environment variables that relate to routing rules. These variables have names that begin with RULE. See Running stubs in a Docker container. For each supported transport, some of these variables might be required to allow communication between the stub, Test Virtualization Control Panel, and the intercept, for example HTTP/TCP Proxy.

Where the table indicates that the variables are required, you must supply the RULE_HOST and RULE_PORTS variables or supply the RULE_ENDPOINT_FILE variable when you run the container. For information about these variables, see Running stubs in a Docker container.

Other rule-related variables, for example RULE_SERVER, are optional.