What is participant tooling?

Participant tooling consists of a simulated Register, Data Holder and Data Recipient to assist with design, development and testing of a participant's CDR solution.

Within the current banking mock solutions, baseline code for key CDR processes have been tested against the conformance test suite, including Dynamic Client Registration, Consent Authorisation and API calls.

Work is currently underway to develop the energy mock solutions which is anticipated to be delivered in the first part of 2022.

Find out more about participant tooling.

What is the mock data holder architecture?

The architecture diagram provides a high level view of how all the components of the energy mock data holder interact with one another. It also illustrates how a data recipient would interact with the energy mock data holder.

How can it help a participant?

The diagram provides a high level overview of the components within the energy mock data holder and how they interact. It can also be used to illustrate the difference between the energy mock data holder and the banking mock data holder. Participants will be able to see that, apart from the Get Accounts and Get Concessions components, the rest of the solution is largely unchanged.

When can it be referenced?

The mock solutions have been designed to support participants with their internal CDR solution design, development and testing. The mock data holder architecture will particularly help with the design and development of a data holder's CDR solution.

Why is it important?

When used in conjunction with other information about other mock tools, it will help participants to understand the CDR regime. It can inform a participant's solution build, potentially leading to improved accuracy, speed and quality of build.

Energy mock data holder high level architecture

The following diagram outlines the high level architecture of the energy mock data holder. This is the draft high level architecture which may be subject to change.

Energy mock data holder architecture- December-2021

Energy mock data holder components

The energy mock data holder contains the following components:

  • Public API
    • Hosted at `https://localhost:8100`
    • Contains the public discovery APIs - `Get Status` and `Get Outages`.
    • Accessed directly on `port 8100`.
  • Identity Provider
    • Hosted at `https://localhost:8101`
    • Mock Data Holder Energy identity provider implementation utilising `Identity Server 4`
    • Accessed directly (TLS only) as well as the mTLS Gateway, depending on the target endpoint.
  • mTLS Gateway
    • Hosted at `https://localhost:8102`
    • Provides the base URL endpoint for mTLS communications, including Infosec, Resource and Admin APIs.
    • Performs certificate validation.
  • Resource API
    • Hosted at `https://localhost:8103`
    • Currently includes the `Get Customer`, `Get Accounts` and `Get Concessions` endpoints.
    • Accessed via the mTLS Gateway.
  • Manage API
    • Hosted at `https://localhost:8105`
    • Not part of the Consumer Data Standards, but allows for the maintenance of data in the Mock Data Holder Energy repository.
    • Also includes trigger points to refresh the Data Recipient, Data Recipient Status and Software Product Status from the Mock Register.
    • A user interface may be added at some time in the future to provide user friendly access to the repository data.
  • Repository
    • A MSSQL localdb database containing Mock Data Holder Energy data.

Technology stack

The following technologies have been used to build the energy mock data holder:

  • The source code has been written in `C#` using the `.NET 6` framework.
  • The Identity Provider is implemented using `Identity Server 4`.
  • The mTLS Gateway has been implemented using `Ocelot`.
  • The Repository utilises a `MSSQL` instance.