Les avantages des Services Web ne sont plus à démontrer aujourd’hui, ils sont devenus le nouveau point de convergence des acteurs du marché de l’informatique qui en font un nouveau standard accepté de tous.
Ce dossier est issu de notre publication System iNews (01/10). Pour consulter les schémas et illustrations associés, rendez-vous dans le club abonnés.
Le vieux rêve de faire communiquer en temps réel différents programmes issus de différentes plates-formes hétérogènes et ceci quelles que soient les distances, est consommé.
Que ce soit dans votre intranet pour faire communiquer vos différents applicatifs, ou sur internet pour accéder à un service gratuit ou payant, ils sont l’avenir et leur implémentation au cœur de l’IBM i est devenue une sinécure.
De nombreux articles définissent avec précision ce qu’est un Service Web, leur utilité et la technologie employée, System iNews a d’ailleurs publié déjà de nombreux articles sur le sujet, les plus remarquables rédigés par Scott Klement et son projet open-source HTTPAPI.
Le succès de ce projet a fait réagir les équipes d’IBM à Rochester. Ainsi, la V6R1 nous a apporté un lot important de nouveautés concernant les Services Web, dont nombre d’entre elles ont été portées en V5R4 par PTF.
Nous possédons dorénavant en V5R4 un serveur de Service Web intégré à l’OS qui vous permettra en quelques clics de transformer un programme ILE RPG ou COBOL en Service Web tout en s’affranchissant de déployer Websphere Application Server, mais nous traiterons ce sujet dans un autre article.
La nouveauté qui nous concerne, le portage du projet Apache Fondation Axis C++ version 1.5 dans l’IBM i. Axis est un Framework open-source qui offre en outre la possibilité de générer automatiquement des WSDL correspondant à des classes Java ou inversement à créer des classes Java, C ou C++ sur la base d’un WSDL, et c’est ce dernier point qui va nous intéresser dans cet article. Ainsi, toute la complexité d’accès au programme distant avec le protocole HTTP à travers des messages SOAP est masquée dans ces classes proxy. Il nous reste plus qu’à appeler ces programmes générés pour consommer un Service Web comme indiqué sur la figure 1.
Ainsi, les étapes nécessaires pour consommer un service web sont (voir figure 2).
Pour connaître les limitations l’Axis C++ 1.5 dans l’IBM i, je vous conseille de visualiser le README.TXT situé dans le répertoire /Qibm/ProdData/OS/Webservices/V1/Client/. Extraits :
WSDL 1.1. is the only supported WSDL level.
SOAP 1.1 is the only supported over-the-wire protocol
The response from the Server must be in UTF-8 format
…
Récupération dans l’IFS du WSDL
WSDL est un fichier XML qui contient l’emplacement du Service Web sur la toile ainsi que les opérations (méthodes, paramètres et valeurs de retour) que le service propose.
Prenons un exemple avec le Service Web gratuit StockQuote, permettant d’interroger directement la bourse de NewYork (NYSE).
Pour le tester, on saisi en ligne le code boursier « IBM » et on obtient en réponse le message XML (figure 3).
On récupère le fichier WSDL sur ce site et on le place dans un répertoire de l’IFS ex : /home/webservices/ sous le nom de stockquote.wsdl (exemple pour la suite de cet article). Nous avons constaté que le service web répondait bien en le testant directement en ligne, avons récupéré son WSDL dans l’IFS (vous pouvez d’ailleurs visualiser son contenu avec DSPF ‘/home/webservices/stockquote.wsdl’, nous pouvons maintenant passer à l’étape suivante.
Téléchargez cette ressource
Créer des agents dans Microsoft 365 Copilot
Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer
ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel
Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques.Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.