Most BREs today are deployed as “decision services”, and are used in “stateless” transactions to make “decisions” as a part of a business process. A CEP application is instead processing multiple event streams and sources over time, which requires a “stateful” rule service optimized for long running. This is an important distinction, as a stateful BRE for long-running processes needs to have failover support - the ability to cache its working memory for application restarting or distribution. And of course long-running processes need to be very particular over issues like memory handling - no memory leaks allowed!
This reference is either acquired through a stringified URI string, NameService lookup (similar to DNS), or passed-in as a method parameter during a call. Object references are lightweight objects matching the interface of the real object (remote or local). Method calls on the reference result in subsequent calls to the ORB and blocking on the thread while waiting for a reply, success or failure. The parameters, return data (if any), and exception data are marshaled internally by the ORB according the local language and OS mapping. [edit]
- leave anything related to transport, communication to other layers- use this revised CEP to express and execute event-relevant logic, the purpose of which is to translate the ambient events into relevant business events- have these business events trigger business processes (however lightweight you want to make them)- have these business processes invoke decision services implemented through decision management to decide what they should be doing at every step- have the business processes invoke action services to execute the actions decided by the decision services- all the while generating business events or ambient events- etc.
M. Aehnelt, H. Diener, and A. Müller. Tagungsband 10.~Fachtagung Digital Engineering zum Planen, Testen und Betreiben technischer Systeme, 16.~IFF-Wissenschaftstage, page 139--146. Magdeburg, Fraunhofer-Institut für Fabrikbetrieb und -Automatisierung (IFF), (June 2013)
M. Aehnelt, H. Schulz, and B. Urban. Advances in Visual Computing: 9th International Symposium, ISVC 2013, Rethymnon, Crete, Greece, Proceedings, Part II, volume 8034 of Lecture Notes in Computer Science, Springer, Berlin, (2013)