Pipelines SOAP basés sur Java

Fonctionnalité obsolète: La prise en charge de l'option de configuration basée sur JVMSERVER pour le service de transformation de données de services Web est obsolète. Les options obsolètes peuvent être remplacées par l'utilisation d'un pipeline non-Java pour les services web CICS®, z/OS Connect Enterprise Edition ou en écrivant des applications web en Java ou en Node.js. Pour plus de détails, voir les avis de stabilisation.

CICS prend en charge l'utilisation du moteur SOAP basé sur Axis2 Java™ pour traiter les demandes de services web dans les pipelines des fournisseurs et des demandeurs. Etant donné que Axis2 utilise Java, le traitement SOAP est éligible pour le déchargement sur le IBM® z Systems ® Application Assist Processor (zAAP).

Axis2 est un moteur de services web open source de la fondation Apache et est fourni avec CICS pour traiter les messages SOAP dans un environnement Java. Vous pouvez choisir d'utiliser Axis2 en ajoutant un gestionnaire SOAP Java à votre fichier de configuration de pipeline et en créant un serveur JVM pour gérer le traitement Axis2 .

L'activation d' Axis2 ne nécessite pas la régénération des fichiers de liaison pour les services Web existants qui utilisent le pipeline. Les temps de réponse peuvent être plus lents lors de l'utilisation de Axis2, mais vous pouvez décharger le traitement SOAP sur zAAP. Pour plus d'informations sur le déchargement vers zAAP, voir CICS et Java.

Lorsque CICS est un fournisseur de services, le gestionnaire de terminal Java utilise Axis2 pour analyser l'enveloppe SOAP d'un message de demande. Vous pouvez utiliser des programmes de traitement d'en-tête pour traiter les en-têtes SOAP associés au message SOAP. Axis2 construit également le message de réponse SOAP. Ce processus est illustré dans le diagramme suivant:

La demande entre dans un pipeline qui contient un gestionnaire de transport, un gestionnaire de service et un gestionnaire SOAP Java. Le gestionnaire Java SOAP s'exécute dans Axis2, qui s'exécute à son tour sur un serveur JVM. Le gestionnaire Java SOAP comporte également un programme de traitement d'en-tête. La demande est envoyée à l'application du fournisseur de services, puis la réponse est renvoyée via le pipeline.

Lorsque CICS est un demandeur de service, le gestionnaire initial Java dans le pipeline utilise Axis2 pour générer l'enveloppe SOAP d'un message de demande. Vous pouvez utiliser des programmes de traitement d'en-tête pour traiter les en-têtes SOAP associés au message SOAP. Axis2 analyse également le message de réponse SOAP.

Applications de service Web et Java

Pour les pipelines SOAP en mode fournisseur, les messages de demande et de réponse sont transmis entre le gestionnaire de terminal du pipeline et l'application de service Web à l'aide d'un gestionnaire d'application. Le gestionnaire d'application traite le corps d'une demande SOAP afin que celle-ci puisse être utilisée par l'application. Le gestionnaire d'application génère également une réponse en utilisant les données renvoyées par l'application. Si le gestionnaire de terminal de votre pipeline est un gestionnaire de messages Java, vous pouvez spécifier le gestionnaire d'application Axis2 fourni dans le fichier de configuration du pipeline, au lieu de spécifier le gestionnaire d'application DFHPITP fourni. Le traitement du gestionnaire d'application peut ensuite être déchargé sur zAAP. Pour plus d'informations sur les gestionnaires d'applications, voir Gestionnaires d'applications.

Pour les pipelines SOAP en mode demandeur, l'application de service Web appelle le pipeline à l'aide de la commande EXEC CICS INVOKE SERVICE . Les messages de demande et de réponse sont ensuite transmis entre l'application de service Web et le gestionnaire initial dans le pipeline. Si vous spécifiez un gestionnaire Java comme gestionnaire initial dans le pipeline, la commande EXEC CICS INVOKE SERVICE est traitée par Axis2, ce qui permet de décharger ce processus sur zAAP. Si le premier gestionnaire n'est pas un gestionnaire Java, la commande EXEC CICS INVOKE SERVICE est traitée par CICS.

Traitement Axis2 dans un serveur JVM

Axis2 requiert un serveur JVM, qui est représenté par une ressource JVMSERVER dans CICS. Le serveur de machine virtuelle Java est un environnement d'exécution qui peut traiter plusieurs demandes simultanées provenant de différents programmes Java dans une seule machine virtuelle Java. Le chemin d'accès aux classes du serveur JVM doit inclure les fichiers d'archive Java Axis2 . Vous pouvez ajouter automatiquement tous les fichiers JAR requis au chemin d'accès aux classes en spécifiant l'option JAVA_PIPELINE dans le profil JVM. Le fichier de configuration de pipeline doit également pointer vers la ressource JVMSERVER configurée pour prendre en charge Axis2.

Pour plus d'informations sur les serveurs JVM, voir CICS et Java.

Gestionnaires d'en-têtes Axis2

Bien que vous puissiez utiliser des programmes de traitement d'en-tête existants, il est plus efficace d'écrire des gestionnaires Axis2 en Java pour traiter les en-têtes SOAP. Ces gestionnaires peuvent également s'exécuter sur le serveur JVM et peuvent donc être déchargés. Pour plus d'informations sur la création de gestionnaires Axis2, voir Écrire votre propre module Axis2.

Un programme de gestionnaire d'en-tête peut utiliser les API Axis2 pour modifier ou interagir avec l'environnement Axis2 , les messages SOAP et les services Web individuels. N'utilisez pas ces API pour personnaliser Axis2, car vous risquez de modifier Axis2 de manière à ce que CICS ne puisse pas exécuter correctement le moteur. Les gestionnaires Axis2 ne sont pris en charge que s'ils interagissent avec l'environnement Axis2 d'une manière compatible avec la façon dont CICS utilise Axis2.

Référentiel Axis2

Axis2 utilise un référentiel pour stocker tous ses fichiers de configuration, services et modules. CICS fournit un dépôt par défaut dans le répertoire usshome/lib/pipeline/repository sur z/OS UNIX, où usshome est la valeur du paramètre d'initialisation du système USSHOME .

Le référentiel par défaut contient le fichier de configuration, axis2.xml, qui est requis par CICS pour utiliser Axis2. Ce fichier se trouve dans le sous-répertoire /conf du référentiel. Si vous créez votre propre référentiel, vous devez copier ce fichier dans votre référentiel pour que CICS fonctionne avec Axis2.

N'éditez pas le fichier axis2.xml , sauf si vous enregistrez des programmes de gestionnaire. Ce fichier étant géré en tant que partie interne de CICS, vous ne devez pas apporter d'autres modifications à ce fichier, sauf si le support IBM vous le demande.