directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny" <>
Subject Re: [ApacheDS] Cost of interceptors / BindHandler Chain as an example ...
Date Thu, 31 May 2007 17:17:03 GMT
Hi guys,

as a perfect exemple of what I wrote about interceptors, I can use the
BindHandler chain to exhibit some of the problems this pattern

1) Debugging nightmare : The BindHandler chain is a composition of 6
handlers. When commuting from one handler to the next one, you have to
pass through 4 levels of calls into MINA (which means if you don't
have the sources, your are blind). The only way to step through those
handlers is to *know* which is next into the chain, and as this chain
is supposed to be dynamic (at least theorically), can be more than
tricky. And in this case, you will have to set 7 breakpoints...

2) If you are using Simple authentication, you must go through SASL
configuration and handling. Costly ...

3) the order in which the handler are called will never change : (1)
check the parameters, (2) handle the authenticator, (3) get the
context (4) process to the bind operation (5) return the result. In
this case, we could perectly avoid using a chaining pattern

At some point, I think that we should discuss the chosen
implementation and architecture before going for a complex choice, as
soon as it does not freeze the developpement into a net of mails and
IRC convo so tight that no code get out of this net.

Don't get me wrong : I have used this BindHandler sample because it
was simple enough to be used to sustain my opinion, not because the
code is bad or the ideas are bad. I just think we can go for more
simplicity if it helps the server to be maintanable, scalable, fast
and flexible.

IMHO, of course !!!

Emmanuel L├ęcharny

View raw message