Ebury Domains
Domains and Capabilities Map

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