- Isode
R11.0 Directory
APIs
- Overview
- How to read this document
- Language Bindings
- Style of API
- Installation and Use
- Windows
- Linux
- DSAPI - Directory Service Client API
- Using DSAPI
- Examples
- Anonymous bind
- Simple bind
- Read an entry
- Read an entry asynchronously
- ATNDS - ATN Directory Client API
- Using ATNDS
- Example
- ATN Address Conversion
Isode's
products include both directory servers, management and regular
clients. Isode include a number of APIs which allow integrators to
access the Isode directory. This document describes:
- The features available.
- How to install and use
these features.
- Example clients written
by Isode, and delivered as part of the products.
The
APIs divide into the following categories:
- Simple directory client API (DSAPI).
- ATN directory operations API (ATNDS).
See
http://www.isode.com/products/directory-client-api.html
for an overview of the directory client APIs.
Language Bindings
The
APIs are available in several Language bindings. All APIs are provided
in C.
Additionally, some have Tcl and Java bindings. At present this document
only provides examples for the C interfaces. Java examples are
forthcoming.
Style of API
The
APIs are designed to be simple for API writers to use. Using an object
oriented style, they rely on arguments which are:
- Integers (either
explicitly or as manifest constants).
- Strings (whose length is
passed as an integer).
- Opaque objects (on which
the API functions perform operations).
Installation and Use
Windows
The directory client APIs are installed with the M-Vault package.
Unix
The directory client APIs are provided as part of the ISDduasdk
package. Note that the client SDKs are also dependent on the base
package (ISDbase).
DSAPI - Directory Service Client API
The
DSAPI allows client programs to connect to, query and modify data in
the directory. The following features are currently supported:
- Bind (connect and authenticate) to the directory.
- Read and search for entries.
- (In future releases) Modify, add or delete entries.
The DSAPI currently has language bindings for C and Java. The C
binding supports two basic modes of access: synchronous (API calls
block and return results) and asynchronous (API calls invoke an
operation and the caller then has to poll for results subsequently). At
present the Java interface only supports synchronous access.
The current incarnation of DSAPI accesses the directory using
X.500/DAP. Future versions will provide additional support for the
directory using LDAPv3.
Using DSAPI
The DSAPI provides a simple API for access to the directory and for
manipulation of returned data. Most client applications making use of
this API will follow this basic structure:
- Bind to the directory.
- Perform directory operations.
- Unbind from the directory.
Examples
This example opens a directory session and binds anonymously.
This example opens a directory session and binds as a particular
user. This example shows how to convert the string representation of a
DN to one accepted by DSAPI.
This example opens a directory session, performs a synchronous
directory read and prints the entry attributes to the standard output.
This example reads an entry, as above, but this time performing the
read asynchronously.
ATNDS - ATN Directory Client API
The ATNDS (Aeronautical Telecommunications Network Directory
Service) API contains utility functions to:
- Convert AFTN addresses to the corresponding AMHS address.
- Convert AMHS addresses to the corresponding AFTN address.
- Get the AMHS terminal directory entry name associated with AFTN
or AMHS addresses.
The ATN DS API works in conjunction with the DSAPI and simple directory
operations (bind, read an entry, etc.) are performed using this.
Using ATNDS
The API works in conjunction with DSAPI. As such, clients will need
to use DSAPI functions to bind and unbind from the directory and
perform any necessary additional queries (for example reading the entry
of an AMHS terminal in order to determine its capabilities). The session
handle returned from the bind functions is necessary for calls to ATNDS
API functions.
Example
This example converts between AFTN (both XF and CAAS style) and AMHS
addresses, and prints the results out to the console. The example shows
how DSAPI is used to establish a connection to the directory