directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@gmail.com>
Subject [JNDI] Reorganization
Date Thu, 31 Jan 2008 16:02:33 GMT
Hi,

I'm just wondering if we can move around some JNDI related classes from 
core to apacheds-server-jndi ?

The idea is to reach a point where the server is not anymore depending 
on JNDI.

The current architecture is the following :

client <-- JNDI --> server

but this is a little but more complex, if you look inside the Client and 
the Server. First, you have two kind of clients :
o Remote clients, using LDAP protocol to communicate with the server
o Client embedding the server (no protocol communication, direct API dialog)

Remote clients :
---------------------------

They are communicating with the server traversing many layers :

Client
Sun JNDI API
LDAP procotol coder/decoder
<--- BER encoded data are passed via socket --->
MINA
Ldap BER coded/decoder
Ldap protocol handlers
JNDI mapping
ADS core
Backend

Embedding client :
--------------------------------

This is much simpler :
Client
Sun JNDI API
JNDI mapping
ADS core
Backend

Now, we have two options :
1) we want to offer a JNDI layer on top of the server.
2) we want to offer a direct access to the server API, not passing 
through a JNDI layer

Both options are compatible, if we consider that the server under a 
network layer is like an embedded server where the client is the Ldap 
protocol handler.

So the idea is to separate the JNDI mapping from the core server, and to 
allow clients to embed either the [JNDI layer + core] stack, or simply 
the [core] stack.

Atm, all the JNDI mapping is contained into the apacheds-core 
sub-project. My question is : can we move to apacheds-server-jndi all 
the DirContext, ServerContext, LdapContext, etc classes ?

The main issue is that we have the current dependencies scheme :

apacheds-server-jndi -> apacheds-core, apacheds-protocol-ldap
apacheds-protocol-ldap -> apacheds-core

maybe the apacheds-server-jndi is misnamed, and should be split in two 
parts, one containing the ApacheDS class, another one containing the 
JNDI layer...

wdyt ?

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



Mime
View raw message