CICS traite les services fondés sur XML dans les pipelines de demandeur et de fournisseur de service. Chaque type de pipeline possède un gestionnaire de transport qui peut envoyer des demandes via le réseau. Une application CICS peut être un demandeur ou un fournisseur de service Web pour un client externe et utiliser les protocoles HTTP, HTTPS, JMS ou WMQ pour envoyer et recevoir des demandes.
Lorsque les services Web sont tous les deux des applications CICS, le demandeur de service peut utiliser la commande INVOKE SERVICE et un URI commençant par cics:// pour optimiser le traitement du pipeline. La transformation des données pour convertir les données binaires en XML s'effectue normalement, le pipeline s'exécute via les gestionnaires de message et le gestionnaire de transport du pipeline se lie à un autre programme ou démarre un pipeline en fonction du type d'URI spécifié.
Par exemple, vous pouvez utiliser l'URI cics://SERVICE/service?targetServiceUri=UriServiceCible pour exécuter la demande par le biais d'un pipeline de fournisseur sans être obligé de passer par le réseau. CICS utilise les valeurs service et UriServiceCible pour résoudre la demande via un URIMAP.
Cet URI peut être utile lorsque les applications de demandeur et de fournisseur sont écrites dans des langages différents ou utilisent des niveaux de mappage différents et attendent des données binaires différentes.
CICS traite les appels vers les services fondés sur un canal par le biais d'une commande EXEC CICS LINK PROGRAM pour transmettre le canal et les conteneurs au programme défini dans le langage SCDL du service. Si l'application appelante fournit également un URI commençant par cics://, CICS peut procéder à un traitement supplémentaire dans un pipeline de demandeur. Si la liaison ne définit pas de pipeline de demandeur, CICS en crée un dynamiquement pour la demande.
Si l'URI commence par cics://, le gestionnaire de transport de pipeline peut établir un lien avec un programme, démarrer un autre pipeline de demandeur ou un pipeline de fournisseur. Il existe trois types d'URI :
Un gestionnaire de messages du pipeline peut également remplacer l'URI fourni par l'application pour contrôler le traitement via le pipeline.
Pour plus de détails sur les paramètres que vous pouvez spécifier dans ces URI, voir Conteneur DFHWS-URI.