Re: [ Andrzej Jan Taramina ] [Embedlets-dev] Re: Event Manager
Status: Alpha
Brought to you by:
tkosan
|
From: Gregg G. W. <gr...@sk...> - 2003-02-24 02:24:42
|
>The Embedlet Event Manager service will provide the ability for an event >consumer to specify criteria for the events they want to receive, and >this will include more than just the "type" of the event (since that is >pretty coarse grained). > >You'll be able to subscribe to events by: > > - event type > - producer (specific sender) > - various other properties (either user or system properties in the > event). > - Any combination of the above. The more complex you make the decision logic, the more overhead will be involved in 1) executing the logic 2) defining the interaction of the criteria (and, or, xor and not) 3) educating users to use it correctly so that the documentation and the implementations match. We wanted to do all of these, and Jini LUS users want all of these. But in the end, it is simpler to limit the criteria. For pub/sub, I'd still suggest a simple hierachial topic string system, and that you should just include the appropriate parts in the topics. Predefined topic trees would be beneficial, but using properties to configure modules to use the appropriate topic simplifies the whole mess by delaying this issue till deployment which can allow some modules to be used in ways that were not originally in the design. control.switch.off.1.<producer> is an example topic, where everything is specified. In a topic system, at deployment time, you could match with control.switch.*.1.* to get all of switch 1 actions from all producers. A single type of subscription, such as this, allows optimizations to be designed into the system, but letting presupplied topics to be 'compiled' to match optimally. When you include a more complex arrangement, such as an object that includes values for all of these, such as new Event( SWITCH_CONTROL.ANY, 1, "*" ) you get a more complex system that is not very expandable, when the user actually has several other critera that they need to match on. I do have a broadcast 'space' that includes single copy delivery in a mesh environment, and topic based pub/sub, that I am willing to 'donate' to the cause... ----- gr...@cy... (Cyte Technologies Inc) |