responsivstrap transparent positive 300x83 1

With IBM Integration Bus v10 going out of support April 2022 and App Connect Enterprise (ACE v11) v11, its successor, following shortly after in April 2024 it is crunch time for upgrading installations to the latest version in the software life cycle – App Connect Enterprise v12 (ACE v12).

Keeping software up to date is a constant battle between the ethos of “if it’s not broken, don’t fix it” and the necessity to install the latest security fixes and ensure all software is within support from the vendor. The latter often being required to retain certifications such as Cyber Essentials.

What is New in App Connect Enterprise v12?

By upgrading to App Connect Enterprise v12 you also benefit from the latest suite of features released in the product. The new features include a new smart connector backed by AI making the development of new integrations easier and new tooling to aid in driving test-driven development practices.

Unit Test Framework

By far the most intriguing feature arriving in App Connect Enterprise v12 is the new testing capabilities, which, when combined with the enhanced Flow Exerciser features, make generating automated tests incredibly fast and incredibly easy.

The updates to the Flow Exerciser can be used to extract snapshots of the message assembly as it is processed by the ACE application. These can be saved off into message assembly files and used during the creation of unit tests. Alternatively, for those embarking on a test-driven development strategy, the message assembly files can be created by importing a sample message or manually defined.

With a message assembly defined, unit tests can now be written to inject message assemblies into specific points of a message flow and expect message assemblies at other points.

Often, message flows will be constructed to integrate with external systems, which aren’t usually available at test execution time – especially if the test is being executed as part of an automated pipeline. This is where a new feature of the unit testing framework – NodeStubs – can help. A NodeStub allows any node within a message flow to be replaced with a pre-defined output message assembly based on the corresponding expected input assembly. This allows for unit testing to occur without a requirement for a fully integrated environment and population of test data in all the necessary systems.

New Smart Connectors

Enterprises who are making use of App Connect Enterprise on Cloud will find themselves able to access new smart connectors through the App Connect Designer, bringing the total to over 100 smart connectors now available, connecting to systems such as Microsoft Dynamics, Salesforce, SAP, Slack, Twitter, OneDrive. The list goes on.

OpenAPI 3.0 Support

Adding to the supported REST framework definitions, App Connect Enterprise v12 now supports OpenAPI 3.0 in addition to the Swagger 2.0 support already available. While not a significant game-changer, this support makes creating REST Services that meet varying specifications significantly easier.

JSON Validation

Whilst App Connect Enterprise has been able to perform validations against XML and Binary data (through DFDL) for many years, we finally have the introduction of built-in JSON validation. This uses an OpenAPI or Swagger schema to perform message and/or content validation which up until now often had to be implemented manually. Whilst this new feature is not a game-changer, it will reduce the amount of code needing to be written and supported throughout an enterprise.

eGit Plugin installed by Default

A common experience when setting up a new App Connect Enterprise workspace is to install the eGit plugin and connect the workspace to one or more git repositories. With this now being installed and available out the box in Eclipse, it’s one less thing to worry about.

Upgrade Paths 101

The first part of any software upgrade like this is to understand the requirements of the new environment and to create a migration plan. If the new functionality is needed to support development activity, then a parallel upgrade and migration may be more appropriate. If the upgrade is being done to maintain a supported environment, then an in-situ upgrade is a viable alternative to minimise disruption.

For those running IIB v10 or ACE v11, there are 2 supported upgrade paths. For earlier versions of IBM Integration Bus (v9) or WebSphere Message Broker (v8 and earlier), only upgrade path 2 is available.

Upgrade Path 1 – Getting to a supported version

This upgrade path is the least intrusive and fastest route to achieving upgraded software that is in support. It involves performing a configuration extract from an IIB v10 or ACE v11 runtime and importing it into a new App Connect Enterprise v12 runtime. This method performs upgrade actions automatically to every deployed artefact. For example, replacing an IIB v10 configurable service with its ACE v12 policy equivalent.

An upgrade of this nature is a “Big Bang” approach, upgrading everything at once and comes with an element of risk. Since this is a parallel migration, (even if being performed on the same physical server) it comes with a rollback option of stopping the new App Connect Enterprise v12 Integration Node that houses the migrated components and restarting the Integration Node for the previous version.

The details on this upgrade approach are explored later in this article.

Upgrade Path 2 – Making use of new application features

Typically, this upgrade path will be chosen for at least one of three reasons.

  1. A development project wishes to make use of features only available in the new version of the software.
  2. The source software version is not supported for upgrade path 1 (IBM Integration Bus v9 or earlier).
  3. Regression testing is required and cannot be coordinated to occur at the same time.

This upgrade path involves running both the old and new versions at the same time, allowing for a more granular, gradual migration of existing applications to occur whilst also allowing new development projects to utilise the new software version and capabilities. Developers will have the option of supporting old applications using the old toolkit, migrating old applications to the new version by importing them into the new toolkit (which causes artefacts to be automatically updated for later version compatibility), and developing new applications in the new toolkit.

Applications running on the old version can be imported to the App Connect Enterprise v12 toolkit on an application-by-application basis, deployed through the environments to the ACE v12 runtimes whilst simultaneously decommissioning the application from the old runtime.

Deciding between upgrade paths is not the only factor to consider under a migration plan. Monitoring scripts and operational procedures will need to be revisited to ensure forwards compatibility. Additional operational procedures may be introduced to utilise new monitoring capabilities introduced in ACE v12.

Automated build/deployment systems will need to be updated to create v12 artefacts and interact with a v12 runtime. This may need to be phased in on a per-project basis to allow cohabitation of different versions if Upgrade Path 2 is chosen.

Finally, developers will need to upgrade their toolkits to write native v12 applications. Again, developers may opt to keep older toolkit versions installed in parallel to provide continuous support for both new App Connect Enterprise v12 and older versioned applications. As old applications are ready to be upgraded, they can be imported into the ACE v12 toolkit which automatically updates the source to native v12.

To perform a runtime migration, like that described in Upgrade Path 1 the first command to run is the mqsibackupbroker command against the IBM Integration Bus v10 or App Connect Enterprise v11. The example used here uses the App Connect Enterprise v11 syntax for the commands, however, in most cases the syntax will be version agnostic. The Integration Node RESPONSIV.NODE contains a REST API Application and a Shared Library. Following the extract, a new Integration Node will be created in App Connect Enterprise v12. As the new Integration Node will be created on the same server, a new Integration Node name will be used to avoid name clashes.

App Connect Enterprise Console v11

C:\Program Files\IBM\ACE\11.0.0.10>mqsilist RESPONSIV.NODE -e default

BIP1877I: REST API ‘ResponsivAPIs’ on integration server ‘default’ is running.

BIP1273I: Shared library ‘INMLIB’ is deployed to integration server ‘default’.

C:\Program Files\IBM\ACE\11.0.0.10>mqsibackupbroker RESPONSIV.NODE -d C:\tmp\backup

BIP1252I: Creating backup file ‘C:\tmp\backup\RESPONSIV.NODE_211208_171331’ for integration node ‘RESPONSIV.NODE’.

BIP8071I: Successful command completion.

App Connect Enterprise Console v12

C:\Program Files\IBM\ACE\12.0.1.0>mqsiextractcomponents –backup-file C:\tmp\backup\RESPONSIV.NODE_211208_171331 –source-integration-node RESPONSIV.NODE –target-integration-node RESPONSIV.ACE12 –source-platform WinX64

BIP8469I: Version ‘11.0’ backup file supplied.

BIP8471I: Loading configuration for source integration node ‘RESPONSIV.NODE’.

BIP8470I: Loading configuration for integration server ‘default’.

BIP8473I: Creating target integration node ‘RESPONSIV.ACE12’.

BIP8071I: Successful command completion.

C:\Program Files\IBM\ACE\12.0.1.0>mqsistart RESPONSIV.ACE12

BIP8251W: Service dependencies for component ‘RESPONSIV.ACE12’ changed to ‘MQ_Installation1’; the previous value was ”.

BIP8096I: Successful command initiation, check the system log to ensure that the component started without problem and that it continues to run without problem.

C:\Program Files\IBM\ACE\12.0.1.0>mqsilist RESPONSIV.ACE12 -e default

BIP1877I: REST API ‘ResponsivAPIs’ on integration server ‘default’ is running.

BIP1273I: Shared library ‘INMLIB’ is deployed to integration server ‘default’.

BIP8071I: Successful command completion.

It should be noted at the time of writing this article, credentials that are defined using the mqsisetdbparms command are not migrated in the mqsibackupbroker/mqsiextractcomponents commands and will need redefining on the new Integration Node.

Should You Upgrade?

Whilst the new features surrounding the JSON parsing domain are certainly nice additions to the product, they are not critical reasons to upgrade and will only be useful in a small percentage of cases. However, the Unit Test framework and Flow Exerciser enhancements will be a game-changer when it comes to testing integration applications for everyone. This makes an upgrade worthwhile and ensures that App Connect Enterprise naturally fits into the modern Dev-Ops world that we are in.

For those running App Connect Enterprise v11 and with the upgrade path being relatively trivial it’s a great upgrade to perform. If you’re running older versions such as IBM Integration Bus v10/v9, an upgrade is highly recommended. At Responsiv, we have specialist consultants able to offer varying levels of support during your upgrade. Get in touch today to find out more information.

Ant Hiscocks
Ant Hiscocks
Share This