Upgrading from 2.9 to 3.0

Overview

The upgrade to IBM Financial Services Workbench 3.1-Preview is supported from the earlier version 2.9.

To upgrade IBM Financial Services Workbench from the previous version 2.9 to 3.1-Preview, just follow the steps in the Upgrade steps section below.

If upgrading from a version prior to 2.9, please first perform a complete upgrade to the previous version 2.9 including installation of 2.9, and then continue with the steps in the Upgrade steps section.

Note: In any case you have to upgrade the Solution CLI only once to the latest version (5.0.2).

Breaking changes

IBM Financial Services Workbench 3.1-Preview brings also some technical alignments that may lead to existing projects not working any longer. This section will give you an overview of the breaking changes and how to solve issues related to them.

Changed routes

Up to version 2.9 routes were built based on a project's acronym in all capital letters, e.g., if you have a project called "My project" with an acronym of "MYPROJ" that led to a path having a segment called ".../MYPROJ/...". With version 3.0 all paths are built based on the project's acronym in lowercase.

This means, existing API bindings will not work any longer since they refer to a path that no longer exists. You will have to update the URL of these bindings to lowercase that part of the path.

Low-Code Java Package naming convention

Up to version 2.9, Java package names for API and integration namespaces were generated based on their namespace prefix (that can contain upper case letters). However, in 3.0 even if the namespace prefix contains uppercase letters it will be converted to lowercase and used as part of the package name.

This will lead to some compilation errors in implementation files that belong to / used SDK components from API namespaces or integration namespaces that have an uppercase letter.

If compilation errors occur in implementation files due to package naming convention changes, manual correction of the package name(s) to point to the correct package(s) in the SDK is required.

IBM Business Automation Workflow toolkits

Due to the changed routing, any project using BAW toolkit(s) needs to get re-deployed to re-generate the toolkit(s). You need to download the updated toolkit(s) via Solution Envoy by clicking on the "Open API" button of the related solution. This will lead you to the Swagger UI where you can select the API related to the toolkit and download the .twx file. Then import the file to IBM Web Process Designer and update the toolkit dependency of your process app.

Generated BAW toolkits for API namespace(s) that have a namespace prefix containing uppercase letter(s) will be imported IBM Business Automation Workflow as a new BAW toolkit and not as an update of the existing toolkit because the generated toolkit ID will rely on the namespace prefix being lower case.

Upgrade steps

Migrate Java projects

We have updated the Java SDK from version 1.8 to 11.

A Java 11 SDK or higher is needed to develop Java based projects on your local machine.

All existing projects with the implementation language Java can be updated in the Git repository, but the projects can also be left at compile level 1.8. There is only the root level pom.xml file that has to be changed.

Search for the properties attribute and change it according to the following snippet:


<java.version>11</java.version>

Migrate Java low-code projects

All existing low-code projects with implementation language Java need to be updated in the Git repository due to a known issue. There is only the root level pom.xml file that has to be changed.

Search for the parent attribute and change it according to the following snippet:


<parent>
    <groupId>de.knowis.cp.sdk</groupId>
    <artifactId>cp-framework-managed-sdk-parent</artifactId>
    <version>4.0.3</version>
    <relativePath>
        ./.framework/repo/de/knowis/cp/sdk/cp-framework-managed-sdk-parent/4.0.3/cp-framework-managed-sdk-parent-4.0.3.pom
    </relativePath>
</parent>

Migrate pipelines

In the past, each k5-project had its own deployment of the k5-pipeline-manager. Now the pipeline manager and all pipelines moved to the namespace of the Solution Hub and also the pipelines in general changed.

When upgrading to version 3.0 the pipeline manager is deployed in the namespace of the Solution Hub with its new pipeline definitions. A migration job will remove all deprecated resources in all k5-projects that belonged to the pipeline-manager.

Please create new pipelines for your service projects based on the information in the build & deploy section and on your previous pipelines.

All pipelines that were created before 3.0 will not work anymore and can be deleted together with their belonging pipeline resources. You can do that with the following commands.

oc delete pipelines -n k5project
oc delete pipelineruns -n k5project
oc delete taskruns -n k5project
oc delete pipelineresources -n k5project
oc delete triggertemplates -n k5project
Attention: You have to undeploy all deployments before you can re-deploy them with the new pipelines.