Alex Karasulu wrote:
Hi all,

On Jan 16, 2008 5:26 AM, Emmanuel Lecharny <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Hi Alex, PAM,

    if we are to go away from JNDI, Option 2 is out of question.
    Anyway, the
    backend role is to store data, which has nothing in common with
    Naming,
    isn't it ?


Well if you mean the tables yes you're right it has little to do with javax.naming except for one little thing that keeps pissing me off which is the fact that normalization is needed by indices to function properly. And normalizers generate NamingExceptions. If anyone has any idea on how best to deal with this please let me know.
Well, indices should have been normalized *before* being stored, and this is what we are working on with the new ServerEntry/Attribute/Value stuff, so your problem will vanish soon ;) (well, not _that_ soon, but ...)
    and I
    see no reason to depend on NamingException when we have nothing to do
    with LDAP.


We still have some residual dependence on LDAP at higher levels like when we talk about Index or Partition because of the nature of their interfaces. Partitions are still partial to the LDAP namespace or we would be screwed. They still need to be tailored to the LDAP namespace. There are in my mind 2 layers of abstractions and their interfaces which I should probably clarify

Partition Abstraction Layer
--------------------------------
o layer between the server and the entry store/search engine (eventually we might separate search from stores)
  o interfaces highly dependent on the LDAP namespace

BTree Partition Layer
-------------------------
o layer between an abstract partition implementation with concrete search engine which uses a concrete search engine based on a two column db design backed by BTree (or similar primitive data structures) o moderately dependent on the namespace

Note the BTree Partition Layer is where we have interfaces defined like Table, and Index. These structures along with Cursors are to be used by this default search engine to conduct search. We can then swap out btree implementations between in memory, JE and JDBM easily without messing with the search algorithm.
This is where things get tricky... But as soon as we can clearly define the different layers without having some kind of overlap, then we will be done. The pb with our current impl is that we are mixing the search engine with the way data are stored. Your 'cursor' implementation will help a lot solving this problem.

--
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org


Reply via email to