Soumis par kacy le
Donc, suite au plantage et à l'impossibilité de faire fonctionner le 4GL à partir de Java, j'ai changé mon fusil d'épaule...
Soyons fous ! et si on faisait tout dans le 4GL ?
- Lecture du message entrant
- Parsing XML des données
- Insertion en base
- Traitement métier
- Création du message XML de réponse
- Ecriture de ce dernier dans la bonne file
Bon là se profile à l'horizon une autre difficulté : ma méconnaissance du langage C... méconnaissance parce que c'est super loin tout ça, et en plus j'ai jamais bien compris le concept des pointeurs...... ;)=
Bref, je me suis donc lancé, j'ai donc développé un programme 4GL qui fait appel à des fonctions C d'envoi/réception de messages au travers d'MQ, ainsi que des fonctions de parsing/transformation XML (d'où les quelques billets sur l'installation notamment des librairies libxml2 et libxslt sous AIX...).
Donc, petite explication sur l'utilisation de fonction C en 4GL :
Comment ça marche (le principe) :
L'idée est de créer une fonction ayant une signature de la formeint <nom méthode>(int nargs);La fonction doit donc retourner un
intqui correspond au nombre de paramètres retournés (ne me demandez pas pourquoi, c'est le fonctionnement du 4GL :P ). C'est là où il faut être attentif, a savoir qu'on va utiliser des fonctions du typeibm_lib4gl_returnInt4(mqStatus);ou
ibm_lib4gl_returnString(mqErrmsg);Pour retourner les valeurs souhaitées, (la fonction à utiliser depend bien sûr du type de valeur retournée, cf. la doc du langage 4GL pour la liste exhaustive)
- Le passage de parmètres et la gestion de l'instruction
return
A TERMINER








