Programmes transactionnels appelables (CPI-C)
Un programme transactionnel invokable (TP) est un tp qui peut être appelé par un autre TP. Les TPS invocables sont écrits ou configurés via des variables de registre ou d’environnement pour fournir leurs noms au service SNA en tant que notification indiquant qu’ils sont disponibles pour les demandes entrantes. Un tp invokable de service SNA peut être exécuté sur n’importe quel ordinateur exécutant Host Integration Server ou un client.
Il existe deux types de TPs invocables :
Tps invocables démarrés par l’opérateur
Un TP invokable démarré par l’opérateur doit être démarré par un opérateur avant de pouvoir appeler le TP. Lorsque le tp invokable démarré par l’opérateur est démarré, il informe le service SNA de sa disponibilité en émettant un appel Accept_Conversation . L’appel Accept_Conversation entraîne la communication du nom du tp invokable à tous les services SNA du domaine, ainsi que de l’alias d’une unité logique associée si une unité logique a été configurée via un registre ou une variable d’environnement.
Tps invokables démarrés automatiquement
Un TP invokable démarré automatiquement peut être démarré par le service SNA si nécessaire. Le tp doit être inscrit via des entrées de Registre ou des variables d’environnement sur son système local, afin qu’il puisse être identifié au composant SnaBase du service SNA. Les informations inscrites définissent le TP comme étant en démarrage automatique et doivent spécifier le nom du TP. Les informations inscrites peuvent également spécifier l’alias de lu local que le TP invokable utilisera.
La méthode recommandée pour définir des variables de registre ou d’environnement pour les programmes d’appel automatique consiste à utiliser l’exemple de programme de configuration TP, TPSETUP ou du code similaire écrit dans votre propre programme d’installation. Pour plus d’informations sur les variables de Registre ou d’environnement pour les TPS invocables, consultez Configuration des TPS invocables.
Si aucun alias d’unité logique locale n’est inscrit avec des TPs de démarrage automatique, la configuration du service SNA résultante peut être plus flexible pour répondre aux demandes d’appel. Pour plus d’informations sur ces configurations flexibles, consultez Tp Name Not Unique ; Alias lu local Non spécifié.
Une fois qu’un TP invokable démarré automatiquement est démarré par le service SNA, le TP Accept_Conversation comme le fait un TP démarré par l’opérateur. Accept_Conversation devez fournir le nom de TP qui a été enregistré pour le TP.
Les TPs de démarrage automatique doivent être configurés via des variables de registre ou d’environnement pour être mis en file d’attente ou sans file d’attente. Tous les TPs démarrés par l’opérateur agissent en tant que TPs mis en file d’attente.
TPs mis en file d’attente
Si un TP démarré automatiquement est configuré en file d’attente, ou si le TP est démarré par l’opérateur, les demandes d’allocation entrantes sont mises en file d’attente, puis envoyées uniquement lorsque les problèmes tp invocables Accept_Conversation. Pour les TPS appelants démarrés automatiquement, si une copie du TP n’est pas encore en cours d’exécution, une est démarrée lorsqu’une demande d’allocation entrante spécifie ce TP.
Notes
Pour le système d’exploitation Microsoft Windows, une seule copie d’un service peut être exécutée à un moment donné. Cela signifie que tous les TPs de démarrage automatique qui s’exécutent en tant que services sous Windows doivent être mis en file d’attente. Pour écrire un tp au démarrage automatique afin qu’il s’exécute sous Windows as a service et s’exécute également sans file d’attente, écrivez un programme multithread avec un Accept_Conversation toujours exceptionnel.
TPs non mis en file d’attente
Si un TP démarré automatiquement est configuré comme non mis en file d’attente, une nouvelle copie est démarrée chaque fois qu’une allocation est reçue pour le TP. Les TPs non mis en file d’attente doivent traiter la conversation qui leur a été allouée, puis quitter, car ils ne recevront pas de demandes d’allocation supplémentaires.