With 'realtime' data changes I mean data changes which can occur e.g. 10 times per second; or even in the millisecond range ...
For delivering object attribute changes from AwareIM to a realtime data exchange mechanism I can imagine the following:
RULE:
If RealtimeMonitoredObject WAS CHANGED
Then PropagateAttributeChanges NOWAIT
'PropagateAttributeChanges' is a custom process which calls getEntity("RealtimeMonitoredObject", RealtimeMonitoredObject.ID) and feeds the new object values into a realtime data exchange engine
But how could one implement the other way round ? Delivering object attribute changes from a realtime data exchange engine back to AwareIM ?
How can I call the 'updateEntity()' method from a realtime data exchange engine ?
Via an Intelligent BO using the communication channel "Sockets" ?
Before investing more thought into this at all, the following question has to be answered:
Can 'getEntity()' and 'updateEntity() be (mis)used as workhorses for realtime capabilities ? That is could I call them e.g. 10 times per second and the rule engine reacts accordingly ?
If this does not make sense at all: What happens if I access objects created by AwareIM directly in the underlying database ? In order to feed a realtime data exchange engine directly from the database ? Will this disturb AwareIM's rule machinery ?