> DNU home > online course > DirXML Driver Development
April 2001
DeveloperNet University Course

Custom DirXML Driver Development Course Introduction

Welcome to the Custom DirXML Driver Development course. This is one of a series of DeveloperNet University courses which help you learn Novell Directory Services (NDS) programming.

Even though this course will help you to learn how to build custom DirXML Drivers, you still will not be able to deliver a full DirXML solution just from the knowledge you gain here, considerable as it will be. You will also need DirXML integration training to ensure that DirXML is deployed properly. For more information, visit www.novell.com/partners/dirxml/index.html.

Course Description Table

Course Description
This course takes you through the process of programming a custom DirXML driver named PBXSimulator. The purpose of a DirXML driver is to allow enterprises to synchronize their directory information across disparate applications in their network.

The DirXML driver developed in this course provides an example of developing a simple, yet comprehensive DirXML driver for a less than optimal sample application.
Course Objective
At the end of this course, you will be able to create a custom DirXML driver to connect NDS to a disparate application directory.
Estimated Time to Take this Course
To completely work through every module of this course takes about 32 hours of sustained effort.
Prerequisites
Ability to read simple XML documents.

Intermediate Java programming skills

Intermediate NDS administration skills.

Also, you must be a DeveloperNet subscriber. A DeveloperNet subscription (Electronic Level subscription) is available free at http://developer.novell.com/.
Required Items
See "Required Setup."
Optional Items
None
Required Setup
A Windows NT workstation or server with the following already installed:

JDK 1.1.8 (Java Developers Kit) - free download is available at: http://www.javasoft.com/products/jdk/1.1/download-jdk-windows.html

Novell's eDirectory 8.5- a trial copy is available at the URL below:
http://www.novell.com/download/#NDS

ConsoleOne 1.2.d-c (extended for DirXML [happens in eDirectory install])

DirXML 1.0- this is available in the DirXML SDK, available at: http://www.developer.novell.com/ndk/downloadaz.htm

Installing the DirXML SDK will put an NDK directory in c:\Novell\NDS\.
Double-click c:\Novell\NDS\NDK\DirXML\Engine\nt\install.exe to install DirXML in eDirectory.

During the installation:
  • Do not install any drivers.
  • Do not install a filtered replica.
  • Quit from ConsoleOne at the first opportunity, to proceed with the course.
Development Environment
The procedures discussed in this article were tested using a 200 MHZ Pentium-based workstation with 128 MB RAM, running Windows NT 4.0/SP4, NDS for NT 8.5, DirXML 1.0, JDK 1.1.8, and ConsoleOne 1.2.d-c.

The course consists of "blocks" of lessons and optional Self Checks.

Course Contents Table

Introduction
The introduction is what you are reading now. The Highlighted block in the course graphic at the top of the page denotes this.
DirXML Concepts
The "DirXML Concepts" describe the pieces of DirXML and how they interact. To successfully complete this course, you must have a firm understanding of DirXML concepts.
DirXML Concepts Exam (optional)
Assess your understanding of DirXML concepts.
PBXSimulator Lab Project Description
To successfully complete this course, you must have a firm understanding of the driver you are trying to write. The "Driver Lab Concepts" section describes the driver you will develop during this course.
Driver Lab Concepts Exam (optional)
Assess your understanding of what the PBXSimulator DirXML driver does and how it works.
Lab 1: Installing the Basic Lab Driver
Much of the task in developing a custom DirXML driver solution is determining how to configure it. This lab will take you through the process of manually hooking up all of the bits and pieces necessary to use DirXML to synchronize the PBXSimulator application with NDS.
Java Programming Projects
Writing a DirXML shim requires that you are able to interpret NDS.DTD and manipulate XML documents using the W3C's Document Object Model (DOM). This section will examine how to use DOM APIs to obtain XML elements from a DOM Document.
Lab 3: Programming Input Parameter Parsing
The "Shim Programming Labs" section will give you experience in writing Java code for the DirXML Driver, Publication, and Subscription driver shims.
Introduction to DirXML Stylesheet Programming
Stylesheet programming is the preferred way to implement business rules in your DirXML driver. This section will examine how to interpret and write XSLT and XPATH, the two languages needed to program stylesheets.
Stylesheet Programming Exam (optional)
Assess your understanding of Stylesheet programming.
Lab 6: Programming Input/Output Stylesheets
The "Stylesheet Programming Lab" section will give you experience in writing XSLT and XPATH code for an Input Transform (identity transformation) stylesheet.
Query Programming
Queries are sent by either DirXML or the driver to gain more information about an object or objects in either NDS or the external application.

This section explains why queries are sent and how to implement code to handle them in your driver shims.
Implementing Queries
Exam (optional) Assess your understanding of Query programming.

Release Notes:

  1. Throughout this course, Java's System.out.println( ) is used for debugging and informational purposes. This was done for simplicity's sake. However, it is recommended that programmers research using the features of com.novell.xsl.debug.Trace for these purposes.
  2. Throughout this course, it is recommended that input transforms be performed in an input stylesheet instead of a shim if the external system is XML conversant. However, programmers should also research the option of calling the input stylesheets to perform the transformation from the shim.
Previous Contents Next
download sample file