Partage via


Considérations relatives à la maintenance du code BAM

Lorsque vous choisissez la manière dont votre application utilise l'analyse BAM, vous devez prendre en considération le fait que les exigences en la matière risquent de changer. Si vous appelez des méthodes sur l'une des classes Microsoft.BizTalk.Bam.EventObservation.EventStream pour écrire les données surveillées, cela correspond à un codage effectué de manière irréversible du modèle d'observation dans l'application. Si vous devez modifier les données surveillées, vous devez déconnecter l'application, changer le code, procéder à une recompilation de l'application, puis la redéployer une fois celle-ci mise à jour.

Vous pouvez également instrumenter votre application en appelant des méthodes sur la classe Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor . La classe Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor fait référence à un fichier de configuration pour déterminer les événements et les données à surveiller. À l'aide de la classe Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor , vous pouvez instrumenter votre code, puis changer les données surveillées en mettant à jour les métadonnées, sans déconnecter l'application.

Instrumentation de votre application à l'aide de l'objet EventStream

Cette approche est plus simple et s'applique aux situations dans lesquelles vous générez une application dédiée en tenant compte de spécifications de surveillance connues et spécifiques. Avant d'opter pour cette approche, vous devez pouvoir répondre aux questions suivantes :

  • Quelles sont les étapes majeures de l'analyse BAM et à quel emplacement dans le code surviennent-elles ?

  • Quelles données seront surveillées ? À quel moment et à quel emplacement dans le code ces données sont-elles disponibles ?

    Si la réponse à l’une de ces questions est susceptible de changer, vous devez envisager d’instrumenter votre application à l’aide de l’objet Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor à la place.

    Quand vous suivez cette approche du codage effectué de manière irréversible, il suffit d'appeler les méthodes sur les classes Microsoft.BizTalk.Bam.EventObservation.DirectEventStream, Microsoft.BizTalk.Bam.EventObservation.BufferedEventStream, MessagingEventStream (à partir des implémentations de pipeline) ou OrchestrationEventStream (à partir des implémentations d'orchestration), en fonction de vos besoins.

Instrumentation de votre application à l'aide de l'objet BAMInterceptor

Cette approche est à privilégier quand :

  • Vous devez trouver un juste équilibre entre la visibilité des données et les performances de l'application. Vous devez également être en mesure de contrôler les données surveillées au moment de l'exécution.

  • L'application traite des messages XML volumineux dans lesquels des données peuvent s'avérer cruciales pour la surveillance.

  • Il est interdit d'arrêter l'application et de modifier le code pour surveiller d'autres données.

    Dans cette approche, vous instrumentez l’application de manière générique à l’aide des méthodes de la classe Microsoft.BizTalk.Bam.EventObservation.BAMInterceptor . En transmettant diverses configurations à l'intercepteur, vous pouvez modifier les données surveillées par l'analyse BAM.

    L'Éditeur de modèle de suivi permet de modifier les données que l'analyse BAM collecte à partir d'une orchestration BizTalk.

Voir aussi

Utilisation d’une activité
Présentation de l’intercepteur BAM
API BAM (exemple BizTalk Server)