BusinessWorks 6.X and BusinessWorks Container Edition conveniently allow the creation of Processes exposing or invoking REST APIs using Swagger files previously created, this approach is usually called the design first approach.

But once Processes have been implemented how to manage the case where a new version of the Swagger file is delivered and has to be taken into account ?

This can be done using the approach described in this article.

Uploading the new Swagger file

It is recommended to first make sure the latest version of the application code can be recovered in case of problems.

Then import the…


While exposing or invoking WEB Services it is in some cases needed to access standard or custom HTTP headers. In BusinessWorks 5.X there was no other solution than developing an HTTP Proxy but this is no longer the case in BusinessWorks 6.X and BusinessWorks Container Edition.

To get or set HTTP headers while exposing or calling WEB Services you have to do the following:

Create an XML schema to manage your context

Using the tool of your choice create an XML schema containing the elements you want to use to set or get HTTP header values.

Example of a context Schema

Define the context in…


While bwagents and appnodes are Java components launched using the standard TIBCO JVM wrapper it is possible under Windows to run them as Windows Services.

Installation of a bwagent as a Windows Service

To set-up the configuration of a Windows service for a bwagent do the following:

- Go to the <TIBCO_HOME>\bw\6.7\bin folder

- Edit the bwagent.tra file and add the following properties :

ntservice.name=BW Agent

ntservice.displayname=TIBCO BW Agent 6.7

ntservice.starttype=delayed

ntservice.interactive=false

ntservice.binary.path.absolute=<TIBCO_HOME>/bw/6.7/bin/bwagent.exe (note that / have to be used)

Example :

ntservice.binary.path.absolute=c:/tibco/bw/6.7/bin/bwagent.exe

To install the bwagent as a Windows service do the following:

- Start a command window with…


In BusinessWorks 6.X the technical runtime configuration parameters and the BusinessWorks parameters are managed in different files:

. The technical runtime parameters are managed in the tra files (this mostly includes JVM parameters and classpath definitions)

. The BusinessWorks parameters are managed in config.ini files (this include appspaces and appnodes runtime parameters and BusinessWorks applications runtime parameters like for example the Flow Limit parameters)

Important things to know about tra files

In BusinessWorks 6.X the technical runtime parameters are split across multiple tra files managed in each BusinessWorks server (precisely in each TIBCO BusinessWorks 6.X installation folder):

. The bwcommon.tra…


It is quiet common to have to use different connection configurations in runtime environments, like for example to use a simple HTTP connection configuration in the ‘TEST’ environment and an HTTPS connection configuration with additional parameters, like the keystore file path and password, in the ‘PROD’ environment.

An interesting feature of BusinessWorks 6.X is that this is possible to have multiple connection shared resources in an application and to define which one is used at runtime by using a property.

This can be done by using the following approach :

. Define multiple connection shared resources as needed (for example…


This article is the BusinessWorks 5.X version of an article already published for BusinessWorks 6.X and BusinessWorks Container Edition. The original article is available at the following URL :
https://emarchiset.medium.com/how-to-control-flows-in-businessworks-6-x-and-businessworks-container-edition-94e5a35bb745

In most integration scénarios BusinessWorks is processing external events, like WEB Services calls, JMS messages publications or files transfers, that are received at a rate that is mostly depending from the business activity.

This means that at some moments, there could be a high load of events to manage and this may exceed the BusinessWorks configuration capabilities and create problems like high cpu consumption impacting other flows or out of…


In context where numerous REST API or WEB Services are exposed using BusinessWorks 6.X applications it is possible to share the same port between multiple applications to limit the number of ports managed in the network load balancing layer.

This can be done using the following approach:

. Create an HTTP Connector Shared resource in a shared module

. Configure the HTTP Connector Shared resource with the “Share across application” option enabled

. Use the HTTP Connector from the shared module in the applications

. Deploy the applications sharing the same port number in the same AppSpace (it is not possible at operating system level to have two process listening on the same port number)

This approach can also be used to run two versions of the same application on the same port.

HTTP Connector Shared resource with the “Share across application” option enabled


While usually BusinessWorks developers are working on a dedicated Windows workstation, it is more and more common with the development of offshore outsourcing to have developers connecting to server farms managed with solutions like Citrix or Microsoft RDS and sharing the same BusinessWorks installation.

This article explain how to configure a BusinessWorks 6.X installation to allow multiple users to share it and how for them to use the BusinessWorks debugger at the same time.

This applies also to BusinessWorks Container Edition.

Configuring a BusinessWorks 6.X installation to be used by multiple users

Once the standard installation is completed you just…


Limiting memory usage is sometimes a challenge in BusinessWorks environments because volumes to process depends from the business activity (number of orders to process per second, number of items in an order, …).

In BusinessWorks memory usage mostly depends from the number of events processed in parallel in the BusinessWorks engine, the size of the data blocks to process and how the engine is internally managing memory block allocations.

Also depending on the use case some Java Virtual Machine configuration options can be used for the JVM to return unused heap space to the operation system.

BusinessWorks memory usage monitored in JvisualVM

This means there are…


In most integration scénarios BusinessWorks is processing external events, like REST API calls, JMS messages publications or files transfers, that are received at a rate that is mostly depending from the business activity.

This means that at some moments, there could be a high load of events to manage and this may exceed the BusinessWorks configuration capabilities and create problems like high cpu consumption impacting other flows or out of memory errors impacting the flow processing.

In a production environment it is then necessary to have in place some solutions to limit the number of events processed at the same…

Emmanuel Marchiset

I work as an Architect at TIBCO on Integration products. Opinions here are my own.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store