Stream Services are an Open-Source accelerator to connect with Backbase "out-of-the-box" components that talk to DBS and are responsible for orchestrating calls to DBS. The orchestration of calling different services is written in a functional programming style on project reactor enabling resiliency and scalability. Stream Services are packaged as libraries that can be included in any project, REST Service and/or Spring Cloud Data Flow Applications.
The Services are listed with Service name and how they are packaged.
Currently, the following DBS services are exposed as Stream Components:
- Stream Legal Entity (Lib, Rest, Task) → Legal Entity Ingestion Service that orchestrate all calls to DBS from a single aggregate model. This service is exposed as a library and a REST full service. Supports retry of the aggregate and uses the Legal Entity Ingestion Model to have a single interface into DBS. Requires Access Control, Product Summary
- Stream Product Catalog (Lib, Rest, Task) → Enabled bootstrapping of product types into DBS. Product Types are currently hardcoded in the streamTask definition. Orchestrates calls into Product Summary
- Stream Loans (Lib, Rest, Task) → Enabled bootstrapping of loans into DBS. Loans are currently hardcoded in the streamTask definition. Orchestrate calls into Loans after the products were ingested into Product Summary
- Stream Access Control (Lib) → The Stream Access Control library provides access to Access Control services from a single library and provides an easier abstraction layer to use these services. It mixes access to persistence and service api's to enable proper service to service comms for non DBS services such as Stream. Requires Access Control, Product Summary
- Stream-Cursor (Lib, Rest, Source) → The Stream Cursor Source is listening to predefined DBS events such as On Login. For each login event, it will retrieve a list of products from entitlements and creates an Ingestion Cursor per product. Cursors can be stored in a RDBMS and published on a HTTP Web Socket or Spring Cloud Dataflow Source. Requires RDBMS, Access Control, Product Summary and Transactions. Login Event received from Authentication Starter or Identity (with Audit Events enabled)
- Stream Transactions (Lib, Rest) → Allows ingestion into DBS in a controlled way with support for retry, rate limiting and configurable batch sizes.
- Stream DBS Clients -> The Stream DBS Clients are generated from Backbase OOTB specs and provide a reactive interface to interact with DBS services.
- Stream Portfolio (Lib, Rest) → Allows ingestion into DBS in a controlled way.
- Stream Payment Order (Lib) → Allows ingestion into DBS in a controlled way.
- Stream Compositions (Rest) → Orchestrates ingestion by fetching data from core bank systems.
All notable changes to this project are documented in the CHANGELOG.md file.
You can find listed here the API specification containing the opinionated model of the supported Stream Services:
Service | OpenAPI Spec | Redoc |
---|---|---|
stream-legal-entity | openapi.yaml | Ingest Legal Entity API |
stream-audit | openapi.yaml | Audit |
stream-approvals | openapi.yaml | Ingest Approval API |
stream-product-catalog | openapi.yaml | Product Catalog API |
stream-portfolio | openapi.yaml | Portfolio Ingestion API |
stream-compositions | specs | Stream Compositions |
stream-compositions/cursors | specs | Stream Compositions - Cursors |
stream-compositions/integrations | specs | Stream Compositions - Integrations |
Stream version | Banking Services | Java | Spring Boot |
---|---|---|---|
6.2.0 to latest | 2024.10 | 21 | 3.3 |
6.0.0 to 6.1.0 | 2024.10 | 21 | 3.2 |
5.10.0 to 5.16.0 | 2024.09-LTS | 21 | 3.2 |
5.0.0 to 5.9.x | 2024.04 | 21 | 3.2 |
4.1.1 to 4.x.x | 2024.03-LTS | 17 | 3.1 |
4.0.0 to 4.1.0 | 2023.12 | 17 | 3.1 |
3.70.0 to 3.x.x | 2023.09-LTS | 17 | 2.7 |
3.50.0 to 3.69.0 | 2023.06 | 17 | 2.7 |
3.34.0 to 3.49.0 | 2023.02-LTS | 17 | 2.7 |
3.16.0 to 3.33.0 | 2022.10 | 17 | 2.7 |
3.8.0 to 3.15.0 | 2022.09 | 17 | 2.7 |
3.1.0 to 3.7.0 | 2022.09 | 11 | 2.6 |
2.71.0 to 3.0.0 | 2022.04 | 11 | 2.5 |
2.49.0 to 2.69.0 | 2021.09 (2.21.2.x) | 11 | 2.5 |
2.44.0 to 2.48.0 | 2021.07 (2.21.0.x) | 11 | 2.5 |
2.23.0 to 2.43.0 | 2.20.x | 11 | 2.3 |
2.15.0 to 2.22.0 | 2.19.x | 11 | 2.3 |
2.1.0 to 2.14.0 | 2.19.x | 8 | 2.3 |
Please see the license terms here.
This is an open-source project! Please check our contribution guidelines here.