How the Directory Services Tools Determine a Schema in Visio 2002

Archived content. No warranty is made as to technical accuracy. Content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Published: June 1, 2001

By Steve Scott

Microsoft Corporation

Applies to:
Microsoft Visio Enterprise Network Tools 2002

Using the directory services tools in Microsoft Visio 2002, you can connect to a server to import a directory structure, or work offline to design a new directory structure. This article describes the directory services files that the Visio directory services tools install on your system and which other software you might need to install to retrieve directory information. Then it explains how all the pieces communicate to determine the correct schema for the directory services template you select.

On This Page

Which Directory Services Files Does Setup Install?
What Client Software Might You Need?
How Do the Directory Service Tools Use Client Software to Communicate with a Network?

Which Directory Services Files Does Setup Install?

Here's what's installed with the directory services tools:

  • A set of provider protocol (VDC) files that represent default schemas for three major directory services: Active Directory, Novell Directory Service (NDS), and Lightweight Directory Access Protocol (LDAP). VDC files for Microsoft Exchange, Novell ZENworks, and Novell GroupWise are also installed.

  • A Directory Services Modeler (VSL) file.

  • Provider dynamic-link libraries (DLLs) for each of the three supported directory services. Provider-specific DLLs are also installed for Novell ZENworks and Novell GroupWise.

  • Stencils of shapes for the most common objects for each directory service provider.

  • These files are enough to design a new directory service structure. But if you want to connect to a server and import data from an existing directory, you also need to have the appropriate client software on your system.

What Client Software Might You Need?

The directory services tools install the provider-specific VDCs and DLLs that allow communication with a server. However, you might also need client software that authenticates you to the server to which you want to connect.

  • Microsoft Visio installs the Novell Directory Service provider DLL, but you'll also need Novell Client to complete the two-way communication between the Novell server and your computer. You can download the latest version of Novell Client for your operating system from Novell, Inc.

  • To connect to a Microsoft Windows 2000 server while running a Windows operating system that pre-dates Windows 2000, you'll need to install Microsoft ADSI (Active Directory Scripting Interface) to complete the communication. If your operating system is Windows 2000, Microsoft ADSI was automatically installed and, assuming you have permission to do so, you can connect to a Windows 2000 server to retrieve directory data. Download the latest version of Microsoft ADSI from Microsoft Corporation at Microsoft.com.

  • All the files you need to connect to an LDAP server are installed with Microsoft Visio 2002.

What happens if you don't have client software installed? When you open a directory service template, the provider DLL for that service recognizes that you don't have the necessary client software, and you're prompted to work offline. After choosing to work offline and clicking OK, the provider DLL reads a default schema for the service from the corresponding provider VDC file already installed in your system.

The following section describes what happens if you do have client software installed.

How Do the Directory Service Tools Use Client Software to Communicate with a Network?

With the installation of the client software, think of Visio's directory services tools as a three-tier client/server model, with the tiers being data services, business services, and user services.

  • The data services layer supports the installed DLLs, which are considered Component Object Model (COM) server DLLs. These DLLs allow the directory services template to communicate with the appropriate provider and to create a model based on the information it obtains from the network.

  • Each provider has a set of common interfaces that coordinate communication between the modeling engine and the directory services protocols. This makes the modeling engine protocol independent because the same interface is used no matter which template you open. Besides reading and writing protocols, the providers define namespace, schema, syntax, and semantic error checking services.

  • The business services layer contains the modeling engine. This layer reads the schema from the provider, including all classes and properties, and generates the model.

  • If you're working offline, the generated model is based on the communication between the provider DLL and the protocol provider VDC file. The provider DLL for that service determines that you don't need information from the network and obtains the default schema from the provider protocol in the VDC file.

  • The user services layer controls what's displayed on-screen within the directory services templates. Each template includes stencils of the most common shapes for that directory service.

    The user services layer is also responsible for creating and maintaining the directory service schema in the Directory Navigator window. The navigator displays a hierarchical view of the directory, along with the applicable classes and properties. No hierarchy appears if you work offline, because the VDC contains no default hierarchical structure. The navigator contains only the default classes and properties for the selected directory service schema.

Thus, the process of opening a directory service template to the data that appears onscreen can be described by three major actions:

  • Communicates When you open a directory services template, such as Active Directory, the Directory Modeler (VSL) at the data services layer accesses the provider DLL for that template to determine if the client software is installed. If the client software exists, the provider DLL reads the schema information from the directory. If no client software is installed, the provider DLL reads the default VDC file for the directory to define the namespace, the schema, and the syntax required for the directory in order to allow you to work offline.

  • Builds The business services layer builds the model based on the schema information from the VDC file or from the network directory.

  • Displays The user services layer displays the model of the schema in the Directory Navigator.

With these pieces in place, you're all set to start diagramming your own directory service model.