Partager via


Avantages de l’utilisation des extensions ADSI

La façon dont les méthodes d’extension sont implémentées dépend du rédacteur d’extension. Un enregistreur d’extension peut même implémenter une méthode complètement en dehors de l’étendue du répertoire. Par exemple, un développeur de logiciels de sauvegarde et de restauration prévoit d’étendre un objet appelé ordinateur. Le développeur doit créer deux méthodes : BackUp et Restore. Ces méthodes fonctionnent à distance sur l’ordinateur physique vers lequel pointe l’objet d’ordinateur dans le répertoire. En agissant comme une extension, le composant accède à l’infrastructure ADSI et est vu par les clients ADSI comme faisant partie intégrante de l’objet.

Les scénarios suivants décrivent des situations où la création d’une extension à ADSI serait avantageuse :

  • Créez une extension pour intégrer un composant à l’objet directory. Étant donné qu’il existe un objet utilisateur dans le répertoire, un développeur RH peut souhaiter créer une extension ADSI qui remplit d’autres données dans l’annuaire lors de la création d’un utilisateur .

  • Créez une extension si un composant nécessite une recherche de répertoire. Un composant peut nécessiter un répertoire comme point de départ pour une recherche. Par exemple, lors de la création d’une application. Un objet d’application, ToolApp, peut être publié dans le répertoire. Votre application peut prendre en charge status notifications sur une collection de serveurs de messagerie. Vous décidez de faire de cette application une extension ADSI.

    À présent, un utilisateur peut rechercher toutes les instances de ToolApp dans le répertoire. Pour chaque objet retourné, l’utilisateur peut émettre un appel à NotifyNow(). Une application ou une extension peut obtenir des données d’objet plus actuelles dans le répertoire et notifier chaque serveur de manière asynchrone.

  • Créez une extension en tant que jonction entre les espaces de noms et les modèles de programmation. Par exemple, un éditeur de logiciels indépendants invente un nouveau modèle objet pour les services d’impression. L’objet printQueue est déjà défini dans le répertoire. L’éditeur de logiciels indépendants peut créer une extension ADSI et l’associer à l’objet printQueue . Les utilisateurs ADSI peuvent se lier à un objet printQueue et commencer à utiliser le modèle objet pour l’éditeur de logiciels indépendants. Du point de vue du client ADSI, ce point de jonction est transparent.

  • Créez une extension pour simplifier les tâches. De nombreuses tâches dans le répertoire peuvent être effectuées en recherchant et en définissant plusieurs attributs dans un objet ou plusieurs objets. En créant une seule fonction pour manipuler plusieurs attributs, il simplifie le développement pour les rédacteurs d’applications et de scripts.

Pour les clients ADSI, les extensions enrichissent l’environnement de programmation ADSI de plusieurs manières :

  • Les développeurs qui créent des clients ADSI n’ont pas besoin d’apprendre un nouveau modèle de programmation. Les extensions font partie d’ADSI. Ils utiliseraient le même paradigme pour la recherche, la manipulation des données et la sécurisation des objets.
  • Les administrateurs peuvent gérer les applications associées avec annuaire à l’aide d’extensions.
  • Les consommateurs d’extension peuvent voir un objet ADSI et une extension en tant qu’objet intégré.
  • Les composants existants peuvent être intégrés à ADSI, ce qui permet aux extensions de tirer parti des investissements existants et de créer une synergie entre les composants.

Les extensions ADSI ont été conçues avec les objectifs suivants :

  • Facile à implémenter. Avec les technologies Microsoft actuelles, Microsoft Visual C++ système de développement et la bibliothèque de modèles actifs, une extension peut être créée rapidement.
  • Les clients affichent un IDispatch. Du point de vue des scripts et des enregistreurs Automation, les méthodes et propriétés d’extension sont fusionnées de manière transparente dans un seul objet ADSI.
  • Indépendant. Les enregistreurs d’extensions peuvent étendre indépendamment ADSI sans connaître au préalable les extensions existantes.

Considérez ce scénario : un développeur d’entreprise ou un éditeur de logiciels indépendants doit développer un programme de sauvegarde. Cette application de sauvegarde permet à un administrateur de sauvegarder tous les ordinateurs d’une unité organisationnelle. Avec une extension ADSI, le script suivant est possible.

Dim ou
On Error Resume Next
Set ou = GetObject("LDAP://OU=Sales, DC=Fabrikam, DC=COM")
If Err.Number<>0 Then
    MsgBox("An error has occurred.")
    Err.Clear
    Set ou = Nothing
    Exit Sub
End If

ou.Filter = Array("computer")

For each comp in ou
   Debug.Print comp.Get("networkAddress")
   Debug.Print comp.LastBackUp
   comp.BackUpNow
Next

LastBackUp est une propriété et BackUpNow est une méthode que l’enregistreur d’extension fournit. Le code montre les avantages pour les consommateurs et les fournisseurs d’extensions. L’enregistreur d’extension n’a pas besoin de créer une nouvelle méthode de filtrage, de recherche et d’accès au répertoire. Le consommateur d’extension n’a pas besoin de réapprendre un nouveau paradigme de programmation. Les nouvelles méthodes et propriétés fournies par l’enregistreur d’extension sont affichées dans le cadre d’ADSI.