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.
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.displayname=TIBCO BW Agent 6.7
ntservice.binary.path.absolute=<TIBCO_HOME>/bw/6.7/bin/bwagent.exe (note that / have to be used)
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 :
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.
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.
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…