CPC G06F 9/542 (2013.01) [G06F 9/30003 (2013.01); G06F 9/3851 (2013.01)] | 15 Claims |
1. A computer-implemented method (CIM) for use with an event streaming platform (ESP) in an event-driven architecture, the CIM comprising:
receiving, at the ESP, a plurality of event streams, wherein each event stream of the plurality originates from a respective software application, of various software applications integrated into the ESP, and comprises a stream of event notifications published by its respective software application, and wherein the ESP serves as a hub for event notification streams from the various software applications;
receiving an output function from a software application, of the various software applications, via an application programming interface which provides the software application ability to define the output function, wherein the output function comprises a mathematical combination of a specified subset of at least two event streams of the plurality of event streams, and wherein the output function further specifies, for each event stream in the specified subset, criteria for selecting subsets of event notifications within their respective event streams as variables to calculate an output value via the mathematical combination, and wherein receipt of the output function also includes receiving instructions to create, and publish to, an output stream at the ESP which corresponds to the output function;
upon receipt of the output function, creating the output stream at the ESP and initializing the output stream with an event notification value by applying the output function to the specified subset;
monitoring the plurality of event streams for newly published event notifications;
responsive to determining a newly published event notification corresponds to one of the event streams of the specified subset, publishing a next event notification value to the output stream at the ESP, where event notification values in the output stream correspond to results of the output function applied upon the selected subsets of event notifications from their respective event streams; and
consuming, at the software application, the event notification values in the output stream.
|