The FTM deployment environment can support multiple applications and application
versions and it is not unusual to have multiple deployment environments for development, test and production.
To dynamically support multiple deployment environments without making code changes it is essential that some
properties externalized for configuration at deployment time. A typical FTM deployable
flow should support at least the following configuration properties promoted up to the BAR file.
Application Name
Application Version
Database Schema
Data source
An application flow should also promote any other key properties that may need to be configured per
deployment such as input queue names. These properties can then be modified using the BAR file editor as shown
below, or by using the IBM® App Connect
Toolkit.
Properties promoted to the BAR file are typically one or more node properties that have been promoted up
through the flows and subflows or a user defined property (UDP). A user-defined property (UDP) is a property
that is defined when a message flow is constructed using the message flow editor and is supported by a
specific variable declaration in the ESQL or Java™ code.
The typical properties for application name, application version and database schema shown above are UDPs.
An example of UDP definition in the message flow editor is shown in the following figure.
In FTM, these UDP values must be used to initialize other code and variables prior
to an application interacting with the database or cache APIs so it is important for top level application
flows to call the correct initialization functions.
In the case of transmission wrapper flows (inbound transmission mappings) call the function
INIT_PTF_CONST() as shown in
In the case of event processing wrapper flows it is not usually necessary to do any specific initialization
because the core event processing subflow does this and it is not usual to invoke application code prior to
this.
After initialization, the FTM APIs provide API functions to access key
configuration properties that are usually customized or not known at development time.
Table 1. APIs for retrieving core configuration properties
API Function
Description
CREATE FUNCTION DB_SCHEMA()
RETURNS CHAR;
Returns the name of the database schema as a string value.
CREATE FUNCTION GetApplication()
RETURNS CHAR;
Returns the name of the application as a string value.
CREATE FUNCTION GetApplicationId()
RETURNS INTEGER;
Returns the database allocated ID of the application as an integer value.
CREATE FUNCTION GetAppVer()
RETURNS CHAR;
Returns the application version name as a string value.
CREATE FUNCTION IsSpecificAppVersion()
RETURNS BOOLEAN;
Returns true if a specific application version is being executed, false if it is
defaulting to the most current version.
CREATE FUNCTION GetAppVerId()
RETURNS INTEGER;
Returns the database allocated ID of the application version as an integer
value.