Pontos de conexão de serviço para serviços replicados, baseados em host e de banco de dados
Ao publicar um serviço usando um SCP (ponto de conexão de serviço), considere como os clientes localizarão o SCP para seu serviço. Se existirem várias instâncias do serviço, considere como os clientes distinguirão o serviço com os recursos desejados de serviços semelhantes com recursos diferentes. Se você publicar um serviço replicado, considere como um cliente escolherá uma réplica. Este tópico discute esses problemas para vários tipos de serviços.
Serviços replicáveis
Para um serviço replicável, pode haver uma ou várias instâncias, ou réplicas, do serviço, e os clientes não se importam com a réplica à qual se conectam porque cada uma fornece o mesmo serviço. Os Serviços de Domínio Active Directory são exemplos de serviços replicados: todos os controladores de domínio de um determinado domínio mantêm dados idênticos, sujeitos à latência de replicação e fornecem serviços idênticos.
Os serviços replicáveis podem armazenar os SCPs e outros objetos específicos de serviço para várias réplicas em um único contêiner. O aplicativo de instalação para a primeira réplica pode criar o contêiner como um filho do contêiner System do domínio local. Para obter mais informações, consulte Publicação em um contêiner do sistema de domínio. Certifique-se de que o descritor de segurança para seu contêiner permita que os programas de instalação para réplicas subsequentes criem seus objetos no mesmo contêiner. Conceda permissões para o administrador de instalação especificar os usuários ou grupos que podem criar ou modificar objetos no contêiner.
Uma estratégia para um serviço replicável é criar um SCP para cada réplica. Quando um cliente consulta o GUID do produto do serviço ou outra palavra-chave de identificação, ele localiza os objetos SCP para todas as réplicas e seleciona uma aleatoriamente ou usando algum algoritmo de balanceamento de carga. Por exemplo, um administrador pode especificar dados de prioridade e balanceamento de carga para cada réplica, semelhante aos campos de prioridade e peso de um registro SRV DNS. O aplicativo de instalação do serviço pode armazenar esses dados no atributo serviceBindingInformation do SCP de cada réplica. Os clientes recuperam os dados de cada SCP e os usam para selecionar uma réplica.
Outra estratégia é criar um único SCP para todas as réplicas e definir o atributo SCP serviceDNSName como o nome de um registro SRV DNS. Em seguida, o aplicativo de instalação para cada réplica registra um registro SRV com esse nome. Quando um cliente identifica o SCP solitário do serviço, o cliente recupera o nome do registro SRV e usa a função DnsQuery para recuperar a matriz de registros SRV para as réplicas. Cada registro SRV contém o nome de um computador host e dados adicionais que o cliente pode usar para selecionar uma réplica.
Serviços de banco de dados
Instâncias diferentes de um serviço de banco de dados podem conter dados totalmente diferentes, mesmo que sejam todos o mesmo tipo de serviço, geralmente chamado de classe de serviço. Para publicar esse tipo de serviço, o atributo de palavras-chave do SCP pode identificar a classe de serviço e o banco de dados específico. Um cliente de uso geral que conhece apenas o GUID da classe de serviço pode consultar todos os bancos de dados publicados por essa classe de serviço e, em seguida, apresentar uma interface do usuário para permitir que o usuário selecione um. Para um cliente projetado especificamente para o banco de dados de destino, você pode codificar o GUID do banco de dados no código do cliente.
Serviços baseados em host
Serviços baseados em host são serviços que estão intimamente ligados a um único computador host. Você pode instalar instâncias da classe de serviço em muitos computadores e cada instância fornece serviços identificados com seu computador host.
Cada instância de um serviço baseado em host deve criar seu próprio SCP sob o objeto de computador de seu host. Os clientes que usam um GUID de produto para procurar o SCP de um serviço baseado em host normalmente encontram muitas instâncias da classe de serviço em toda a floresta corporativa. Os clientes podem usar o atributo serviceDNSName dos SCPs para localizar o SCP da instância de serviço no computador host desejado.