Emission assurée d'événement par CICS

Vous pouvez garantir l'émission d'un événement à l'aide d'un adaptateur de traitement d'événement, avec le mode d'émission synchrone et le mode de transaction approprié. Avec l'émission synchrone, le formatage des événements et le traitement de l'émission sont réalisés de manière synchrone au sein de l'unité de travail de la transaction de capture. L'unité de travail n'aboutit qu'en cas d'émission des événements. L'adaptateur de traitement d'événement est lié à la tâche de l'application ; l'événement n'est pas mis en file d'attente en vue d'un traitement asynchrone par l'unité d'exécution du répartiteur de traitement d'événement ou par une tâche de l'adaptateur de traitement d'événement distincte.

L'émission d'événement synchrone n'étant pas prise en charge par les points de capture du système, l'émission d'événement système ne peut donc pas être garantie.

Les événements synchrones peuvent être de type transactionnel ou non transactionnel, mais la récupérabilité du transport doit être correctement configurée dans chaque cas.

Evénements non transactionnels synchrones :
L'adaptateur de traitement d'événement doit émettre les événements sur le transport d'une manière non récupérable afin que les événements ne soient pas arrêtés en cas d'échec de l'unité de travail.
Evénements transactionnels synchrones :
L'adaptateur de traitement d'événement doit émettre des événements au transport d'une manière récupérable afin que les événements transactionnels soient annulés si l'unité de travail est annulée.

Tous les adaptateurs de traitement d'événement ne prennent pas en charge l'émission synchrone avec toutes les combinaisons de TRANSMODE. Pour plus d'informations, reportez-vous à la rubrique Adaptateurs de traitement d'événement.

Lorsque l'émission d'un événement échoue, l'adaptateur de traitement d'événement fournit des informations sur l'événement et sur la raison de l'échec, incrémente les statistiques correspondantes, et annule l'unité de travail de la transaction de capture.

Considérations sur la planification

Comprendre le fonctionnement de l'émission d'événement synchrone permet de savoir comment faire le meilleur usage de cette fonctionnalité. Les éléments à prendre en compte lors de l'utilisation de l'émission d'événement synchrone incluent la sécurité, les performances, le transport et les effets sur les applications.

La transaction de capture d'événement doit disposer des droits d'écriture sur le transport de l'événement (par exemple, la file d'attente WebSphere MQ pour l'adaptateur de traitement d'événement WebSphere MQ) pour les émissions synchrones ; le répartiteur de traitement d'événement ou la tâche d'adaptateur émettant les événements doit disposer des droits d'écriture pour les émissions asynchrones.

L'émission d'événement synchrone transactionnel est récupérable. Lorsque vous utilisez l'adaptateur de traitement d'événement CICS WebSphere MQ, les événements sont mis dans la file d'attente d'événement WebSphere MQ sous le point de synchronisation ; vous devrez donc peut-être revoir l'allocation d'espace réservée au fichier journal WebSphere MQ. Lorsque vous utilisez l'adaptateur de traitement d'événement de file d'attente TS CICS, l'utilisation de la file d'attente augmente ; vous devrez donc peut-être revoir la taille du flux de consignation et des attributs du journal CICS. L'utilisation d'événement transactionnels synchrones avec une tâche s'exécutant pendant un certain temps sans point de synchronisation peut entraîner la saturation du journal.

Lorsque vous utilisez l'émission synchrone, un adaptateur de traitement d'événement personnalisé doit respecter l'indicateur EPAP_RECOVER du conteneur DFHEP.ADAPTPARM. Pour plus d'informations, reportez-vous à la rubrique Custom EP adapter (Adaptateur EP personnalisé).

Le fait d'assurer l'émission des événements permet de créer des applications basées sur des événements métier critiques, et d'étendre les applications existantes d'une manière fiable. En contre-partie, le traitement synchrone indispensable pour assurer que les événements sont émis peut avoir un impact sur le temps de réponse des applications. Une utilisation judicieuse de l'émission synchrone d'événement réduit l'impact sur les applications. Pour plus d'informations sur les performances liées à l'émission assurée d'événement, reportez-vous à la rubrique Performances du traitement des événements.

Une seule unité de travail peut émettre de nombreux événements, certains transactionnels, et d'autres non. Si l'émission d'un événement synchrone par une transaction de capture échoue, l'unité de travail est annulée, avec tous les événements transactionnels qu'elle capture. Les événements non transactionnels peuvent toujours être émis.

L'adaptateur de traitement d'événement, ses ressources (par exemple, une file d'attente WebSphere MQ) et le consommateur d'événement doivent être configurés avec une capacité suffisante pour traiter le volume maximal attendu d'événements à émettre afin d'éviter l'échec de la transaction de capture.

Pour vous permettre de décider quand utiliser l'émission synchrone, voici quelques remarques relatives à l'émission asynchrone et à l'émission synchrone à prendre en compte.

Tenez compte des caractéristiques suivantes lors de l'utilisation de l'émission d'événement asynchrone :
  • L'ordre d'émission des événements à partir d'un programme CICS peut différer de leur ordre de capture.
  • L'ordre d'émission des événements peut varier d'une exécution du programme CICS activé suite à un événement à une autre.
  • L'émission des événements n'est pas garantie. Ceux-ci peuvent être perdus en cas d'arrêt anormal de CICS avec des événements en cours d'exécution. Dans le cas peu probable d'une panne système de CICS après la capture d'un événement mais avant son émission, l'événement peut ne pas être émis du tout, que l'adaptateur de traitement d'événement de la liaison d'événements spécifie que les événements sont transactionnels ou non.
  • Le coût du formatage et de l'émission d'un événement est déchargé sur une unité d'exécution de traitement d'événement ou une transaction distincte.
  • L'opération a un impact minimal sur la transaction de capture.
  • Aucune modification du code de l'application n'est requise.
Prenez en compte les caractéristiques suivantes lors de l'utilisation de l'émission d'événement synchrone :
  • L'émission d'événement à partir d'un programme CICS s'effectue dans l'ordre de leur capture.
  • L'émission d'événement est garantie lorsque la transaction de capture aboutit.
  • Les événements peuvent être considérés comme des extensions d'application pour les données critiques.
  • L'émission des événements peut être garantie en cas d'utilisation de l'émission synchrone avec l'adaptateur de traitement d'événement WebSphere MQ.
  • Le coût du formatage et de l'émission d'un événement est ajouté à l'unité d'exécution de l'application.
  • L'opération a un impact plus important sur la transaction de capture ; en cas d'émission d'un événement sur une unité d'exécution d'application, l'échec de l'émission peut entraîner l'arrêt de l'application. Vous devez tenir compte de la configuration de la transaction de capture et de l'impact sur l'utilisation globale des ressources système.