Freigeben über


Dienstverbindungspunkte für replizierte, hostbasierte und Datenbankdienste

Wenn Sie einen Dienst mithilfe eines Dienstverbindungspunkts (Service Connection Point, SCP) veröffentlichen, überlegen Sie, wie Clients den SCP für Ihren Dienst finden. Wenn mehrere Instanzen des Diensts vorhanden sind, überlegen Sie, wie Clients den Dienst mit den gewünschten Features von ähnlichen Diensten mit unterschiedlichen Features unterscheiden. Wenn Sie einen replizierten Dienst veröffentlichen, überlegen Sie, wie ein Client ein Replikat auswäht. In diesem Thema werden diese Probleme für verschiedene Arten von Diensten erläutert.

Replizierbare Dienste

Für einen replizierbaren Dienst kann es eine oder mehrere Instanzen oder Replikate des Diensts geben, und Clients ist es egal, mit welchem Replikat sie eine Verbindung herstellen, da jede denselben Dienst bereitstellt. Active Directory Domain Services sind Beispiele für replizierte Dienste: Alle Domänencontroller für eine bestimmte Domäne enthalten identische Daten, vorbehaltlich der Replikationslatenz, und bieten identische Dienste.

Replizierbare Dienste können die SCPs und andere dienstspezifische Objekte für mehrere Replikate in einem einzigen Container speichern. Die Setupanwendung für das erste Replikat kann den Container als untergeordnetes Element des Systemcontainers der lokalen Domäne erstellen. Weitere Informationen finden Sie unter Veröffentlichen in einem Domänensystemcontainer. Stellen Sie sicher, dass die Sicherheitsbeschreibung für Ihren Container es den Setupprogrammen für nachfolgende Replikate ermöglicht, ihre Objekte im gleichen Container zu erstellen. Erteilen Sie dem installierenden Administrator berechtigungen, um die Benutzer oder Gruppen anzugeben, die Objekte im Container erstellen oder ändern können.

Eine Strategie für einen replizierbaren Dienst besteht darin, einen SCP für jedes Replikat zu erstellen. Wenn ein Client die Produkt-GUID des Diensts oder andere identifizierende Schlüsselwort (keyword) abfragt, findet er die SCP-Objekte für alle Replikate und wählt eines zufällig aus oder verwendet einen Lastenausgleichsalgorithmus. Ein Administrator könnte beispielsweise Prioritäts- und Lastenausgleichsdaten für jedes Replikat angeben, ähnlich den Prioritäts- und Gewichtungsfeldern eines DNS-SRV-Eintrags. Die Setupanwendung des Diensts kann diese Daten im Attribut serviceBindingInformation des SCP jedes Replikats speichern. Clients rufen die Daten aus jedem SCP ab und verwenden sie, um ein Replikat auszuwählen.

Eine weitere Strategie besteht darin, einen einzelnen SCP für alle Replikate zu erstellen und das SCP-Attribut serviceDNSName auf den Namen eines DNS-SRV-Eintrags festzulegen. Anschließend registriert die Setupanwendung für jedes Replikat einen SRV-Eintrag mit diesem Namen. Wenn ein Client den einzelnen SCP des Diensts identifiziert, ruft der Client den Namen des SRV-Eintrags ab und verwendet die DnsQuery-Funktion , um das Array der SRV-Einträge für die Replikate abzurufen. Jeder SRV-Eintrag enthält den Namen eines Hostcomputers und zusätzliche Daten, die der Client zum Auswählen eines Replikats verwenden kann.

Datenbankdienste

Verschiedene Instanzen eines Datenbankdiensts können völlig unterschiedliche Daten enthalten, obwohl es sich bei ihnen um denselben Dienst handelt, der in der Regel als Dienstklasse bezeichnet wird. Um diese Art von Dienst zu veröffentlichen, kann das Keywords-Attribut des SCP sowohl die Dienstklasse als auch die spezifische Datenbank identifizieren. Ein universell einsetzbarer Client, der nur die GUID der Dienstklasse kennt, kann alle von dieser Dienstklasse veröffentlichten Datenbanken abfragen und dann eine Benutzeroberfläche darstellen, damit der Benutzer eine datenbank auswählen kann. Für einen Client, der speziell für die Zieldatenbank entwickelt wurde, können Sie die Datenbank-GUID im Clientcode hartcodieren.

Hostbasierte Dienste

Hostbasierte Dienste sind Dienste, die eng mit einem einzelnen Hostcomputer verknüpft sind. Sie können Instanzen der Dienstklasse auf vielen Computern installieren und jede instance Dienste bereitstellt, die mit ihrem Hostcomputer identifiziert sind.

Jeder instance eines hostbasierten Diensts sollte einen eigenen SCP unter dem Computerobjekt seines Hosts erstellen. Clients, die eine Produkt-GUID verwenden, um nach dem SCP eines hostbasierten Diensts zu suchen, finden in der Regel viele Instanzen der Dienstklasse in der gesamten Unternehmensgesamtstruktur. Clients können dann das serviceDNSName-Attribut der SCPs verwenden, um den SCP für den Dienst instance auf dem gewünschten Hostcomputer zu finden.