Hypothèses

Les classes d'implémentation de procédure sont regroupées dans une arborescence de classes différente ou dans un autre fichier JAR et sont mises à la disposition d'Unica Plan via un chemin URL.

Implémentation de procédure

Le gestionnaire d'exécution de procédure utilise un chargeur de classe indépendant pour charger ces classes en fonction des besoins. Par défaut, Unica Plan recherche dans le répertoire suivant :

<Plan_Home>/devkits/integration/examples/classes

Pour changer ce paramètre par défaut, définissez le paramètre integrationProcedureClasspathURL sous Paramètres > Configuration> Plan > umoConfiguration > integrationServices.

Le nom de la classe de mise en œuvre de procédure obéit aux conventions de dénomination Java™ acceptées, afin d'éviter des collisions de package avec "unica" et avec les classes des autres fournisseurs. Les clients ne doivent pas placer des procédures dans l'arborescence de packages "com.unica" ou "com.unicacorp".

La mise en œuvre de procédure est codée dans la version Java Runtime utilisée par Unica Plan sur le serveur d'applications (au minimum JRE 1.8).

La classe d'implémentation de procédure est chargée par la règle de chargement de classe qui est normalement utilisée par Unica Plan (généralement parent-last). Le serveur d'applications peut fournir des outils et options de développement pour recharger les classes qui pourraient s'appliquer aux procédures Unica Plan, mais cela n'est pas obligatoire.

Bibliothèques

Unica Plan fournit des bibliothèques Open Source et tierces ; les serveurs d'applications utilisent également différentes versions de ces bibliothèques.

En général, cette liste varie d'une version à une autre. Les bibliothèques tierces suivantes sont prises en charge :

  • activation.jar
  • axiom-api-1.2.15.jar
  • axiom-compat-1.2.15.jar
  • axiom-dom-1.2.15.jar
  • axiom-impl-1.2.15.jar
  • axis2-adb-1.5.2.jar
  • axis2-adb-codegen-1.5.2.jar
  • axis2-codegen-1.5.2.jar
  • axis2-kernel-1.5.2.jar
  • axis2-transport-http-1.5.2.jar
  • axis2-transport-local-1.5.2.jar
  • httpcore-4.0.jar
  • commons-codec.jar
  • commons-httpclient-3.1.jar
  • commons-lang.jar
  • commons-logging.jar
  • disruptor-3.4.2.jar
  • geronimo-stax-api_1.0_spec-1.0.1.jar
  • httpclient-4.3.6.jar
  • httpcore-4.3.3.jar
  • jersey-client-1.17.jar
  • jersey-core-1.17.jar
  • jersey-json-1.17.jar
  • junit-4.4.jar
  • log4j.jar
  • log4j-api-2.8.2.jar
  • log4j-core-2.8.2.jar
  • mail.jar
  • neethi-2.0.4.jar
  • wsdl4j-1.6.2.jar
  • xlxpScanner.jar
  • xlxpScannerUtils.jar
  • xlxpWASParsers.jar
  • XmlSchema-1.4.3.jar
  • Unica Plan APIs latest version (affinium_plan.jar)
  • Unica Platform APIs latest version (unica-common.jar)

Si une procédure ou les classes secondaires importées par la procédure utilisent ces packages, leur utilisation doit être totalement conforme à celle des packages fournis par Unica Plan ou par le serveur d'applications. Dans ce cas, il est nécessaire de retravailler votre code de procédure si une version ultérieure de Unica Plan met à niveau ou abandonne une bibliothèque.

Procédures et unités d'exécution

La procédure doit autoriser les unités d'exécution multiples concernant son propre état. Cela signifie que sa méthode d'exécution ne peut pas dépendre des changements d'état internes d'un appel à un autre. Une procédure ne peut pas créer des unités d'exécution par elle-même.