Bonnes pratiques de création de processus LiveCycle

Connaissances préalables

Il est souhaitable de posséder une expérience préalable de la conception de processus Workbench à l’aide d’Adobe LiveCycle Workbench.

Niveau de l’utilisateur

Toutes

Cet article présente certaines bonnes pratiques de création de processus LiveCycle à l’aide d’Adobe LiveCycle Workbench. Il ne s’applique pas à une version particulière de Workbench et ne doit pas être considéré comme un guide étape par étape pour la création de processus LiveCycle, mais il représente des pratiques générales pour améliorer et normaliser les pratiques. Avant de mettre en œuvre ces bonnes pratiques, assurez-vous qu’elles s’intègrent à votre stratégie globale de conception de processus LiveCycle et qu’elles correspondent à vos besoins organisationnels.

La définition des bonnes pratiques et leur mise en forme en procédures habituelles constituent une activité permanente, car les individus et les équipes acquièrent de l’expérience dans la création de processus de LiveCycle.

Disposition

Un aspect important de tout processus de LiveCycle est sa conception et sa disposition. Idéalement, un processus doit être élaboré de manière claire, disposé de façon logique et facile à mettre en œuvre et à comprendre :

  • Simplifiez l’apparence. Les diagrammes de gestion des processus représentent visuellement le processus. Évitez les diagrammes encombrés qui contiennent beaucoup d’étapes. Pour concevoir des schémas de processus clairs, utilisez des voies de navigation, des sous-processus et une documentation appropriée.
  • Fournissez une description appropriée de chaque processus, opération et itinéraire. Vous pouvez définir la description d’un processus dans le panneau Propriétés.
  • Fournissez un titre et une description de chaque variable.  Le titre est utilisé chaque fois que la variable est utilisée pour l’entrée ou la sortie dans une opération et fournit plus d’informations sur son objectif que le nom de la variable. La description fournit des informations d’aide valides au développeur de processus. Ceci est particulièrement pertinent pour les sous-processus et leurs variables d’entrée et de sortie.
  • LiveCycle ne fournit pas une prise en charge étendue de la création de tableaux de base de données et de la manipulation des sources de données. Utilisez des sources de données tierces pour créer des objets de base de données.
  • Pour accélérer la création de processus LiveCycle tout en réduisant au minimum les efforts, vous devez envisager de créer des sous-processus. Les sous-processus vous permettent de réutiliser et de simplifier les processus dans votre application. Créez des sous-processus pour des fonctions similaires utilisées à plusieurs endroits ou dans plusieurs applications.

Normalisation des processus

Un autre aspect important de la normalisation des processus lors de la création de processus LiveCycle est de suivre une convention d’appellation. Les conventions d’appellation sont généralement propres à l’organisation et doivent donc être définies en tenant compte des exigences et des politiques avant que ne commence l’élaboration des processus LiveCycle.

  • Remplacez les noms par défaut des objets par des noms explicites qui en définissent la fonctionnalité ou l’usage. Utilisez le camel case pour les noms de variables.
  • Utilisez la même langue pour tous les processus, sous-processus et applications. Ne mélangez pas plusieurs langues.
  • Créez des normes pour la création de la structure de dossiers pour les applications et les processus.
  • Utilisez des noms différents pour chaque variable, objet, processus et application afin d’éviter un conflit d’appellation.        
  • Définissez des normes pour les composants personnalisés, puis appliquez-les et appliquez-les à leur utilisation.
  • Définissez des normes pour la mise en œuvre de la journalisation, puis appliquez ces normes de journalisation en vue de leur utilisation.

Performances

Les performances optimales des processus, sous-processus et applications réduisent l’utilisation des ressources et le temps de calcul et empêchent les applications de se retrouver dans un état bloqué.

Voici quelques bonnes pratiques pour améliorer les performances des processus LiveCycle :

  • Mettez en œuvre la gestion des exceptions dans tous les sous-processus. Elle réduit le nombre de processus bloqués qui ne peuvent pas être redémarrés.  
  • Les composants prêts à l’emploi permettent de définir des itinéraires d’erreur.  Lors de la vérification des valeurs possibles, mettez toujours en œuvre l’itinéraire par défaut ou les itinéraires d’erreur pour tous les sous-processus.
  • Le script executeScript peut ralentir les processus LiveCycle. Au lieu de dépendre de executeScript, créez un composant personnalisé ou utilisez une combinaison de sous-processus.
  • Lors de la vérification des valeurs possibles, utilisez une expression en majuscules ou en minuscules pour mettre en œuvre un mécanisme sans échec. Par exemple, lors de la vérification de @nextStep = ‘PROC.001’, vérifiez également ‘proc.001’ et ‘Proc.001’.
  • Assurez-vous que votre code ne contient aucun avertissement. Appliquez un correctif au code pour réduire le nombre d’avertissements.
  • Ne placez pas le code dans la section des commentaires, il mène à un code illisible et les nouveaux développeurs auront du mal à le comprendre.
  • Parfois, les développeurs inscrivent peu de classes et de méthodes uniquement pour tester certaines fonctionnalités et ces classes/méthodes ne sont pas utilisées ultérieurement.  Supprimez le code inutilisé : cela facilitera la lecture et la compréhension du code.
  • Parfois, plusieurs composants utilisent un morceau de code similaire. Créez des fichiers JAR de ce code réutilisable au lieu de copier du code depuis un autre composant.
  • Ne créez pas de tableaux de base de données ad hoc. Consultez l’équipe de base de données pour connaître les schémas approuvés et normalisés.
  • Pour les exceptions, effectuez les vérifications appropriées à la condition au lieu de prendre une situation particulière. En supposant qu’une situation se produise, on peut obtenir des résultats ambigus ou des processus bloqués.
  • Chaque nœud ajoute au temps d’exécution et à l’enregistrement de base de données en cas de processus de longue durée. Évitez les nœuds/opérations non pertinents ou inutilisés.
  • Utilisez XSLT au lieu de définir de longues listes d’expressions de mappage individuelles pour déplacer ou copier plusieurs éléments dans ou entre des données XML.
  • Vérifier les processus, les sous-processus et les applications pour les variables inutilisées. Utilisez les modules complémentaires de Workbench pour identifier les variables inutilisées. Supprimez les variables inutilisées, en particulier dans les processus de longue durée, car les processus allouent de l’espace à la base de données pour les variables.

Méthodes de codage

Voici quelques bonnes pratiques de codage :

  • Utilisez le camel case pour les noms de variables.
  • Définissez toujours les types (int / string / document) des variables.
  • Utilisez des noms clairs et descriptifs pour les activités : utilisez des noms tels que « Définir des variables de recherche », au lieu de « définirVariablesRecherche ». Ces noms sont utilisés dans le LiveCycle Administration Console.
  • Les processus doivent toujours avoir un itinéraire par défaut.
  • Tout en effectuant des comparaisons, dirigez toujours des conversations explicites. Pour les calculs, convertissez la variable de processus utilisée pour le calcul en nombre.
  • Risque d’erreur :
    /process_data/dataXML/CandidateDataCaptureForm/dataCapture/pmiData/pmiForSelf = “1” ou /process_data/dataXML/CandidateDataCaptureForm/dataCapture/pmiData/pmiForSelf = 1

    Bonne pratique :
    number(/process_data/dataXML/CandidateDataCaptureForm/dataCapture/pmiData/pmiForSelf) = 1

  • Pensez toujours à créer un composant personnalisé au lieu de placer du code dans un objet executeScript. Celui-ci vous permet d’effectuer de meilleurs tests unitaires et de réutiliser les fonctionnalités d’autres composants personnalisés.
  • Mettez toujours en œuvre les valeurs renvoyées pour les sous-processus. Lors de l’appel d’un sous-processus (en particulier synchrone et de courte durée), celui-ci doit renvoyer une valeur qui peut être vérifiée par le processus principal. Ainsi, le processus principal sait quel est le statut du sous-processus. Le processus principal doit gérer la valeur renvoyée de manière appropriée.
  • Évitez les valeurs littérales codées en dur. Ces valeurs nécessitent la reconstruction, le reconditionnement et le redéploiement de l’application lors de la modification des environnements LiveCycle. Utilisez des valeurs de configuration lorsque cela est possible afin de pouvoir configurer le service en dehors de sa définition de processus.  
  • Mettez en œuvre l’itinéraire par défaut à tous les points de contrôle. Les itinéraires de processus sont définis pour presque toutes les valeurs possibles ; l’itinéraire par défaut est appelé lorsque la variable ne correspond à aucune valeur possible. Les itinéraires par défaut empêchent la création de processus bloqués.
  • La journalisation utilise de nombreuses ressources système, même lorsqu’elle est désactivée. Évitez d’effectuer une journalisation excessive pour une utilisation optimale des ressources système.

Liste de contrôle pour les processus

La cohérence et l’exhaustivité de tous les processus rendent les processus compréhensibles, améliorent les performances et réduisent l’encombrement du code.

Voici la liste de contrôle permettant d’assurer la cohérence et l’exhaustivité des processus LiveCycles :

  • Vous avez géré des exceptions.
  • Vous avez géré correctement les appels de sous-processus et leur valeur de retour.
  • Vous avez supprimé les variables inutilisées.
  • Vous avez supprimé les opérations hors sujet.
  • Vous avez correctement annoté vos processus.
  • Vous avez analysé les itinéraires sortants de vos opérations pour en vérifier la cohérence.
  • Vous avez remplacé les littéraux par des variables de configuration aux emplacements appropriés.
  • Vous avez vérifié vos calculs et comparaisons afin d’utiliser des types de données appropriés et de vérifier leur exhaustivité.
  • Vous avez vérifié la taille de chacune de vos variables.

Et maintenant ?

Nous avons discuté, en bref, des bonnes pratiques pour la création de processus LiveCycle Workbench.

Vous pouvez consulter le site du Centre de développement de LiveCycle AEM Forms pour plus d’informations. La documentation relative à LiveCycle Workbench est disponible sur la page Documentation LiveCycle ES3.

La documentation devrait répondre à la plupart de vos questions ; toutefois, n’hésitez pas à entamer et à participer aux discussions.