On-premises event processing with Cloud-based response.

Pattern Definition
Problem | How do I use Cloud resources to respond to when on-premises event processing determines a need to respond? | |
Context | This pattern is applicable when there is a desire to use Cloud-based applications to respond to events that are processed on premises. While it is possible to have a point-to-point connection to a single Cloud-based application (SaaS or an application deployed to PaaS or IaaS) for response, sending the event to a PaaS platform provides a more flexible response capability. | |
Forces |
| |
Solution | This pattern employs an Stream Processing Platform only on premises. The Stream Processing Platform receives incoming events and then filters, aggregates, correlates and enhances the events to determine when a response is required. If a response is required, a message is sent to SaaS. PaaS or application running on IaaS. | |
Consequences | Pros:
|
Interaction Views
On-Premise Stream
Event processing on premises using stream processing platform with response in the Cloud.

Interactions
- On-premises event generators send events to the on-premises stream processing platform.
- Cloud-based event generators also send events to the on-premises stream processing platform.
- The stream processing platform filters, correlates, aggregates, and enhances the events and creates outgoing events which are sent to the Cloud to be handled.
Notes
- The outbound event from the stream processing platform could be sent directly to a Cloud-based SaaS, however, sending the event to an application integration platform or messaging platform allows for a more flexible event response.
- In order for Cloud-based events to be received, some mechanism it will be necessary to allow incoming messages, .e.g., open a port in the on-premises firewall, gateway.