What's new?

See what new features and improvements are available in the latest release of IBM Financial Services Workbench.

Application composition

This release is all about composing applications. So far, IBM Financial Services Workbench was the perfect fit for creating cloud-native microservices with ease. But now, we go one step further and turn these microservices into re-usable components that can be composed to form an application.

Now every microservice you built can be added to a catalog from which it can be added to an application composition project. This way, whenever you solved a business problem this solution can be used again to solve other problems or to build new innovations.

Application composition is a means of creating applications by putting software components together. One of the main advantages is that it lets the user choose the appropriate set of services and resources from a variety of existing components.

Figure 1. Composition overview
component overview

An application always consists of at least one component which can be either built-in framework components, external 3rd-party components or user-built components. And this is the connection to the microservices built with IBM Financial Services Workbench so far. New pipeline definitions for releasing a microservice built with FSW turn the microservice into a re-usable component.

But even if this microservice doesn't exist yet, there is the option to create planned components for which you can then create a service project to build this new component. As soon as the development is finished, the microservice gets released and is available as component to replace the planned component with an existing component.

Read more about application composition.

The component repository

The main building block of the new application composition feature in IBM Financial Services Workbench is the Component Repository. It's the place where all information required to deploy a component is stored in form of Helm charts. The component repository (Helm repository) can reside inside or outside your cluster and needs to be configured for your IBM Financial Services Workbench installation and acts as a catalog for all your business capabilities.

The component repository is globally available for all users and a central place to bring all existing solutions together.

You can still develop microservices as you are used to but the moment you are done implementing you now have the choice to release them to the component repository. As soon as a microservice is available as a component in the repository it can be added to any application composition project. Whenever you want to update an existing component you can simply release a new version of it which will then also be available in the repository with its corresponding version.

Besides the microservices you built with IBM Financial Services Workbench, there is also the option to add your existing solutions to this repository by providing their Helm charts. This requires your solutions to be deployable via Helm charts.

Read more about the component repository.

New pipeline definitions

Due to the new approach of components there are new pipelines in place that replace the existing pipeline definitions for service projects.

Release pipeline:

This pipeline is used to publish a service project to the component repository and make it available as a component for application projects. Similar to previous pipeline definitions there is also an option to execute all existing unit tests while the option "Auto Trigger" automatically runs the pipeline on every change of the source repository (Git). Furthermore, there is an option to automatically add a timestamp to pre-release versions to ensure that every commit gets built without having to manually change the version. The last option is the "Enable Unique SemVer check" which will check if the current version has already been published or not to prevent previous versions to be overwritten unintentionally.

Deploy pipeline:

This pipeline is used to deploy a single microservice to one of the configured deployment targets (k5-projects). The main intention is for testing and debugging purposes. This pipeline definition provides only the "Enable Unit Test Execution" and the "Auto Trigger" options (see release pipeline). In addition, you have to select a deployment target. In case you want to deploy to more than one deployment target you can create multiple deploy pipelines.

Read more about the new pipeline definitions.

Deployment via GitOps

IBM Financial Services Workbench 3.0 introduces a new deployment mechanism for application composition projects that follows GitOps principles. That means, every application has its own Git repository that contains all necessary declarative descriptions of the infrastructure and automated processes to make the environment match the state described in the Git repository. So whenever you commit changes to the repository of the application the automated process handles everything required.

Read more about application deployment.

Workspaces

Workspaces can help you organize your work by grouping the projects you are working on into different views. Therefore, you can create as many workspaces as you need. You can add as many projects to a workspace as you want and these can be of any project type. This means you can add any number of application composition projects or service projects to a workspace. The projects in a workspace don't need to have any relation to each other. It is totally up to you how you define your workspaces.

Every workspace has a name that you can change at any time and also a short description that you can use to give a brief overview of the projects inside the workspace. This can help you organise when you have multiple workspaces and will be displayed on a workspace's card in the overview. Furthermore, a workspace also has a dedicated description area providing a WYSIWYG text editor that you can use to document or describe information related to the projects inside this workspace. This can be your personal notes, implementation hints, requirements or just anything you want to have in reach when working on these projects. You can edit this description as soon as the workspace is created.

Read more about workspaces.