Tips de développement pour débutant webMethods Designer
Dans mon expérience de développement de flow service et de de demi-flux dans le designer webMethods, j'ai gardé quelques petites astuces plus ou moins connues qui peuvent vous faire gagner du temps et que je souhaite vous faire partager.
1ère Astuce : Tester la valeur d'une string
Le cas 1 est un cas que je vois souvent lors de revues de code.
Faire une séquence pour le cas vide et une séquence pour le cas null alors que fonctionnellement la règle sera la même.
Il faut alors utiliser le cas 2 avec une regex.
utiliser /[^ ]/ pour dire commence par un caractère, cela vérifie que la string d'entrée n'est ni vide ni null.
2ème Astuce : Utiliser le String.replace
Toujours dans la manipulation des objets string et Regex, un petit service que l'on trouve dans le package pub peut s'avérer très utile, le pub.string:replace:
Dans l'image précédente j'ai exécuté le service replace avec en entrée une string IdFact_an2_1123
J'ai cherché à remplacer les caractères entre underscore (an2) avec une string REPLACE.
Ce qui donne en sortie IdFact_REPLACE_1123
C'est un cas que l'on a souvent à faire et qui peut être fait facilement grâce à cette fonction.
Autre cas si on veut replacer les 3 dernier caractères :
en entrée : IdFact123
Regex: ^(.*)(.{3})$
en sortie IdFactReplace.
PS : ne pas oublier le useRegex à true ;)
3ème Astuce : Créer un service universel pour vos trans-codifications
Ah les fameuses transco ! Vous en aurez besoin dans presque chaque demi-flux et parfois chaque développeur a tendance à le faire à sa sauce.
Pour les trans-codifications simple de valeur A vers B, créer un service réutilisable par tout le monde dans un package commun ou si vous voulez éviter les dépendances à reprendre dans chaque package de demi-flux peut aussi vous faire gagner du temps.
En voici un que j'ai appelé fromXtoYUniversal :
d'abord voici les input du service.
inputValue: la string qui doit subir la transformation.
defaultValue: la valeur par défaut si transformation non trouvée.
TranscoValues, la table de trans-codification avec clé-valeur.
Le Service en lui même :
Tout d'abord on initialise la sortie avec la valeur par défaut.
Ensuite on vérifie si notre input n'est pas null ou vide, puis on boucle sur notre table de transco à la recherche de notre valeur.
Une fois trouver on quitte la boucle et on clean nos variables.
Exemple concret d'utilisation :
Ici en entrée on a le code de civilité Mlle, Mr et on a besoin du libelle.
Le service retournera donc Mdemoiselle au vue de l'inputValue
Evidemment se service est perfectible et peut être amélioré pour chercher vos trans-codification dans une bdd avec des adapters, dans un fichier plat, dans des propriétés globales...
Mais avoir une façon centraliser de le faire évites les erreurs.
Dernière Astuce : utilisation du package PS Utilities
Le package PS Utilities est disponible ici.
Il s'agit d'un package développé par des personnes de chez softwareAg.
Vous y trouverez tout un tas de Flow Services utile qui ne sont pas dans wm.public.
A notez aussi par exemple la présence dans ce package d'une gestion de liste beaucoup plus performante que le pub.list:appendToDocumentList.
Bon développement à vous.
Partage
Gardez un oeil sur tout
Recevez des notifications dès la publication d’un nouvel article et restez informé de l’actualité Cloud !
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é
L’accès ou le stockage 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’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage 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 l’internaute.
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
L’accès ou le stockage technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.