Les services fondés sur un canal sont des applications CICS décrites sous forme de composants et assemblées entre elles à l'aide d'un outil tel que Rational Developer for System z.
Ils sont disponibles uniquement pour d'autres applications CICS qui utilisent la commande d'API INVOKE SERVICE et transfèrent les données binaires dans des conteneurs par le biais d'un canal.
Pourquoi et quand exécuter cette tâche
Dans l'architecture SCA, le programme d'application que vous voulez exposer en tant que service fondé sur un canal est l'implémentation de la logique métier. Le service du composant décrit l'interface au programme d'application en langage WSDL. Un composant possède une interface qui peut contenir des opérations et des liaisons. Dans le cas d'un service fondé sur un canal, une liaison CICS décrit le canal. Si vous sélectionnez cette liaison, Rational Developer for System z ajoute une section binding.cics au langage SCDL. Un service fondé sur un canal ne comporte pas de mappage de données, car l'interface d'application attend un canal et des données binaires dans des conteneurs.
Procédure
- Créez un composite à l'aide de Rational Developer for System z.
- Spécifiez le nom du programme d'application en tant qu'implémentation du composant.
- Ajoutez la liaison CICS à la référence ou au service approprié en sélectionnant le mode de mappage direct dans les outils.
- Si vous spécifiez un URI dans la liaison CICS associée au service composite, cet URI fournit le nom externe du service. Dans CICS,
cet URI correspond à un nom de chemin d'accès relatif ; par exemple, si le service doit être exposé sous le nom http://myhost:port/myService, l'URI dans la liaison correspond à myService, car l'hôte et le port échappent au contrôle de l'application composite.
- Si vous spécifiez un URI dans la liaison CICS qui est associée à la référence du composite, l'URI est complet pour le service ciblé ; par exemple http://myhost:port/myService ou cics://PROGRAM/prog1?user=user1.
- Facultatif : Définissez la section Importations dans la référence du composite. La section Importations définit les dépendances du composant ou du composite.

Pour toute information sur les méthodes recommandées de création et de déploiement de composites dans CICS, voir Meilleures pratiques pour la création et le déploiement de composites.
- Déployez le composite dans CICS sous forme de regroupement. Rational Developer for System z génère le manifeste du regroupement et intègre automatiquement le langage SCDL et d'autres artefacts. Le fichier manifeste décrit toutes les ressources et métadonnées dont CICS a besoin pour installer une ressource BUNDLE. Cette dernière représente le composite dans la région CICS.
Il définit le composite en tant que type de ressource SCACOMPOSITE et référence l'emplacement du langage SCDL en utilisant un chemin d'accès relatif.
- Créez et installez la ressource BUNDLE. Vous pouvez, en option, définir un domaine SCA dans la définition de ressource BUNDLE. Un domaine SCA représente généralement un ensemble de services qui offrent des fonctions dans un secteur métier spécifique. Vous pouvez installer le regroupement en utilisant des domaines SCA différents car CICS identifie le service en combinant le domaine SCA et le nom du service. Pour plus de détails et des exemples sur la méthode d'ajout d'un domaine SCA, voir Configuration des regroupements
Pour pouvoir installer la ressource BUNDLE avec succès, vérifiez que tous les éléments prérequis du regroupement sont disponibles dans la région CICS.
- Ecrivez une application pour appeler le service fondé sur un canal par le biais de la commande d'API INVOKE SERVICE :
EXEC CICS INVOKE SERVICE('nom_service')
CHANNEL(canal)
OPERATION(opération)
La variable nom_service correspond au nom externe du service, canal au nom du canal comportant 16 octets et opération à une valeur quelconque. Bien que l'opération soit une option obligatoire de la commande, la valeur n'est pas utilisée pour les services fondés sur un canal.
Résultats
Lorsque l'application appelle le service fondé sur un canal, CICS résout le nom du service et lance une commande
EXEC CICS LINK pour transmettre le canal et les conteneurs spécifiés au programme d'application que vous avez défini dans le composite. Si vous avez spécifié un pipeline de demandeur spécifique dans la liaison, CICS exécute la demande par ce biais. Si aucun pipeline de demandeur n'est indiqué dans la liaison, CICS en crée un dynamiquement pour la demande.
Que faire ensuite
Testez le service afin de vérifier qu'il fonctionne conformément à vos attentes. Vous pouvez afficher la ressource BUNDLE et son contenu à l'aide d'
IBM CICS Explorer.
Il vous est également possible de l'activer ou de la désactiver afin de gérer toutes les ressources simultanément.