i havent worked w/ LDAP and PHP together as of yet; but maybe i can jump in
the conversation and share some of my thoughts on the topic..

in terms of options for Timothy's address book the data for the address book
will need to be stored somewhere.
since Timothy is already using MySQL that sounds like a great place for the
data.  likely, Timothy is planning a graphical Web interface to the address
book.  So let me see if i can draw LDAP into the equation.

lets suppose Timothy cranks out the MySQL table structure and builds an
graphical interface via PHP, but he wants to allow people to query the
directory through another context, something programmatic.  without LDAP he
could build some sort of API around the code that accesses the MySQL data.
this would be exposed over http, ideally a RESTfull of SOAP interface.  im
wondering if LDAP would better serve this purpose since it is a protocol
aimed at directory information in the first place.

so if Timothy were to use LDAP instead, there would be no creation (see
caveat) of the data profile for the address book.  LDAP servers talks to an
internal database (at least thats what OpenLDAP does [w/
BerkDB]<http://www.openldap.org/doc/admin23/install.html>).
in that case there would be no time spent building the table structure.  the
PHP-based ui would interact w/ the LDAP server instead of the proprietary
MySQL structure and third parties could access the directory via the
standard LDAP protocol, thus no need to build the API.

one caveat is, defining the data structure the LDAP server will access.
reading the man page on OpenLDAP i discovered LDAP provides access to

X.500 directory services

i began to read a bit on the information model of
X.500<http://www.surfnet.nl/innovatie/afgesloten/x500/introducing/chapt-2.html#2.1>,
which appears to be customizable, but this is getting way out of my
immediate zone of knowledge.  so if the stock data profile from the OpenLDAP
server (if thats what is ultimately used) would have to suffice or there
would have to be some mad research!

it seems to me like using LDAP for the directory implementation is a design
decision dependent upon
- a need to expose external access to the directory
- a need to support standard interface to the directory
- familiarity w/ LDAP (this could be the kicker :)
- as always time / deadline ..

-nathan


On 6/29/07, Jay Blanchard <[EMAIL PROTECTED]> wrote:

[snip]
As I understand it, LDAP and MySQL offer two different ways
of setting up a networked address book.
So I take it they can be compared as far as that is concerned.

Actually, I normally run Linux, so Active Directory
would not be a priority for me.

I didn't say LDAP was a database.
However, the principal usage of LDAP, as far as I can see
(by googling for LDAP) is in fact
to set up a network address book of some kind.
It may be used for other purposes,
but they are not really relevant to my enquiry.
[/snip]

The Lightweight Directory Access Protocol (LDAP) is an application
protocol for querying and modifying directory services running over
TCP/IP.

A directory service is a software application - or a set of applications
- that stores and organizes information about a computer network's users
and network resources, and that allows network administrators to manage
users' access to the resources. Additionally, directory services act as
an abstraction layer between users and shared resources.

A directory service should not be confused with the directory repository
itself; which is the database that holds information about named objects
that are managed in the directory service. The directory service
provides the access interface to the data that is contained in one or
more directory namespaces. The directory service interface acts as a
central/common authority that can securely authenticate the system
resources that manage the directory data.

Like a database, a directory service is highly optimized for reads and
provides advanced search possibilities on many different attributes that
can be associated with objects in a directory. The data that is stored
in the directory is defined by an extendible and modifiable schema.
Directory services use a distributed model for storing their information
and that information is usually replicated between directory servers.

I suspect for your purposes it is better (easier) to create an address
book using MySQL and access it with PHP's library of MySQL functions.
Using LDAP to access the directory service that access data namespaces
may be a little over the top for an address book.

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Reply via email to