In EW Data Exchange, the DDHub Message Broker is analogous to a computer - it is foundational infrastructure upon which participants gain the ability to establish their own “profiles”, exchange messages, and run their own applications. The DDHub Message Broker routes and translates messages between participants. Messages are structured and organised in distinct channels
corresponding to specific use cases or business processes, and formatted in topics which define data formats and schemas.
In order to access certain channels and gain permissions to send and/or receive specific message types, participants must acquire roles that reflect their role within the market (or use case), using credentials attached to their self-determined identity. Credentials are granted by a platform governing body and determine the ability to send messages to other participants using channels (what messages are sent and received) and topics (data schemas that define the payload of a message).
Channels are defined at the client gateway, and are what messages are sent and received on. Participants define a channel as:
Type
: Publish/Subscribe
Topics
: Any that the DID has visibility of
Restrictions
: Who will receive a message on a publish channel, or who I will receive a message from on a sub channel. Channels can be restricted by DID or role
An example of a channel definition object is provided below. In this example, the channel will receive RealTimePricing
or DayAheadPricing
from any DID with the role: user.roles.internal.apps.operator.iam.ewc and does not specify that payload encryption is required.
Topics are data schemas that define the payload of a message within a channel. They are grouped under owners that are used as an authorization unit for visibility. Two examples of Topics for publishing and acknowledging a distribution network line constraint are provided below:
\