Blog navigation

Derniers articles

EXEC_JS / streamline.js / Bundles Javascript de Sage X3 Syracuse

 

Combler le fossé entre 4GL et JavaScript pour un développement amélioré dans Sage X3

Parfois, Sage X3 4GL présente des limitations lors du développement de fonctions cryptographiques. Pour remédier à cela, Sage a élaboré une solution en créant un « pont » entre le 4GL et JavaScript.

Essentiellement, il est désormais possible de développer des fonctions JavaScript déployables au niveau Syracuse dans le framework node.js et appelées depuis Sage X3. Cette approche s'applique également à la manière dont l'éditeur gère des fonctions complexes telles que « Chorus ».

Cette méthode s'avère très avantageuse dans divers scénarios :

  • Gérer plusieurs certificats complexes devant communiquer via un webservice, que Syracuse ne peut pas gérer en raison des méthodes de chiffrement ou des limitations du nombre de certificats.
  • Aborder des fonctions qui n'existent pas dans l'environnement 4GL.
  • Utiliser des méthodes d'analyse avancées au sein de JavaScript.

Pour faciliter le processus de configuration d'un module de bundle JavaScript, de nombreux articles expliquent les étapes à suivre. Vous trouverez davantage d'informations dans la section « Aide en ligne » en recherchant le mot-clé « javascript bundles ».

Cet article se concentre sur deux aspects peu détaillés dans la documentation officielle, mais pouvant vous éviter de rencontrer des difficultés pendant plusieurs jours :

  • Asynchrone vs Synchronisé :
  • Streamline.js :

Pour surmonter ce défi, Sage a introduit une couche JavaScript appelée « streamline.js ». Cette couche convertit efficacement les fonctions JavaScript asynchrones en fonctions synchrones. Pour plus de détails, vous pouvez consulter le dépôt : streamline.js sur GitHub. Lors de l'utilisation de cette couche, respecter certaines règles fondamentales est crucial :

  • L'extension de votre fichier JavaScript doit être « ._js » au lieu de « .js ». Cette distinction permet la transformation de la couche.
  • L'intégration d'un rappel (callback) dans votre fonction JavaScript est essentielle. Ce rappel diffère du style JavaScript classique et est marqué par un trait de soulignement dans la fonction.

Pour valider votre code JavaScript, vous pouvez lancer le processus « node.exe » avec votre fichier JavaScript. Cependant, il est recommandé de d'abord rectifier votre code JavaScript sans rappel (callback) et d'implémenter ultérieurement le concept de rappel.

 
Publié dans: Sage X3, 4GL, Javascript