Ebury Domains

Domains and Capabilities Map

Domains

A Capability denotes the what a business can do. It records the Capability of the business independent of any implementation. A Capability map for the business is a good starting point for Domain Driven Design.

A collection of related Capabilities the Domain.

Each Capability can be mapped onto an implementation - which is a collection of Bounded Contexts and their constituent Services. (2)(3).

The Capabilities illustrated above are colour coded to indicate their current status : - Explore: a new capability under investigation or development. - Invest: an existing capability that is being improved. - Mature: An existing and well proven capability. - Replace: A legacy capability that needs replacing.

Teams own Services (Service Ownership) and typically specialise in the services of one domain.

Domains are:

  • Decoupled from other domains. Mark and remove deprecated systems. Do not share data models or databases - share events and APIs

  • Consumer first. Consider impacts of change on all consumers, provide consistent interfaces and dataflows.

  • Avoid complexity. Avoid accidental complexities, simplify systems and business processes. Don't duplicate data ownership. KISS - Keep it simple and straightforward,

  • Isolate failures. Consider the impact of failure and cascading failure

  • Observable. All components provide insight to their operation.

There are 9 Domains :

treasury
liquidity
fx_products
lending_products
client_management
fraud_compliance
money_movement
payments
accounts

Channels

Channels support user facing interfaces.

External Channels provide interfaces supporting users and consumers outside of Ebury.

  • Ebury Online
  • Mobile Apps
  • Public APIs
  • Customer Portals
  • Host-to-host Connectivity
  • Customer Identity and Access Management

Internal Channels provide interfaces supporting internal applications

  • Internal APIs
  • Operations Portal
  • Workflow Automation
  • Internal IAM/RBAC

Channels front the services implemented in the Domains - and are not a Domain in their own right.

Treasury

treasury is the management of liquidity and the mitigation of financial risk.

  • Reporting
  • Management
  • Trade Exposure

Liquidity

liquidity provides rates, quotes and pricing support. Manages and optimises access to wholesale liquidity markets (Broker deals).

  • Rates
  • Quotes
  • Liquidity provider connectivity & management
  • Position aggregation (Internal book)

FX Products

fx_products are the currency products offered to clients. E.g. spot, forwards, flexi-forwards, etc.

  • Trade definition
  • Trade lifecycle
  • Liquidity provision
  • Pricing
  • Options
  • Dynamic Forwards
  • Limit orders

Lending Products

lending_products involve lending to clients - e.g. trade finance.

  • Product definition
  • Loan lifecycle
  • Underwriting
  • Trade definition
  • Trade lifecycle
  • Repayment lifecycle

Client Management

client_management includes all aspects of client management from initial prospect to active customer.

  • Client definition
  • Client communications
  • Client lifecycle
  • Client financial risk management
  • Provisions
  • Prospects
  • Sales

Fraud and Compliance

fraud_complaince includes the monitoring of clients and transactions to ensure regulatory compliance and minimise fraud.

  • FX Products Regulatory Compliance
  • AML screening
  • KYC lifecycle
  • Fraud monitoring (including transaction monitoring)
  • Ongoing due-diligence
  • Jurisdiction and regulatory compliance horizon scanning

Money Movement

money_movement is the management of transactions between accounts (Ebury’s currency accounts, internal & external bank accounts).

  • Ledgers
  • Balances
  • Funds reconciliation
  • Debit & credit
  • Credit extensions
  • Provisions
  • Statements
  • Rules based allocations
  • Fees

Payments

payments execute transactions between external accounts (bank accounts, cards, crypto, etc)

  • Payment Routing
  • Time and date
  • Payment schemas
  • Cards
  • Beneficiaries
  • Receipts
  • Crypto

Accounts

accounts relate to the management of bank account details

  • Account definition
  • Account lifecycle
  • Account details verification
  • Provider connectivity

References

Domain-Driven Design: Tackling Complexity in the Heart of Software. Eric Evans.

Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy. Vladik Khononov

Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations. Nicole Forsgren, Jez Humble, and Gene Kim