Projects overview

Introduction

Any kind of development with IBM Financial Services Workbench is organized in projects. Solution Designer supports two different types of projects:

  • Application composition project: Used to compose applications comprised of multiple components

  • Service project: Represents a single microservice modelled and implemented by the user which can be used as component for an application composition project

The Projects page in Solution Designer provides an overview of both types, so you have quick access to all projects no matter if you want to compose an application or model a microservice.

Application composition projects

The main purpose of this project type is to compose applications based on already existing, reusable components. An application is just a representation of deployment instructions for multiple components that will get deployed together but there is no source code as there is in service projects.

Inside an application composition project you can add either existing components or planned components.

Existing components

An existing component is an already implemented service that either

  • has been created as a service project by the user and has already been released and registered at the component repository so it can get deployed to an arbitrary deployment target or

  • is a pre-built service delivered by the software manufacturer (framework component) or a third party

  • has been created by the user without IBM Financial Services Workbench but is deployable via a Helm chart and therefore can be provided within the component repository

All components can simply get added to any application composition project and will then get deployed together with the rest of the application's components to the deployment target specified. You can at any time decide which version of the component should get deployed. Any changes will only take effect when re-deploying the project.

Planned components

A planned component is considered to be used whenever it is not yet clear how to implement a single microservice, but it is already decided that this component will be needed later. Therefore, planned components should be seen as a placeholder that can later be replaced either by

  • creating a Service Project in case you want to implement the component on your own

  • choosing an Existing Component from the component repository and setting a version to deploy

Attention: If you choose to replace a planned component with a service project you can only use this service project as a component of the application as soon as you released at least one version of it. An application composition project can only use components that are already in the component repository.

Service projects

This project type is used to create a single microservice if you decided to implement it on your own. As a single microservice solves a problem that may arise in several places, you may want to (re-)use this microservice as a component in multiple application composition projects. To do so, you just have to release your Service Project and register the desired versions at the component repository.

Solution Designer offers different service project types that support different approaches of development:

Low-code projects

Low-code projects offer the maximum of support for both the Business Analyst and the Developer. The whole modelling process can be done with a no-code design environment that follows Domain Driven Design principles. The committed design model will then be processed to generate the implementation code base. Each modelled element will get its code representation with almost all necessary methods pre-generated.

As a software developer you can directly jump-start without caring for basic stuff like communication protocols or security concerns. It is all already in place when you clone the service project to your local machine, so you can focus only on the business logic of your services.

You can choose between the following implementation languages when creating a low-code project:

  • Java (Spring Boot)

  • TypeScript (Node.js)

See low-code development for further information.

Pro-code projects

The pro-code projects are considered to be used whenever you need to have full control over the source code, and you don't need/want to use the no-code design and low-code development support. This means, you will only profit from the continuous deployment and security capabilities but have to care for the rest on your own.

You can choose between the following implementation languages when creating a pro-code project:

  • Java (Spring Boot)

  • TypeScript (Node.js)

  • JavaScript (Node.js)

See pro-code development for further information.

Template projects

Solution Designer also offers to export service projects (low-code and pro-code) to the built-in marketplace to make them available for import by other users/developers. You can also use the marketplace to duplicate a service project and then alter it to create variants of a project.

Read more about setting up projects.