avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nader Aeinehchi" <na...@aeinehchi.com>
Subject Re: Event mechanism in Merlin
Date Fri, 09 Apr 2004 16:01:52 GMT
Hi Alex

I took a fast look at the interfaces and the implementation of EventRouter,
Subscriber, ....

1. Pretty interesting.  The way they have handled it is very similar to the
way we have done it in a customer project.
Basically, there is a Hub(here a Router) and a set of Spokes (nodes) around
the Hub.  Each spoke may be Subscriber and/or Publisher of events.
I guess the guys have made a simplification where each Publisher is also a
Subscriber, that is exactly the same experience we got in our customer
project.

This model offers these benefits:

a. scalability: you can almost add infinite number of Spokes to a Hub
b.loose coupling:  there is a loose coupling among Spokes in constrast to
Observer and Observable pattern where observers must know about know a
specific observable
c. fire and forget: events are fired into the Hub.  Publishers does not care
that which Subscribers are going to receive the event
d. type of event: Subscribers are notified about certain type of events that
they are interested in
d. filtering: additional filtering....
e. Hubs can connect to other Hubs (like network hubs).
f. Container wide Hubs: such Hubs can be created to handle events within a
container
g.  Local Hubs: can handle events for a cluster of related objects, e.g. a
panels within a Wizard may be interested in send events to each other in an
isolated environment
h. Security: it is possible to enforce security on all or certain event
types.  This is very highly interesting where the communication among
various objects must be secured.
E.g. consider a menu item that publishes an event into the Hub which in turn
is received by CommandManager.  Here Menu and CommandManager are Spokes.
Now, CommandManager may call a Command that makes a server call.  Suppose
the user were not allowed to use such an event.  Well, either Hub could
simply filter this event, or
CommandManager could ignore this event for this user.

2. I did not spend much time to really dig into their interfaces and
implementation.  At this moment, I am Newbie to Merlin and trying to
understand how to write a simple application with it....

3. By the way, a Router is a more appropriate word than Hub because of the
filtering capability.


Best Regards

--
Nader Aeinehchi
Aasenhagen 66 E
2020 Skedsmokorset
NORWAY
Direct and Mobile +47 41 44 29 57
Tel (private): +47 64 83 09 08
Fax +47 64 83 08 07
www.aeinehchi.com

----- Original Message -----
From: "Alex Karasulu" <aok123@bellsouth.net>
To: "'Avalon Developers List'" <dev@avalon.apache.org>
Sent: Friday, April 09, 2004 4:11 PM
Subject: RE: Event mechanism in Merlin


> Nader check this out:
>
>
http://cvs.apache.org/viewcvs.cgi/incubator/directory/eve/trunk/frontend/eve
> nt/?root=Apache-SVN
>
> namely look at the SPI for the service interfaces then the pojo impl.
> The merlin-impl is just a POJO wrapper for Merlin.
>
> What do you think about creating a custom lifecycle for the subscribe
> Operation on this event router/bus concept.  BTW Berin has already done
> this with GUIApp but I'd like to see this sort of thing make its way
> into Merlin.
>
> Cheers,
> Alex
>
> > -----Original Message-----
> > From: Nader Aeinehchi [mailto:nader@aeinehchi.com]
> > Sent: Friday, April 09, 2004 5:00 AM
> > To: Avalon Developers List
> > Subject: Event mechanism in Merlin
> >
> > Hi
> >
> > - I wonder if any special approach has been taken in Merlin to handle
> > events?
> > - Are events handled based on usual Java event mechanism?
> > - Observer and Observable pattern?
> > - Are alternative even mechanisms been discussed/used like Hub and Spoke
> > or Event Bus?
> >
> > Thanks.
> >
> >
> > Best Regards
> >
> > --
> > Nader Aeinehchi
> > Aasenhagen 66 E
> > 2020 Skedsmokorset
> > NORWAY
> > Direct and Mobile +47 41 44 29 57
> > Tel (private): +47 64 83 09 08
> > Fax +47 64 83 08 07
> > www.aeinehchi.com
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
> For additional commands, e-mail: dev-help@avalon.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Mime
View raw message