KBP domain model: aggregates and owning systems

KBP domain model: aggregates and owning systems An architecture diagram generated by Archify. Customer & identity · Customer · Identity · Owner · KBP Core domain model (Core/Entities) Customer & identity Customer · Identity · Owner Master data · addresses · contacts · payment · history · KBP Core domain model (Core/Entities) Master data addresses · contacts · payment · history MyEnergyKey account · deletion status · registration link · KBP Core domain model (Core/Entities) MyEnergyKey account deletion status · registration link E-mobility debitor · debitor · account · payment methods · KBP Core domain model (Core/Entities) E-mobility debitor debitor · account · payment methods Contracts & consumption · Contract · Tariff · Meter · Deposit · Lock · KBP Core domain model (Core/Entities) Contracts & consumption Contract · Tariff · Meter · Deposit · Lock Offers & orders · ProductOffer · Order · OrderItem · KBP Core domain model (Core/Entities) Offers & orders ProductOffer · Order · OrderItem Financial account · AccountingRecord · Payment · PaymentPlan · KBP Core domain model (Core/Entities) Financial account AccountingRecord · Payment · PaymentPlan Relocation · ContractRelocationInformation · KBP Core domain model (Core/Entities) Relocation ContractRelocationInformation Receivables tasks · AuftragResult · ZustandResult · Note · KBP Core domain model (Core/Entities) Receivables tasks AuftragResult · ZustandResult · Note Marketing permissions · EffectivePermissions · Activity · KBP Core domain model (Core/Entities) Marketing permissions EffectivePermissions · Activity Telephone PIN · ServicePin · KBP Core domain model (Core/Entities) Telephone PIN ServicePin Next Best Action & content · MxoCustomerProfile · NbaContent · Alert · KBP Core domain model (Core/Entities) Next Best Action & content MxoCustomerProfile · NbaContent · Alert Customer Identity (CIM) · identity ids across systems · Owning business systems (system of record) Customer Identity (CIM) identity ids across systems CMDM · customer master data · Owning business systems (system of record) CMDM customer master data Auth0 (MyEnergyKey) · customer portal accounts · Owning business systems (system of record) Auth0 (MyEnergyKey) customer portal accounts E-Mobility Billing · debitor, account, payment · Owning business systems (system of record) E-Mobility Billing debitor, account, payment EnWiCore · commodity contracts · consumption · Owning business systems (system of record) EnWiCore commodity contracts · consumption ComV3 (COMtrol) · com-service · com-order-service · Owning business systems (system of record) ComV3 (COMtrol) com-service · com-order-service APA (SAP) · accounting and payments · Owning business systems (system of record) APA (SAP) accounting and payments Commodity Layer · relocation service · Owning business systems (system of record) Commodity Layer relocation service ZAuV / Digital Layer · task state machines · events · Owning business systems (system of record) ZAuV / Digital Layer task state machines · events Permission Service · consents and revocations · Owning business systems (system of record) Permission Service consents and revocations PIN Service · telephone PIN · Owning business systems (system of record) PIN Service telephone PIN MXO · Contentful · profiles, recommendations, content · Owning business systems (system of record) MXO · Contentful profiles, recommendations, content resolves ids reads / writes Management API reads reads / changes offers · orders balances · plans relocation process state transitions activities check · create profile · interactions KBP Core domain model (Core/Entities) Owning business systems (system of record) Legend Backend Database Security Message bus External

Read model, not a database

  • • KBP owns no business data; every aggregate mirrors a system of record
  • • Customer.Identity carries the ids that link the aggregates

Where the entities live

  • • Core/Entities is the only home of domain types
  • • Infrastructure.Data maps each system's contract onto them

Details

  • • Attributes and enumerations per aggregate are in the Domain Model page
  • • Feature-to-entity mapping is in the requirements section