Organizations store many different kinds of
information in various places. For the IT departments that support this
information, it can be difficult to ensure that the right information
is available when and where it is needed. Windows Server 2008 uses a
feature called application data partitions,
which allows systems administrators and application developers to store
custom information within Active Directory. The idea behind application
data partitions is that, since you already have a directory service
that can replicate all kinds of information, you might as well use it
to keep track of your own information.
Developing distributed applications that can, for
example, synchronize information across an enterprise is not a trivial
task. You have to come up with a way to transfer data between remote
sites (some of which are located across the world), and you have to
ensure that the data is properly replicated. By storing application
information in Active Directory, you can take advantage of its storage
mechanism and replication topology. Application-related information
stored on domain controllers benefits from having fault-tolerance
features and availability.
Take a look at the following simple example to
understand how this can work. Suppose your organization has developed a
customer Sales Tracking and Inventory application. The company needs to
make the information that is stored by this application available to
all of its branch offices and users located throughout the world.
However, the goal is to do this with the least amount of IT
administrative effort. Assuming that Active Directory has already been
deployed throughout the organization, developers can build support into
the application for storing data within Active Directory. They can then
rely on Active Directory to store and synchronize the information
between various sites. When users request updated data from the
application, the application can obtain this information from the
nearest domain controller that hosts a replica of the Sales Tracking
and Inventory data.
Other types of applications can also benefit greatly
from the use of application data partitions. Now that you have a good
idea of what application data partitions are, let's take a look at how
you can create and manage them using Windows Server 2008 and Active
Directory.
1. Creating Application Data Partitions
By default, after you create an Active Directory
environment, you will not have any customer application data
partitions. Therefore, the first step in making this functionality
available is to create a new application data partition. You can use
several tools to do this:
Third-party applications or application-specific tools
Generally, if you are planning to install an
application that can store information in the Active Directory
database, you'll receive some method of administering and configuring
that data along with the application. For example, the setup process
for the application might assist you in the steps you need to take to
set up a new application data partition and to create the necessary
structures for storing data.
NOTE
The creation and management of application data
partitions is an advanced Active Directory–related function. Be sure
that you have a solid understanding of the Active Directory schema,
Active Directory replication, LDAP, and your applications' needs before
you attempt to create new application data partitions in a live
environment.
Active Directory Services Interface (ADSI)
ADSI is a set of programmable objects that can
be accessed through languages such as Visual Basic Scripting Edition
(VBScript), Visual C#, Visual Basic .NET, and many other language
technologies that support the Component Object Modeling (COM) standard.
Through the use of ADSI, developers can create, access, and update data
stored in Active Directory and in any application data partitions.
The LDP tool
You can view and modify the contents of the
Active Directory schema using LDAP-based queries. The LDP tool allows
you to view information about application data partitions. In order to
use this utility, you must first install the Windows Server 2008
Support Tools. The installer for this collection of utilities is
located within the Windows Server 2008 installation media in the \Support\Tools folder. You'll need to run the SupTools.msi file in order to install the tools. Once the installation is complete, you can access the utility by clicking Start => Run and typing ldp.exe. Figure 1
shows an example of connecting to a domain controller and browsing
Active Directory information. For further details on using LDP, click
the Support Tools Help icon (located within the Windows Support Tools
program folder in the Start Menu). Additional details about working
with the LDP tool are also available in the LDP.doc file, which is located within the folder into which you installed the Support Tools.
ntdsutil
The ntdsutil utility is the main method by which
systems administrators create and manage application data partitions on
their Windows Server 2008 domain controllers.
NOTE
Creating and managing application data
partitions can be fairly complex; such a project's success depends on
the quality of the architecture design. This is a good example of where
IT staff and application developers must cooperate to ensure that data
is stored effectively and that it is replicated efficiently.
You can create an application data partition in one of three different locations within an Active Directory forest:
As a new tree in an Active Directory forest
As a child of an Active Directory domain partition
For example, you can create an Accounting application data partition within the Finance.MyCompany.com domain.
As a child of another application data partition
This method allows you to create a hierarchy of application data partitions.
As you might expect, you must be a member of the
Enterprise Admins or Domain Admins group in order to be able to create
application data partitions. Alternatively, you can be delegated the
appropriate permissions to create new partitions.
Now that you have a good idea of the basic
ways in which you can create application data partitions, let's look at
how replicas (copies of application data partition information) are
handled.