Skip to content
Ueslei Lima edited this page Apr 2, 2021 · 7 revisions

Introduction

Digital banking is part of the broader context for the move to online banking, where banking services are delivered over the internet. The shift from traditional to digital banking has been gradual and remains ongoing, and is constituted by differing degrees of banking service digitization. That adds more complexity for data orchestration from core bank to Backbase Digital Banking Services (DBS).

Backbase decided to invest in a new platform capability to orchestrate data. We call it Backbase Stream, It comes with a number of pre-built connectors and libraries that deal with real-time data, near-real-time, files, batches, whatever you can think of. And data can be transferred via REST calls to DBS or you can leverage Message Broker.

Feature provided by Backbase Stream for Data Orchestration:

  • Data Ingestion

  • Scheduling

  • Real-Time Update

  • Core Banking Connectors

What is Backbase Stream?

Backbase Stream is a set of "out-of-the-box" components that talk to DBS called Stream Services and are responsible for orchestrating calls to Digital Banking Services (DBS). The orchestration of calling different services is written in a functional programming style based on Spring Reactive that enables resiliency and scalability. 

Reactive systems have certain characteristics that make them ideal for low-latency, high-throughput workloads. Project Reactor and the Spring portfolio work together to enable developers to build enterprise-grade reactive systems that are responsive, resilient, elastic, and message-driven

Backbase Stream Platform contains the following modules:

  • Stream SDK

    • Stream SDK accelerates the development of Reactive Java components for the Backbase Stream Platform. It contains starters to quickly build (reactive) microservices that can be used in Spring Cloud Data Flow or Stream All-In-One services, It contains the Stream DBS Web Client which you can use to interact with Backbase DBS Presentation services using OAuth 2.0 client credentials. There are also several starters to aid you in the development of Backbase Stream components.
  • Stream Services

    • Stream Services are packaged and published as an Open Source Project on GitHub containing libraries that can be included in any project, REST Service and/or Spring Cloud Data Flow Applications.
  • Stream Connectors??

    • Stream Connectors offers a structured development and runtime environment for Stream Connectors ready to be delivered in Backbase Marketplace. The following connectors are developed and can be used in an all-in-one or as a reusable application in Spring Cloud Data Flow
  • Stream Generators??

  • Stream Recipes/Examples??

Why Backbase Stream?

Matching between banks and DBS models is difficult and we want to make it easier, Data Ingestion of a Retail Customer to DBS requires to create integrations with at least 8-16 endpoints and setup business logic for idempotency, back pressure, retry mechanism and monitoring. but Backbase Stream supports it "out-of-the-box".

Backbase Stream offers much easier approche that's built based on Saga Design Pattern. Stream also provides a standardized API that provides the orchestration of all needed DBS API with a single data model, this reduces the minimal endpoints you need to integrate to a single endpoint, then Backbase Stream deals with the underlying DBS integration endpoints to orchestrate the data model into DBS. 

Saga Pattern

Saga Design Pattern: A saga pattern is a sequence of local transactions where each transaction updates data within a single service, more: https://microservices.io/patterns/data/saga.html

For customers that still want to build their own ingestion services, Backbase Stream also useful to be used as a library to be a simple interface to DBS endpoints to make it easier for developers to build Data Ingestion Service.

Clone this wiki locally