26 Nov, 2019 | 3 min read

Docker for WSO2 Open Banking

  • Kalana Wijethunga
  • Job Title - WSO2

Today, we are happy to announce the launch of Docker for WSO2 Open Banking, a feature that many of our open banking customers have been interested in. We believe this will significantly enhance the customer experience with our solution.

WSO2 Open Banking is a pre-configured solution specially designed to offer regulatory compliance for financial institutions that follow different open banking standards set in different regions of the world. WSO2 Open Banking leverages the capabilities of WSO2 API Manager and WSO2 Identity Server to offer a fully compliant open banking solution to customers across the United Kingdom, Europe, and now Australia.

Docker is the #1 container runtime in the world today. It allows organizations to build platform-independent applications that can be shared and run anywhere, in the same way and irrespective of the environment. It can be your local machine or a production environment in the cloud; the Docker image runs seamlessly on both without the need for additional configurations.

Docker for WSO2 Open Banking allows users to deploy WSO2 Open Banking with a single command in a matter of few minutes. It ensures the solution is deployed according to your specification (UK/Berlin) and that it is fully functional for evaluation purposes. Docker images for WSO2 Open Banking can be downloaded from the WSO2 Private Docker Registry. Note that you need an active WSO2 Open Banking subscription to download these images.

The Docker Architecture for WSO2 Open Banking

The Docker resources for WSO2 Open Banking are developed using Dockerfiles and Docker Compose files. The building blocks of the architecture are explained below in detail.

What Is a Docker Image?

A Docker Image is a file that comprises multiple layers that are created by instructions given in a Dockerfile. When this Dockerfile is executed, it creates a portable Docker Image, which can then be run or shared across any platform. Once this Docker Image runs, it converts into a Docker Container, which is a live instance of the relevant Docker Image.

What Is a Docker Compose File?

Docker Compose is a tool for defining and running multi-container Docker applications. Docker containers are independent pieces of software, running in isolated environments. Docker Compose creates connections among them and maintains dependencies among them. A Docker Compose file is a YAML file that describes the dependencies and connections among containers. Once you run the Docker Compose file, it identifies the dependencies among the containers and the relevant configurations needed to maintain communication between containers. It then sequentially starts the containers in the correct order after applying the configurations.

Docker Components for WSO2 Open Banking

Docker for WSO2 Open Banking has two major resources:

  • Docker Images for fresh installations of WSO2 Open Banking API Manager, Key Manager, and Business Intelligence.
  • Docker Compose resources for a fully functional instance of WSO2 Open Banking based on your specifications.

Docker Images

So far, we have created Docker Images for the following products of WSO2 Open Banking. The Dockerfiles for these Docker Images are available in the source repository.

  • WSO2 Open Banking API Manager Image for Ubuntu and Alpine.
  • WSO2 Open Banking Key Manager Image for Ubuntu and Alpine.
  • WSO2 Open Banking Business Intelligence Image for Ubuntu and Alpine (for Worker and Dashboard profiles).

Docker Compose Resources

Docker Compose Resources for WSO2 Open Banking contain the following profiles:

1.Open Banking API Manager with Open Banking Key Manager Profile

Figure 1: WSO2 Open Banking Deployment Pattern 1

  1. Open Banking API Manager and Open Banking Key Manager with Open Banking Business Intelligence Profile

Figure 2: WSO2 Open Banking Deployment Pattern 2

We have released Docker Compose Resources for WSO2 Open Banking for UK and Berlin with the above profiles. The details on these profiles are as follows:

Open Banking API Manager with Open Banking Key Manager Profile

This profile contains 3 containers.

  • MySQL container
  • Open Banking Key Manager container
  • Open Banking API Manager container

The MySQL container consists of the necessary scripts to populate the databases necessary to run this profile. The Open Banking Key Manager and API Manager containers comprise the Key Manager and API Manager instances, respectively. Once you run the Docker Compose file, it gives you a fully functional Open Banking solution in your local environment.

Open Banking API Manager and Open Banking Key Manager with Open Banking Business Intelligence Profile

In addition to what the above profile provides, this profile gives you the analytics capabilities for the solution. It contains two instances of Open Banking Business Intelligence servers that run in the Dashboard and Worker profiles. The Business Intelligence servers provide you with business intelligence and insights on usage trends as well as custom business insights.

The Worker and Dashboard profiles are available for both WSO2 Open Banking UK and Berlin.

Advantages of deploying WSO2 Open Banking using Docker

  • Superfast deployment → You can have an instance of a fully functional WSO2 Open Banking solution in a matter of a few minutes.
  • Zero configurations → What’s exciting is that you don’t have to do any configurations for a tailor-made open banking solution that is deployed according to your specification with a single command!
  • Easy to update → WSO2 Private Docker Registry contains the WSO2 Open Banking solution with the latest updates. So, each time you pull the image, you get the latest solution equipped with all the updates.
  • Hassle-free evaluation → If you are a potential customer who wants to try out the solution or an existing customer who is looking at the latest version, why go through all the trouble of downloading the setup, installing, and configuring? With Docker, you have a fully configured Open Banking solution at your fingertips.
  • Thinking of moving to Kubernetes? → A container is the first building block of Kubernetes. So if you are already using Kubernetes or thinking about moving your open banking solution to Kubernetes, this is great news for you! Production-ready Kubernetes artifacts for WSO2 Open Banking will also be available soon. See the following section for more information.

What’s Next for WSO2 Open Banking?

WSO2 Open Banking now has deployment options available in Puppet and Docker. Our next step is introducing Kubernetes artifacts for the solution.

Kubernetes is a container orchestration system, which automates application deployment, scaling, and management. Now that we have containers that run WSO2 Open Banking, we are stepping into delivering robust, scalable, highly available, and production-ready artifacts for WSO2 Open Banking.

Download WSO2 Open Banking Docker Artifacts

If you want to manually create the Docker Images, Dockerfiles are available in the official WSO2 docker-open-banking repo.

If you want to run a fully functional instance of the WSO2 Open Banking solution, the required artifacts are also available in the WSO2 docker-open-banking repo under docker-compose.

Detailed instructions on installing and trying out these artifacts are provided in the above repository.