Suite à vos retours et demandes, nous avons fait évoluer le logiciel d’administration des web services.
Principales Nouveautés de la 1.0.2
  • Abandon de XMLSERVICE, cette version fonctionne sans ce produit
  • Les commandes copiées sont mises dans /webservice/local/models, ce qui est plus lisible  pour la version multi serveurs
  • Vous avez un bouton <FILE> sur la gestion des services et des serveurs qui permet de produire une table qui liste vos ressources
  • Vous trouverez de nouveaux exemples dans le fichier source SAMPLESRC qui contient des exemples d’automatisations
  • Nous avons créer un outil de migration qui vous paramétra de garder vos logs et surtout votre paramétrage
Et surtout, nous avons réécrit une version 6.1 pour tous ceux qui ne sont pas encore en version 7.*. Cette version dispose des même fonctions que la la version standard, mais n’évoluera sans doute pas, les nouveautés n’étant livrées qu’en version 7.*.

 

La console évolue, et passe désormais en version 1.0.1 : http://www.gaia.fr/download/utilitaires/webconsole.zip.

Pour prendre en compte vos retours et commentaires, cette version apporte principalement sur la capacité de gérer plusieurs partitions depuis un système. Vous retrouverez les informations de la version précédente (cf notre article de lancement http://www.gaia.fr/console-pour-serveurs-de-services-web/).

Nous continuons à faire évoluer cet outil, et à prendre en compte vos besoins. Une des prochaines phases sera le passage en Open Source !

 

Continuez à nous transmettre vos remarques et besoins.

 

L’utilisation toujours plus importante de web services nous amène à devoir manipuler en RPG des données sous forme XML et JSON, pouvant représenter différents types de données, simples ou complexes.

Mais lorsqu’il s’agit de données binaires (image ou document pdf par exemple), ces informations doivent être converties en Base64 qui procure une représentation alphabétique de données binaires.

Voir la définition Wikipédia : https://fr.wikipedia.org/wiki/Base64

 

Afin de pouvoir encoder ou décoder ces valeurs depuis un programme RPG, nous devons nous appuyer sur des outils, chacun ayant ses avantages ou limitations :

Nous proposons de voir ici une méthode avec Java, qui a la particularité de pouvoir être piloté directement par RPG.

Depuis Java 8, le runtime fournit les fonctions Base64 : https://docs.oracle.com/javase/8/docs/api/java/util/Base64.html

Toutefois, cette classe utilise des classes internes Java (classe dans la classe), dont le prototypage n’est pas documenté pour le RPG.

 

Voici un exemple d’utilisation simple en Java :

Produit la sortie suivante :

Ici, Base64.Encoder et Base64.Decoder sont les classes internes.

Voir la définition Wikipédia : https://fr.wikipedia.org/wiki/Classe_interne

 

Voici un programme RPG qui implémente l’utilisation de ces mêmes classes :

Produit le résultat suivant :

 

En RPG, les classes Java internes se déclarent avec $ et ne sont utilisables que via la classe mère.

Pour utiliser cette fonctionnalité Base64, il vous suffit d’avoir une JVM 8 :

  • vérifier la disponibilité sur votre système par GO LICPGM, produit JV1
  • java *version en ligne de commande pour connaitre la JVM par défaut
  • regarder la variable d’environnement JAVA_HOME si existante

 

L’utilisation de Java permet de dépasser la limite des 4Ko facilement. La nouvelle limite est maintenant la taille maximale d’une variable RPG (16Mo), qui s’avère suffisante dans les situations classiques.

Bon développement !