As a framework user, I want endpoints to be able to exchange structured events with the other endpoints that belong to the same user.
- The event classes of same subject area must be grouped into event class families (ECF).
- Application must be able to support multiple ECFs.
- Multiple applications within the tenant must be able to support same ECF.
- Application administrator must be able to generate SDK based on list of ECFs. In order to do so, he has to specify whether the client would serve as a "source", "sink", or "both" for each event class in the ECF.
- EP SDK must expose APIs for obtaining ECF factory. This factory must provide method for accessing object that provides operation with concrete ECF.
- EP SDK must expose APIs for sending event of a specific event class. The ECF object must have @[email protected] method overloaded for each event class that was registered as "source" during SDK generation.
- EP SDK must expose APIs for registering listener to each event class family events. The ECF object should expose listener interface that has @[email protected] method overloaded for each event class that was registered as "sink" during the SDK generation.
- EP SDK must expose APIs for requesting list of EPs that act as sinks for the specific event class (within the user).
- Web UI
- Web UI must support administration of event classes and class families.
- Web UI must support mapping of event class families to the applications which support them.
- Web UI must support generation of EP SDK based on the list of event families mapping.
- Operations server
- Operations sever protocol must be extended to support event-related requests.
- Operations sever must support routing of events across the endpoints that belong to the same user.
- Operations sever must support discovery of the endpoints that are connected to different operation server instance but belong to same user.
- Operations sever must support efficient routing of events between operation servers.