Cloud-based event processing with on-premises response.

Pattern Definition
Problem | How do I use Cloud resources to process incoming events, sense a need to respond, and respond via on-premises systems? | |
Context | This pattern is applicable when there is a desire to leverage Cloud computing to process high volume events while responding to the events with on-premises systems. While it is possible to have a point-to-point connection to a single on-premises application for response, an on-premises Application Integration Platform or Messaging Platform provides a more flexible response capability. | |
Forces |
| |
Solution | This pattern employs an Stream Processing Platform only in the Cloud. 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 an on-premises application, Application Integration Platform or Messaging Platform. The response could be automated or could require human action. | |
Consequences | Pros:
|
Interaction Views
Cloud Stream
Events from devices processed in the Cloud with response on premises.

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