Partager via


Utilisation efficace de l’authentification unique dans la solution de gestion des processus métier

Comme la solution orientée services, la solution de gestion des processus d'entreprise utilise le service d'authentification unique de l'entreprise (SSO) pour stocker les valeurs de configuration, telles que le nombre d'étapes de traitement d'une commande. Elle utilise le magasin des secrets car il est présent lorsque BizTalk est installé, SSO met en cache les informations de configuration afin que les valeurs soient immédiatement disponibles et il peut protéger des informations, telles que des chaînes de connexion à la base de données et des mots de passe. Pour toutes ces raisons, le magasin des secrets est un bon emplacement pour les informations de configuration, même si les authentifications uniques ne sont pas utilisées pour gérer les connexions aux applications principales.

Pour réduire la latence, la solution utilise un cache local pour les valeurs de configuration. La solution actualise le cache toutes les cinq minutes.

Cette rubrique décrit le mécanisme de mise en cache utilisé par la solution. Celle-ci adopte une approche légèrement différente de celle de la solution orientée services pour la mise en cache des valeurs SSO. Pour obtenir une description de la façon dont la solution orientée service met en cache les valeurs d’authentification unique, consultez Utilisation efficace de l’authentification unique dans la solution orientée service.

Mise en cache locale des valeurs de configuration

La solution de gestion des processus d'entreprise utilise les propriétés d'un objet singleton pour fournir un accès aux valeurs SSO.

Notes

Rappelez-vous qu'un objet singleton est un objet qui ne peut avoir qu'une seule instance. Pour plus d’informations sur les objets singleton et leur création en C#, consultez Implémentation de Singleton en C#.

Dans la solution, une orchestration récupère d'abord l'objet singleton, puis référence les valeurs à l'aide des propriétés de l'objet. Voici le code de l’orchestration OrderManager :

configData = Microsoft.Samples.BizTalk.SouthridgeVideo.Utilities
                .SsoConfigHelper.Singleton;
numStages = configData.TotalStages;

L’orchestration appelle la méthode Singleton sur l’objet SsoConfigHelper pour accéder à la seule copie de l’objet. Avec l’objet en main, l’orchestration récupère le nombre d’étapes de traitement , TotalStages.

La solution suit une méthode courante de création d’un singleton : rendre le constructeur privé, faire en sorte que l’objet crée une instance de lui-même et l’affecter à une variable privée et, par le biais d’une méthode ou d’une propriété, fournir l’accès à la valeur de cette variable. L’objet SsoConfigHelper utilise une propriété, Singleton, pour fournir l’accès à la copie unique de lui-même.

Notes

L’objet SsoConfigHelper utilise un constructeur statique pour obtenir les valeurs initiales du cache de l’authentification unique et configurer le mécanisme d’actualisation. Comme il est impossible d'appeler un constructeur statique, celui-ci conserve la conception de l'objet singleton. Pour plus d’informations, consultez Constructeurs statiques (Guide de programmation C#).

Tous les objets référencés directement ou indirectement par une orchestration doivent être sérialisables. Pour plus d’informations, consultez « Sérialisation » dans Persistance et moteur d’orchestration. Bien que l’objet SsoConfigHelper soit nécessairement sérialisable, si le moteur déshydrate l’orchestration, lorsque l’orchestration se réhydrate, il utilise toujours la seule instance actuelle de l’objet. Pour plus d’informations sur la sérialisation et les variables BizTalk Server, consultez Types de variables d’orchestration.

Notes

Toutes les méthodes publiques sur l'objet de la solution orientée services sont statiques. Aussi, l'orchestration n'a pas besoin d'affecter une instance à une variable et la classe n'a pas besoin d'être sérialisée.

L’objet SsoConfigHelper utilise les mêmes mécanismes pour récupérer et actualiser les valeurs de configuration que la solution orientée service. Le même modèle de verrouillage est également utilisé. Pour plus d’informations sur ces mécanismes, consultez Utilisation efficace de l’authentification unique dans la solution orientée service et le code source de SsoConfigHelper.

Comme la mise en cache single Sign-On effectuée dans la solution orientée service, la solution de gestion des processus métier implémente l’interface IPropertyBag à partir de l’espace de noms Microsoft.BizTalk.SSOClient.Interop pour stocker les valeurs. La solution de gestion des processus métier utilise un objet HybridDictionary plutôt qu’un objet NameValueCollection .

Contrairement à la solution orientée services, la solution de gestion des processus d'entreprise expose un objet dont les propriétés correspondent aux données de configuration. Ceci évite à l'orchestration de devoir traiter les différences dans les types de messages.

Voir aussi

Caractéristiques de l’implémentation de la solution de gestion des processus d’entreprise