Further Reading

Understanding and Deploying LDAP Directory Services > 20. Developing New Applications > Tools for Developing LDAP Applications

<  BACK CONTINUE  >
153021169001182127177100019128036004029190136140232051053054012002231181000165177204171

Tools for Developing LDAP Applications

In this section, we examine some different categories of SDKs and scripting tools that can be used to develop LDAP applications. Chapter 12, "Choosing Directory Products," and the "Further Reading" section near the end of this chapter include pointers to more-detailed information on all the kinds of tools we mention. Directory software vendors encourage developers to write LDAP directory-enabled applications, so many of these tools can even be freely down loaded from the Internet and used at no cost.

LDAP software development tools that can be used to write directory-enabled applications can be organized into four categories:

  • LDAP SDKs

  • LDAP scripting components for JavaScript and Perl

  • LDAP command-line tools

  • Directory- agnostic SDKs

Practically speaking, your choice of LDAP software development tools is constrained by the programming languages you are comfortable using. That aside, the most important criteria for choosing a tool are its quality and its documentation. You should examine several tools to see which package you like best before you choose.

LDAP SDKs

LDAP SDKs provide complete, high-performance, native access to all the features of LDAP. The application programming interfaces (APIs) they provide conform closely to the C or Java LDAP API specifications being developed by the Internet Engineering Task Force (IETF). At the time of this writing, the programming languages directly supported are limited to C, C++, and Java. However, most of the other programming languages that are widely used, such as Microsoft Visual Basic, can call C or Java APIs.

An LDAP SDK is a good choice if the application you need to LDAP-enable is written in one of the supported languages. The most widely known and used examples of these SDKs are the free Directory SDKs that Netscape produces. These and some of the other SDKs based on the original University of Michigan LDAP are even available in source code form for porting to your favorite platform or enhancing as needed.

LDAP Scripting Components for JavaScript and Perl

The ability to access LDAP directories from interpreted languages such as JavaScript and Perl is typically provided by a component that extends the language in some way. For JavaScript, this is accomplished by directly calling Java LDAP SDK classes or through a JavaScript implemented on top of a Java LDAP SDK. For Perl, a language extension module such as PerLDAP is commonly used.

These tools are a natural choice if you prefer to use a scripting language to develop your applications. Even if that is not the case, consider invoking an interpreted language (such as Perl) outside of your compiled application code. Development and debugging time would likely be much less than if you developed your application using C, C++, or Java code. Of course, if your performance requirements are high, the overhead of invoking an external interpreter makes this option less attractive.

LDAP Command-Line Tools

Some vendors provide a set of command-line tools that provide access to LDAP directories. These tools are useful for simple LDAP integration tasks , especially those for which performance isn't critical. LDAP command-line tools are good choices for batch-oriented applications as well.

The LDAP command-line tools can be called from a variety of languages, including compiled languages such as C++, Windows NT command language, any UNIX shell scripting language, and Perl. Netscape provides command-line tools with its Directory SDKs and its Directory Server product. The University of Michigan LDAP release also includes a set of command-line tools, although they are not as full-featured as the Netscape tools.

Directory-Agnostic SDKs

Your remaining choice is to use an SDK that provides access to a variety of directory and directory-like data sources (including LDAP). We use the term directory-agnostic to describe these SDKs. Examples include Microsoft's Active Directory Services Interface (ADSI) and JavaSoft's Java Naming and Directory Interface (JNDI). Access to a variety of data sources is accomplished by providing a common, directory-independent API for application programmers to use. The SDK is internally designed and constructed so that a variety of directory service modules can be plugged in beneath the API. A good example of this kind of SDK architecture is JNDIs, which is illustrated in Figure 20.11.

Figure 20.11 JavaSoft's JNDI architecture.

One of these directory-agnostic SDKs may be a good choice if your application needs access to directory services other than LDAP. The main disadvantages of these SDKs are that they do not provide full access to LDAP's capabilities and that they do not evolve as fast as the SDKs that are focused purely on LDAP. Other disadvantages include increased overhead and code size as a result of the extra layers and directory service modules included. In the case of ADSI, it may be difficult to call the SDK functions from existing applications that are not based on Microsoft's Common Object Model (COM).



Understanding and Deploying LDAP Directory Services,  2002 New Riders Publishing
<  BACK CONTINUE  >

Index terms contained in this section

ADSI
          application development
applications
          developing 2nd
                    directory-agnostic SDKs 2nd
                    LDAP command-line tools 2nd
                    LDAP scripting components 2nd
                    LDAP SDKs
COM (Common Object Model)
Common Object Model (COM)
developing
          applications 2nd
                    directory-agnositc SDKs 2nd
                    LDAP command-line tools 2nd
                    LDAP scripting components 2nd
                    LDAP SDKs
directories
         applications
                    developing 2nd 3rd 4th 5th 6th 7th 8th 9th
directory-agnostic SDKs
          developing applications 2nd
JavaScript
         Java LDAP scripting component
                    application development 2nd
JNDI
          application development
LDAP command-line tools
          developing applications 2nd
LDAP scripting components
          developing applications 2nd
LDAP SDKs
          developing applications
Perl
         PerlDAP scripting component
                    application development 2nd
scripting components
          developing software 2nd
SDKs
          developing software
                    directory-agnostic 2nd
software
         applications
                    developing 2nd 3rd 4th 5th
tools
         application development
                    directory-agnostic SDKs 2nd
                    LDAP command-line 2nd
          developing applications 2nd
                    directory-agnostic SDKs 2nd
                    LDAP command-line tools 2nd
                    LDAP scripting components 2nd
                    LDAP SDKs

2002, O'Reilly & Associates, Inc.



Understanding and Deploying LDAP Directory Services
Understanding and Deploying LDAP Directory Services (2nd Edition)
ISBN: 0672323168
EAN: 2147483647
Year: 1997
Pages: 245

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net