Upgrading from 2.9 to 3.0

Overview

The upgrade to IBM Financial Services Workbench 3.0 is supported from the earlier version 2.9.

To upgrade IBM Financial Services Workbench from the previous version 2.9 to 3.0, 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 (4.2.64).

Breaking changes

IBM Financial Services Workbench 3.0 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.

New 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 namespace prefix (that can contain upper case letters), however in 3.0 even if namespace prefix contained uppercase letters it will be converted to lowercase and used as part of package name.

This will lead to some compilation errors in implementaion files that belongs to / used SDK components from api namespace or integration namespace that have an uppercase letter.

If compilation error occurs in implementaion files due to package naming convention changes, Manual correction of package(s) name to point to correct package(s) in the SDK is needed.

BAW toolkit generated toolkit Id

Generated BAW toolkits for api namesapce(s) that have a namespace prefix that contains uppercase letter(s) will not be upgradable upon importing to IBM Business Automation Workflow with existing previous version, It will be imported as a new BAW toolkit.

As the toolkit generated Id will rely on namespace prefix being lower case in generating the toolkit stable Id.

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.