Platform SDK: Active Directory, ADSI, and Directory Services

About Service Publication

A service is an application that makes data or operations available to network clients. Often, a service is implemented as a formal Microsoft® Win32®-based service, but this is not required.

Service publication is the act of creating and maintaining information about one or more instances of a given service so that network clients can find and use the service. Publishing a service in Active Directory enables clients and administrators to move from a machine-centric view of the distributed system to a service-centric view.

In Microsoft® Windows NT® version 4.0 and earlier, a distributed system was a group of computers running various services. To access a service, an application needed to know which computers offered the service.

In Microsoft® Windows® 2000, services publish their existence using objects in Active Directory. The objects contain binding information that client applications use to connect to instances of the service. To access a service, a client does not need to know about specific computers: the objects in Active Directory include this information. A client queries Active Directory for an object representing a service (called a connection point object) and uses the binding information from the object to connect to the service.

The following table shows examples of bindings.

Service Binding
File Service UNC Name for a share.

Example: \\MyServer\MyshareName

Web Service URL.

Example: http://www.Microsoft.com

RPC Service RPC binding: special encoded information used to connect to the RPC server. RPC bindings can be converted to and from strings with the RPC APIs.

Example: ncacn_ip_tcp:server.microsoft.com


In a distributed system, the computers are engines, and the interesting entities are the services that are available. From the user's perspective, the identity of the computer that provides a particular service is not important. What is important is accessing the service itself.

This is also the case with service management. The administrator of a given DNS zone is not interested in the computers running the DNS service; the administrator wants to administer DNS. There will likely be multiple instances of the DNS service, one of which (in classic DNS) will be authoritative. The computers that support the DNS service are not important to the DNS administrator. What is important is managing the service as a single distributed resource — not as individual processes running on different computers.