App Connect

 View Only

Explore the new features in App Connect Enterprise

By Ben Thompson posted Mon March 28, 2022 06:28 PM


We aim to provide regular quarterly mod releases for ACE 12, which contain both new features and regular maintenance:

  • IBM App Connect Enterprise was released in May 2021.
  • IBM App Connect Enterprise was released in September 2021 - more information here
  • IBM App Connect Enterprise was released in December 2021.

This blog post summarizes all the latest and greatest capabilities which were made available in IBM App Connect Enterprise

  • Further Business Transaction Monitoring Enhancements
  • Support for Open API 3 documents with the RestRequest node
  • Dynamic Policy Redeploy without requiring a server restart
  • A new syntax for supplying the MQApplicationName to an MQEndpoint policy
  • A new way of populating in-memory credentials at server start time
  • Support for TLSv1.3 on the HTTP, SOAP, REST and Kafka nodes
  • Toolkit Enhancements

Read the sections below to find out more!

Further Business Transaction Monitoring Enhancements

The last App Connect Enterprise mod release (ACE provided a new Business Transaction Monitoring (BTM) feature which helps users monitor the lifecycle of a message payload through a business transaction, which can include travelling through multiple message flows. This release builds upon this support with further Web UI enhancements on the BTM Monitor tab which help users: 

  • Search for particular transactions using Transaction ID and Transaction Status
  • Filter transactions using their start time, when they were last updated or by their duration
  • Easily view the Number of Transactions or Transaction duration by both date and status

Once configured, the Web UI now provides a Monitor tab on the Business Transaction Monitoring page which consists of three tiles:

  • A "donut" chart showing the percentage of transactions in each status (Complete, Failed, Inconsistent and In-progress)
  • A bar chart with stacked bars representing transactions in each status, plotted against the date on the horizontal axis. If you wish, you can switch this tile to a scatter plot showing transaction duration, plotted against the date on the horizontal axis.
  • At the base of the page there is a table of transactions. Each row represents a separate business transaction, and the id column provides hyperlinks for drilling down in to the individual monitoring messages which made up the business transaction.

The image above shows that both of the graphical displays can be independently filtered to display data for configurable time periods. You can choose to plot transactions from the last 15 minutes, 30 minutes, 1 hour, 1 day, 7 days, 14 days, 30 days, 90 days, or 365 days. Whichever time period you select, in order to keep the query times low and the UI responsive, even when dealing with large volumes of data, the charts are capped to display 1000 transactions.

At the top of the tabulated data, next to the button showing a clock symbol (which lets you switch between UTC and Browser local time), ACE also now provides a Filters button. Click this button to build a query which can filter the tabulated data. The example below shows three filters have been applied to show transactions which started after November 11th, before December 1st, and were of Failed status:

Once the filter is applied, the Filters button is updated with the number of filters applied in brackets, to remind you that you are not looking at the full set of data:

Support for Open API 3 documents with the RestRequest node

IBM App Connect Enterprise can invoke a REST API which is defined in an OpenAPI 3.0 or Swagger 2 document.

The RESTRequest and RESTAsyncRequest nodes can now use imported Swagger 2 or OpenAPI 3.0 documents, in JSON or YAML format. For more information, see RESTRequest node and RESTAsyncRequest node.

Dynamic Policy Redeploy without requiring a server restart

App Connect Enterprise lets users define Policies in order to override property values so that you can easily control message flows and message flow nodes at runtime, especially if you want to vary behaviour between different runtime environments such as Test, QA and Production. This is particularly true with policies which define how to communicate with third party systems whose locations may differ from one environment to the next. Policies are grouped together into policy projects, and are deployed to an integration server in a BAR file or by copying them directly to the overrides subfolder of the server's working directory. Users familiar with older versions of the software such as IBM Integration Bus 10 will be familiar with configurable services which are similar in concept but whose role has been replaced in the product's architecture by policies. One of the drawbacks to IIB configurable services was that particular types of configurable service could be editted but the changes would not become effective until the server was restarted. Similar restrictions applied in earlier releases of App Connect Enterprise 11 and App Connect Enterprise 12, but from non-dynamic policies can now be redeployed without requiring an integration server restart, although for these types of policy you must restart all applications as part of the deploy operation. This new capability applies to the following non-dynamic policies:

  • DotNetAppDomain
  • JavaClassLoader
  • JDBCProviders
  • JMSProviders
  • WXSServer
  • Policy sets & policy set bindings

This new capability has been exposed for users deploying from the Toolkit and when using commands from the command console. If you attempt to deploy a changed policy of one of the above types from the Toolkit then you will be presented with the dialog shown below:

If you click on the Deploy with restart button, then the deploy will be re-attempted but with the option to restart all applications applied. Before executing the deploy the Toolkit presents a warning to be sure that you understand the ramifications of your choice which may not be acceptable in all situations:

If you click Yes then the deploy will go ahead which should succeed as shown:

A new syntax for supplying MQApplicationName to an MQEndpoint policy

MQEndpoint policies are used to express connection information for use when ACE interacts with an MQ Queue Manager. These policies include a property named the MQApplicationName.  This property, which is especially important when communicating with an MQ Uniform Cluster, specifies the name that is used to identify the connection to the queue manager. The value that you specify in this property is transferred to the ApplName property of the MQ connection options when you connect to the queue manager. You can specify a value for this property only when you connect to a queue manager that supports Version 7 of the MQCNO structure in IBM MQ Version 9.2 or later.

ACE introduces a new syntax for supplying the MQApplicationName in an MQEndpoint policy:

The above screenshot demonstrates how you can use the [ibmint.context-application-name] context variable to insert the name of the App Connect Enterprise application into the value specified in the MQ application name property. In this particular example, if the ACE application were to be called TestApplication, then this would result in the value of ACE-TestApplication being set for the MQ application name property.

You can also use the [ibmint.context-flow-name] and [ibmint.context-flow-node-name] context variables to insert the name of a message flow or message flow node into the value specified in the MQ application name property.

A new way of populating in-memory credentials at server start time

The App Connect Enterprise release introduces a new capability to help users configure an integration server (either independent or owned by an integration node) to access secured resources, by using credentials that are retrieved from an external file or key vault. Whilst ACE integration servers provide their own secure vault component which is used to hold encrypted credentials, your company may have a preference to consolidate this kind of activity across several enterprise applications, in which case this capability could be of interest.

You can configure the integration server to use an external credential provider by setting properties in the ExternalCredentialsProviders section of the integration server's server.conf.yaml file. Use these properties to specify the command that should be invoked in order to retrieve the security credentials from an external source (such as an external file or key vault), and to specify the code page and format of the output which is to be returned by the command (XML, JSON, or YAML). The credentials are then passed to the integration server in the specified format and loaded for use when the integration server starts.

Detailed information on this capability can be found in our product documentation here.

Support for TLSv1.3 on the HTTP, SOAP, REST and Kafka nodes

The IBM App Connect Enterprise release includes Java version which brings with it support for TLSv1.3 Several message flow nodes (HTTP, SOAP, REST, Kafka) in the ACE Toolkit have been updated accordingly with the option of selecting the SSL Protocol version of TLSv1.3

Toolkit Enhancements

ACE presents a varied set of new Toolkit enhancements:

  • New menu option to open apidocs for Independent Integration Server and Integration Node. You can access the administration REST API documentation for an independent integration server or integration node, by right-clicking on the server or node and selecting Open Administration REST API Documentation from the menu.
  • New menu option to open console log for Independent Integration Server started locally from the toolkit.
  • New preference to disable automatically connecting to remove servers/nodes.  By default, when you create a connection from the Toolkit to an integration node or server, the Toolkit connects automatically when it is started. However, if you want to create the connection details without automatically connecting the Toolkit to the integration node or server, you can turn off the automatic connection by deselecting the option in the Toolkit preferences.
  • New preference to use a new console log file for  Independent Integration Server started locally from the toolkit and specify how many console logs to keep on disk. When you start an integration server by using the IBM App Connect Enterprise Toolkit, you can view the output in the console log. This file is overwritten when you restart the Toolkit. In IBM App Connect Enterprise you can set a Toolkit preference to create a new console log file when the integration server (TEST_SERVER) is started. You can set this preference by clicking Window > Preferences > Integration Development > Connection Settings, and then selecting Use a new console log file when the TEST_SERVER is started. The filename contains the timestamp from when the file was created.
  • New option to ‘Deploy with restart’ when an error is returned for re-deploying non-dynamic policies (more detail in the earlier section of this blog post)
  • The Flow Exerciser can now be used to send HTTP messages when using both a node-wide listener and an embedded integration server listener.




Wed April 06, 2022 09:29 AM

Hi Ron,

Thanks for your comment ... This blog is genuinely about the features in ACE  This release came out at the end of December, but I only just got around to posting this blog. Meanwhile, ACE was released about a week ago, and I intend to publish a separate blog entry about features very soon!


Wed April 06, 2022 04:11 AM

Hi Ben,

I would have expected new features in 12.04.0, are you sure you uploaded the right one?

Wed March 30, 2022 09:05 PM

Nice one Ben Thompson. You have been an advocate of this for years. Cheers​