[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: slapd python backend



On Thu, Dec 09, 1999 at 11:54:24PM +0100, bert hubert wrote:
> On Thu, Dec 09, 1999 at 05:16:46PM -0500, Andy Dustman wrote:
> 
> > Since this doesn't seem to exist, I'm writing one. With the enthusiastic
> > consent of my employer (comstar.net), it will be turned over to the
> > OpenLDAP project. I'm presently modelling it off back-perl. I'm fairly new
> > to LDAP (and the OpenLDAP lists), so let know what I should do with it
> > when it looks fairly alpha.
> 
> I was wondering today if a 'coprocess' backend would be a good idea. This
> means that all requests to the backend are sent of as lines of text to a
> remote program, which would than take care of it. See Advanced Programming
> in the Unix Environment (Stevens) for further examples.
> 
> There are lots of benefits to this approach. It encourages *very* modular
> design, since nothing can be exchanged except prearange instructions. It's
> also lots faster than the shell backend. It doesn't force you to use either
> perl or python. It is also very easy. 
> 
> Lots of other tricks are possible as well. 
> 
> I have implemented a radius server using this concept and it works very
> well, performance is great. Apache can also be configured to use coprocesses
> when using mod_rewrite. They also support running multiple coprocesses when
> apache spawns multiple processes.

The shell backend can do this for you. Don't let it's name fool you, it is
not limited to shell scripts, but to any executable. It passes the query
on the command line, so any executable program (C, C++, perl, bash, csh,
python, tcl, ...) can take the request and respond to it. You can read up
more on it by looking in the openldap-guide (available via the CVS).

-- 
 -----------=======-=-======-=========-----------=====------------=-=------
/  Ben Collins  --  ...on that fantastic voyage...  --  Debian GNU/Linux   \
`     bcollins@debian.org  -  collinbm@djj.state.va.us  -  bmc@visi.net    '
 `---=========------=======-------------=-=-----=-===-======-------=--=---'