Langage W4. Note technique W4 Engine



Documents pareils
Guide d utilisation. Version 1.1

Zoom sur Newtest LDAP intégration

Authentifications à W4 Engine en.net (SSO)

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Internet. Web Sécurité Optimisation

W4 BPM WORKSPACE. MANUEL DE SUPERVISION FONCTIONNELLE Référence: W4WK_SUPERVISION_020_FR

(structure des entêtes)

FileMaker Server 14. Guide de démarrage

Architectures web/bases de données

Guide de l utilisateur Mikogo Version Windows

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

Manuel d utilisation du site web de l ONRN

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

L3 informatique TP n o 2 : Les applications réseau

LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS

Formation. Module WEB 4.1. Support de cours

Publication dans le Back Office

Paiement sécurisé sur Internet. Tableau de bord Commerçant

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Manuel Utilisateur Version 1.6 Décembre 2001

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Manuel d'installation

Etude et développement d un moteur de recherche

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Serveurs de noms Protocoles HTTP et FTP

Documentation Honolulu 14 (1)

Erreurs les plus fréquentes Guide de dépannage

Nokia Internet Modem Guide de l utilisateur

Cyberclasse L'interface web pas à pas

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version

Windows Internet Name Service (WINS)

CGI et SSI. La programmation CGI. Sources. Objectifs. Qu'est ce qu'un programme CGI? CGI

Déploiement de SAS Foundation

HYBIRD 120 GE POUR LES NULS

claroline classroom online

Guide Numériser vers FTP

Les messages d erreur d'applidis Client

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Guide Utilisateur Transnet

Lotus Notes 7 Utilisateur Messagerie, agenda, tâches

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

18 TCP Les protocoles de domaines d applications

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

Administration Centrale : Opérations

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

SOLUTION D ENVOI DE SMS POUR PROFESSIONNELS

Définition des Webservices Ordre de paiement par . Version 1.0

KWISATZ_TUTO_module_magento novembre 2012 KWISATZ MODULE MAGENTO

Sage Déclarations Sociales

Comment utiliser FileMaker Pro avec Microsoft Office

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Comment déposer les comptes annuels des associations, fondations et fonds de dotation.

Créer et partager des fichiers

Atelier Le gestionnaire de fichier

Microsoft Hosted Exchange 2010 DOCUMENT D EXPLOITATION

Network Scanner Tool R2.7. Guide de l'utilisateur

Documentation pour l envoi de SMS

Installation / Sauvegarde Restauration / Mise à jour

DSI - Pôle Infrastructures

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

Guide de l utilisateur Usagers d œuvres

Manuel d Administration

Module http MMS AllMySMS.com Manuel d intégration

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

iil est désormais courant de trouver sur Internet un document

Plateforme PAYZEN. Définition de Web-services

Programmation Web. Madalina Croitoru IUT Montpellier

Utiliser un CMS: Wordpress

L annuaire et le Service DNS

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Objet du document. Version document : 1.00

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Surveiller et contrôler vos applications à travers le Web

Table des Matières. Pages 3-4. A propos d emblue. Page 5. L environnement emblue. Création d une campagne d marketing. Pages 6-15.

HTTP 1.1. HyperText Transfer Protocol TCP IP ...

Serveur d application WebDev

API FTP SMSENVOI V1.1

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Guide d utilisation - Intranet de l ASG Pour utilisateurs d Albatros Version 8.7

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

Manuel d utilisation du logiciel RÉSULTATS. Édition destinée aux départements

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

NetCrunch 6. Superviser

FileMaker Server 12. publication Web personnalisée avec XML

SERVICES EN LIGNE DES SUBVENTIONS ET DES CONTRIBUTIONS

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

1. Installation du Module

WWSympa, une interface web pour Sympa

MANUEL D UTILISATION LIVRET DE L ENSEIGNANT

WebSSO, synchronisation et contrôle des accès via LDAP

Systèmes informatiques

Transcription:

Note technique W4 Engine Cette note technique décrit la conception d écrans HTML dynamiques prenant en charge un processus de workflow ; elle explique comment utiliser les mots clés et les API W4 dans les différents types de page gérés par le serveur de workflow. Sommaire 1 Conception d une page Web dynamique 3 2 Types de page HTML 8 3 Emplacement des fichiers utilisés par W4 Engine 12 4 Mécanismes de substitution 14 5 Appel d une API à l intérieur d un prototype de page 49 6 Cas particuliers : facilités d écriture 61 Référence : W4TN_W4_LANGUAGE_010_FR

Note technique W4 Engine 2001-2007 W4. Tous droits réservés. L'acquisition du présent document confère un droit d'utilisation incessible, non exclusif et personnel et non un droit de propriété. L'utilisation, la copie, la reproduction et la distribution du présent document sont permises à condition : 1. que la mention de droits d'auteur ci-dessus figure sur toutes les copies et que cette mention de droits d'auteur et la présente mention d'autorisation apparaissent conjointement ; 2. que le présent document ne soit utilisé qu'à des fins d'information et non commerciales ; 3. que le présent document ne soit modifié de quelque manière que ce soit. Tous les produits et marques cités sont la propriété de leurs titulaires respectifs. Les informations contenues dans ce document pourront faire l objet de modifications sans préavis.

1 Conception d une page Web dynamique 1.1 Principes de base Le serveur W4 Engine est composé d un distributeur central de messages (ou CMD, Central Message Dispatcher), d un ensemble de services de workflow connectés en permanence à la base de données, d un ensemble de services clients (comme le module de surveillance) et d un service assurant la coopération avec les autres serveurs W4 Engine. Le CMD est chargé de réceptionner tous les messages (requêtes et réponses) et de les transmettre aux destinataires via des canaux appropriés. Il gère aussi la liste des sessions ouvertes, ce qui permet à un utilisateur déjà connecté de soumettre une requête sans s authentifier de nouveau. Services et modules Les services connectés en permanence à la base de données sont au nombre de six : ordonnancement, recherche, traduction, administration, coopération et archivage (non représenté sur le schéma ci-dessus). 1 Le service d administration gère tous les objets créés lors de la définition de la procédure ou lors de la modélisation de l organisation : procédure, étapes, activités, définitions de variable, participants, rôles, serveurs. Il assure aussi l identification des participants lors d une ouverture de session ou d une reconnexion. 2 Le service d ordonnancement doit gérer tous les objets créés lors de l exécution des procédures : dossiers, tâches, variables, références de document, commentaires, événements. Il assure en particulier l ordonnancement des tâches, l assignation des tâches aux participants, et l enregistrement de toutes les actions relatives au déroulement des dossiers. 3 Le service de recherche permet d obtenir les attributs d un objet ou d une liste d objets vérifiant certains critères. Il ne modifie jamais la base de données. 4 Le service de traduction transforme chaque commande d appel de dictionnaire en un texte correspondant à la langue de l utilisateur et au contexte. 5 Le service d archivage permet d exporter l historique des processus terminés dans un fichier d'archives (sur disque optique, par exemple) et de restaurer sélectivement les archives. 6 W4 Engine possède aussi un service assurant la coopération du serveur W4 Engine principal avec d autres serveurs W4 Engine, installés sur des machines distantes. Le rôle de ce module est de garantir, dans le cadre d une application distribuée géographiquement, qu un participant recevra toutes ses tâches à partir d un serveur W4 Engine unique. Ces services traitent, par ordre d arrivée, les requêtes reçues sur leur canal de communication. Pour s adapter à la charge du système et aux ressources disponibles, plusieurs instances d un même service peuvent être activées simultanément. 3 NOTE TECHNIQUE Conception d une page Web dynamique

W4 Engine possède aussi un certain nombre de modules clients, tels que la surveillance, l administration système et l acteur automatique. Le module de surveillance envoie périodiquement des requêtes au service de recherche pour connaître les dates limites et d alarme dépassées, ainsi que les événements survenus. Dans le cas d un dépassement, il demande au service d ordonnancement de prendre les mesures nécessaires pour le traiter. Dans le cas d un événement survenu, il demande à ce même service de "réveiller" les tâches ou dossiers en attente de cet événement. Le module d administration système permet de démarrer le système, de l'arrêter, de connaître les utilisateurs connectés, de connaître l état des files d attente (ou canaux) des services, de lancer de nouvelles instances d un service et de les arrêter. Le module d acteur automatique assure les fonctions d un participant spécial appelé automatic, auquel sont affectées des tâches ne demandant pas d interaction humaine (par exemple, une mise à jour de base de données). Si, par erreur, cet acteur reçoit une tâche qu il ne peut pas réaliser, il la réaffecte au responsable du dossier ou à l administrateur. Mode de fonctionnement Comme un navigateur Web client ne dialogue qu avec le serveur Web, l activation d une requête de workflow déclenche le traitement suivant : 1 L activation de la requête correspond à la demande d accès à une adresse URL désignant un programme passerelle W4 Engine. 2 Le serveur Web lance ce programme en créant un nouveau processus de façon dynamique. 3 Le programme passerelle s identifie auprès du CMD, poste sa requête, puis se met en attente de la réponse. 4 Le CMD vérifie que le participant pour le compte duquel la passerelle soumet la requête possède bien le numéro de session indiqué, puis transmet la requête au service adéquat. 5 Lorsque le service soumet sa réponse, le CMD la renvoie au programme passerelle, qui insère cette réponse dans un modèle de page HTML et transmet au serveur Web la page ainsi formée. Remarque L architecture décrite ici suppose que le serveur Web et le serveur de workflow sont installés sur la même machine physique. Cette configuration peut se révéler inadéquate pour des raisons de sécurité ou de charge du serveur Web. Ainsi, W4 Engine permet d installer les différents serveurs sur deux machines différentes, à condition qu elles puissent communiquer via TCP-IP. 1.2 Circuit de traitement d une requête de workflow Le navigateur Web soumet au serveur Web soit un formulaire, soit un lien correspondant à l activation du programme passerelle de W4 Engine. Un certain nombre de données peuvent être associées à ce lien. Remarque la passerelle W4 Engine est constituée par un programme CGI unique, qui couvre toutes les API (interfaces de programmation d application) de W4 Engine et dont l adresse relative au serveur Web est /w4/cgi.exe. W4 BPM Suite NOTE TECHNIQUE 4

Le programme passerelle est lancé par le serveur Web et exécute les actions suivantes : 1 récupération et enregistrement des données transmises par le navigateur ; 2 connexion au système de messages W4 Engine ; 3 vérification du droit de connexion de l utilisateur ; 4 recherche des API à soumettre ; 5 récupération des paramètres de l API ; 6 appel des APIs ; 7 recherche du prototype HTML de présentation de la réponse ; 8 présentation de la réponse ; 9 déconnexion du système de messages W4 Engine. 1 - Récupération des données transmises par le navigateur Les données peuvent être indifféremment transmises dans la chaîne de requête (ou ligne de commande) associée à l URL ou dans l entrée standard du programme cgi.exe. Elles sont passées sous la forme attribut=valeur. Le programme CGI cgi.exe enregistre toutes ces données dans une liste, sans les interpréter. Dans cette liste, les données de la chaîne de requête précèdent celles de l entrée standard. Ce tri a une importance si un attribut apparaît deux fois dans les informations soumises à cgi.exe : le cas échéant, seul le premier est pris en compte. Rappel Les données d un formulaire supportant la méthode POST sont passées dans l entrée standard, et les autres (méthode GET et paramètres définis directement dans l URL) dans la chaîne de requête. Il n y a pas de limite au nombre d informations transmises par la méthode POST dans un formulaire, tandis que la taille de la chaîne de requête est limitée par celle des variables d environnement d un programme sur le serveur. De manière générale, W4 recommande d employer la méthode POST, pour plusieurs raisons : il n y a pas de limite au nombre d attributs transmissibles ; les valeurs nulles (attribut='') sont correctement traitées, alors qu elles peuvent provoquer une erreur dans la chaîne de requête. Les valeurs comportant des caractères spéciaux (accents, espaces, etc.) doivent être encodées manuellement dans la chaîne de requêtes, alors qu elles le sont automatiquement par le navigateur lorsqu elles sont envoyées par la méthode POST. 2 - Connexion au système de messages W4 Engine Si plusieurs serveurs de workflow sont actifs simultanément sur une même machine, l attribut wfs ou wfsname passé dans les données de cgi.exe permet de sélectionner le serveur voulu. 3 - Vérification du droit de connexion de l utilisateur W4 Engine recherche, dans la liste des données, la valeur des attributs suivants : 5 NOTE TECHNIQUE Conception d une page Web dynamique

actorid, id ou userid entier non signé qui doit contenir l identificateur du compte utilisateur ; loginid, lid ou sid entier non signé qui doit contenir le numéro de login de l utilisateur. cgi.exe soumet une requête au serveur de messages W4 Engine pour vérifier la validité du couple (id, lid). 3 cas sont possibles : (id, lid) existe dans les tables du système de messages : l utilisateur est actif et a le droit de soumettre des requêtes. L utilisateur est enregistré dans les tables sous un autre lid. La validité du jeton lid est suspendue. L utilisateur doit alors fournir son mot de passe pour obtenir un nouveau jeton, et le système lui réattribue le même lid1. La requête en attente est automatiquement exécutée. L utilisateur n existe pas dans les tables. La validité de sa connexion est annulée. L utilisateur doit alors fournir son nom et son mot de passe ; le système lui attribue un nouveau jeton, puis exécute sa requête en attente. Les durées de suspension et d expiration des logins sont définies par l administrateur du système. Pour plus d'informations, veuillez consulter le document suivant : Manuel d'exploitation de W4 Engine Remarque La commande de connexion (login) n effectue pas cette vérification. 4 - Recherche des API à soumettre Le programme CGI cgi.exe recherche ensuite les requêtes de workflow (API) qu il doit soumettre au serveur W4 Engne. Leur nom lui a été transmis via les attributs cmd et cmdxx, où XX est un entier spécifiant l ordre d exécution de ces API. Dans les versions 1 et 2 de W4 Engine, les commandes initiales étaient introduites par l attribut precmdxx, où XX est un entier spécifiant l ordre d exécution de ces API. Cette terminologie est toujours supportée dans la version actuelle. Il est toutefois recommandé d utiliser la nouvelle terminologie. W4 Engine propose plus d une centaine d API différentes, qui peuvent toutes être utilisées comme valeur des attributs cmd et precmdxx. 5 - Récupération des paramètres de l API Une fois l API W4 Engine identifiée, le programme CGI cgi.exe recherche, dans la liste établie à l étape 1, la valeur des paramètres d entrée de l API. cgi.exe connaît tous les paramètres de chaque API W4 Engine. 6 - Appel de l API Une fois les paramètres de l API instanciés, le programme CGI cgi.exe soumet la requête au serveur W4 Engine et attend la réponse. 1 Dans la mesure où le nombre maximal de licences concurrentes n est pas atteint. W4 BPM Suite NOTE TECHNIQUE 6

Les étapes 5 et 6 peuvent être exécutées plusieurs fois si plusieurs API W4 Engine doivent être chaînées dans le même appel au programme cgi.exe. 7 - Recherche du prototype HTML de présentation Lorsque la dernière API (correspondant à l attribut cmd) a été exécutée ou lorsqu une API lancée à l étape 6 renvoie un code d erreur, le programme CGI cgi.exe recherche le prototype de présentation de la réponse ou de suite du dialogue. Si aucun code d erreur n est renvoyé, le nom du prototype est déterminé par la partie value de l élément template=value dans la liste obtenue à l étape2 1. Si l attribut template n est pas défini, un prototype appelé standard est utilisé. Le programme CGI recherche alors le fichier correspondant au nom du prototype et à la langue de l utilisateur. Cette dernière est déterminée par l élément lg=value. En l absence de valeur, cgi.exe fait référence à l anglais. Si un fichier correspondant à la langue de l utilisateur et au prototype est trouvé, il est utilisé pour la présentation de la réponse. Dans le cas contraire, cgi.exe recherche un fichier relatif à un prototype multilingue. Si aucun fichier n est trouvé, le prototype templatenotfound est utilisé. Si l une des API renvoie un code d erreur, le même mécanisme est utilisé, sauf que le prototype est déterminé par l élément error=value. Si l attribut error n est pas défini, le prototype par défaut s appelle standarderror. Il est également possible de revenir à un écran mémorisé en utilisant le paramètre contextbackup. 8 - Présentation de la réponse Le prototype sélectionné à l étape 7 est analysé afin de générer la page HTML qui sera présentée à l utilisateur. Un prototype est une page HTML dans laquelle apparaissent des mots clés W4 Engine spécifiques, qui sont remplacés par la valeur des objets de workflow correspondants. Les mots clés W4 Engine sont nombreux et permettent d insérer, entre autres : les résultats de l API ; des informations sur le participant ; des informations sur la tâche courante ou le dossier courant ; des informations sur n importe quel objet du système de workflow, par le biais de scripts. 9 - Déconnexion du système de messages W4 Engine La page générée est transmise au serveur Web. Le programme CGI cgi.exe se déconnecte du serveur W4 Engine et s arrête. 7 NOTE TECHNIQUE Conception d une page Web dynamique

2 Types de page HTML Un site Web intégrant des applications de workflow gérées avec W4 Engine comportera différents types de page : pages externes de présentation sans lien direct avec le workflow ; pages de connexion au serveur de workflow ; pages statiques offrant des accès directs aux pages dynamiques ; pages représentant une corbeille de tâches ; pages d activité permettant l exécution d une tâche ; pages de supervision des tâches et dossiers de workflow ; pages d information sur des objets de workflow ; pages d administration ; pages d intégration avec des applications externes. Toutes ces pages peuvent être réalisées avec n importe quel éditeur HTML du commerce. Nous recommandons cependant les éditeurs générant un code HTML lisible et simple, notamment ceux qui permettent la modification directe du code. Avec un peu d habitude, il devient aisé de créer des pages HTML en adaptant des pages existantes, en particulier pour les appels aux API de workflow et les contrôles d entrée en JavaScript, et la présentation de listes d objets complexes. Un éditeur de texte standard, avec ses fonctions de recherche/remplacement, offre une efficacité plus grande que l éditeur graphique, qui force l ouverture d un grand nombre de boîtes de dialogues pour modifier les éléments «cachés». La partie graphique de l éditeur HTML sera principalement utilisée pour la mise en page, la définition de tableaux, la couleur, l insertion d images, etc. 2.1 Pages externes de présentation sans lien direct avec le workflow Il s agit en général des pages d accueil du site Web, et des documents publiés sans restrictions ni suivi particulier. Nous n avons pas de conseil particulier quant à la création de ce type de page. Les pages externes sont accessibles simplement par leur adresse Web (URL). Leurs hyperliens vers des applications de workflow dirigeront généralement l utilisateur vers les pages de connexion au serveur de workflow. Lorsque des pages de workflow doivent présenter des liens vers des pages externes, il peut être intéressant de référencer celles-ci comme des documents de workflow. W4 BPM Suite NOTE TECHNIQUE 8

2.2 Pages de connexion au serveur de workflow Il s agit des pages qui assurent la transition entre les pages statiques (par exemple, l écran d accueil du site) et les pages dynamiques. Elles présentent un formulaire demandant l identifiant et le mot de passe de l utilisateur. Elles peuvent aussi permettre de créer un nouveau compte utilisateur qui sera immédiatement valide. Ces pages sont stockées sur le site Web et sont accessibles par leur URL. Après la vérification de l identifiant et du mot de passe, l utilisateur reçoit un jeton qui sera propagé de page en page et permettra au système de workflow de vérifier la validité de la connexion. L utilisateur est aiguillé vers une page statique offrant l accès direct aux pages dynamiques, ou vers une page de type corbeille de tâches. 2.3 Pages statiques offrant des accès directs aux pages dynamiques Les pages permettant des accès directs aux pages dynamiques ont une apparence statique et sont conçues comme les pages externes. La principale différence est qu elles sont liées au système de workflow. Par conséquent : Ces pages statiques sont capables d activer des requêtes de workflow en transmettant le jeton de l utilisateur connecté. La page est donc conçue de façon dynamique. Elles peuvent utiliser les mécanismes de dictionnaire de W4 Engine, et être présentées en plusieurs langues tout en maintenant un code source unique. Elles sont stockées avec les prototypes de page W4 Engine et sont accessibles via le mécanisme de substitution du programme CGI cgi.exe. 2.4 Pages représentant une corbeille de tâches Ces pages constituent l interface privilégiée de l utilisateur, qui y trouvera ses tâches et les moyens de créer de nouveaux dossiers. Ces pages seront souvent réalisées, après la mise au point d une nouvelle procédure, pour répondre aux besoins d utilisateurs ayant un profil spécifique. Elles permettent, en particulier, de diminuer fortement les besoins de formation des participants occasionnels. W4 Engine offre des mécanismes de génération assistée de ce type de pages. W4 Engine propose en standard une corbeille de tâches (appelée «workflow classique») qui permet à un utilisateur d accéder à toutes ses tâches et de les exécuter. Cette interface standard sera employée par les utilisateurs avertis, ainsi que dans les phases de prototypage et de mise au point. Elle est développée par les mécanismes décrits dans ce guide et peut être personnalisée par un intégrateur. Ces pages sont stockées avec les prototypes de page W4 Engine et sont accessibles via le mécanisme de substitution du programme CGI cgi.exe. 9 NOTE TECHNIQUE Types de page HTML

2.5 Pages d activité permettant l exécution d une tâche Ces pages constituent le cœur du système de workflow. Elles présentent à l utilisateur les informations dont il a besoin pour exécuter une tâche. En général, le système crée ces tâches en adaptant, en fonction de la signature des activités correspondantes, les prototypes de page générés automatiquement par W4 Engine. Remarque Le générateur de prototypes de page a été développé avec les mécanismes décrits dans ce guide et peut être adapté par un intégrateur. Ces pages sont stockées avec les prototypes d activité W4 Engine et sont accessibles via le mécanisme de substitution du programme CGI cgi.exe. Lorsqu une activité requiert des mécanismes d interaction sophistiqués, plusieurs écrans sont nécessaires pour la réaliser. Seul l écran initial est stocké avec les prototypes d activité W4 Engine, les écrans supplémentaires faisant partie des prototypes de page. 2.6 Pages de supervision des tâches et dossiers de workflow Ces pages permettent de superviser les tâches et dossiers de workflow et d agir sur leur déroulement. Un intégrateur aura rarement besoin de développer de telles pages, et se contentera de l interface de coordination proposée par W4 Engine (en l adaptant éventuellement). Lorsque des besoins spécifiques de coordination se font sentir, nous conseillons de développer des activités de supervision spécialisées pour une procédure. Ces pages sont stockées avec les prototypes de page W4 Engine et sont accessibles via le mécanisme de substitution du programme CGI cgi.exe. 2.7 Pages d information sur des objets de workflow Ce type de page permet de naviguer dans la base de données du workflow, renforçant la cohérence entre objets de workflow. Par exemple, des dossiers relevant de procédures différentes (commande, gestion de client, livraison) pourront être couplés fortement par une page d information. Ces pages sont stockées avec les prototypes de page W4 Engine et sont accessibles via le mécanisme de substitution du programme CGI cgi.exe. W4 BPM Suite NOTE TECHNIQUE 10

2.8 Pages d administration Il s agit de pages permettant d administrer les comptes, les rôles, les serveurs, les procédures et les activités. Un intégrateur aura rarement besoin de développer de telles pages, et se contentera de l interface d administration proposée par W4 Engine (en l adaptant éventuellement). Lorsque des besoins spécifiques d administration se font sentir, nous conseillons de développer des procédures spécialisées. Ces pages sont stockées avec les prototypes de page W4 Engine et sont accessibles via le mécanisme de substitution du programme CGI cgi.exe. 2.9 Pages d intégration avec des applications externes L exécution d une tâche impose parfois de se connecter à des applications existantes (base de données, applications patrimoniales, annuaire). Ces pages sont stockées avec les prototypes de page W4 Engine et sont accessibles via le mécanisme de substitution du programme CGI cgi.exe. 11 NOTE TECHNIQUE Types de page HTML

3 Emplacement des fichiers utilisés par W4 Engine Lors de l installation de W4 Engine les répertoires suivants sont créés : Bin Les programmes serveur w4 sont stockés dans ce répertoire. Cgi-bin Les programmes passerelle appelés par le serveur Web sont stockés dans ce répertoire. En particulier c est ici que réside le programme cgi.exe. L adresse Web http://nomserveur/w4 fait référence à ce répertoire. Un concepteur d application peut utiliser ce répertoire pour stocker ses programmes passerelle Templates Le programme cgi.exe de W4 Engine soumet des requêtes au serveur workflow, puis présente les résultats des requêtes à l utilisateur en générant une page HTML à partir d un modèle de présentation des réponses (appelé template). Le programme cgi recherche le modèle de pages dans le répertoire Templates. Ce répertoire peut être hiérarchisé et W4 conseille de créer un sous-répertoire par projet. Tous les modèles de pages sont dans ce répertoire à l exception des modèles de pages permettant l exécution des activités qui sont dans le répertoire Activities. Il n existe pas d adresse Web permettant d accéder directement aux modèles de pages non substitués. Activities Ce répertoire contient les modèles de pages permettant l exécution des activités. Le nom du modèle de page est directement déduit du nom de l activité à exécuter. Tous les modèles de page des activités sont stockés à plat dans ce répertoire. Il n existe pas d adresse Web permettant d accéder directement aux modèles de pages d activités. Le programme cgi recherche le modèle de présentation de page dans le répertoire Activities lorsque l API identifiée par l attribut cmd est la commande d exécution de tâche (ProcessTask). W4 BPM Suite NOTE TECHNIQUE 12

Il recherche le modèle dans le répertoire Templates pour toutes les autres APIs ainsi que pour le traitement des erreurs. Public Ce répertoire est un répertoire Web classique qui contiendra des pages statiques et des documents. Les objets de ce répertoire peuvent être accédés à travers l adresse Web http://nomserveur/w4public/nomdelobjet On stockera dans ce répertoire les pages de connexion à W4 Engine ainsi que les documents attachés aux dossiers workflow qui ont vocation à être consultés en dehors du workflow. Images W4 Engine stocke traditionnellement les images gif et jpeg dans ce répertoire accessible à travers l adresse http://nomserveur/w4images/ Private Ce répertoire est réservé pour stocker sur le serveur Web des documents attachés par les utilisateurs dans le cadre de leurs activités workflow, afin de permettre leur accès par d autres utilisateurs, sans toutefois proposer une adresse publique Web pour ces documents. Ainsi, les documents ne seront accessibles qu à travers les dossiers workflow auxquels ils ont été attachés. Lorsque le serveur workflow et le serveur Web résident sur des systèmes différents, les répertoires cgi-bin, Public, Private, Images, Templates et Activities sont tous dans l espace adressable par le système hébergeant le serveur Web, tandis que le répertoire bin est sur le système hébergeant le serveur workflow. 13 NOTE TECHNIQUE Emplacement des fichiers utilisés par W4 Engine

4 Mécanismes de substitution Pour générer les pages dynamiques présentées à un utilisateur, le programme CGI cgi.exe fusionne un prototype de page avec les données de workflow provenant de l exécution des commandes workflow ainsi que les données passées directement dans la requête ou le formulaire HTML. Un modèle de page peut être vu comme un document préparé pour du publipostage. Il contient le texte commun et la présentation commune à toutes les instances et des portions variables introduites par un marqueur de substitution, qui seront remplacées dynamiquement lors de la génération de la page résultat. Tout objet à substituer est introduit par un mot clé W4 Engine spécifique, commençant par le caractère @ 2 (par exemple, la tâche courante est désignée par @TASK). Les objets peuvent être des structures ou des tableaux de structures. L accès à un champ de la structure s effectue à l aide d une notation pointée utilisant les noms de champ. Par exemple, la structure d une tâche comporte un champ actor de type twfname, qui est luimême une structure dotée des champs id et str. Ainsi, le nom de l acteur en charge de la tâche courante sera substitué à la commande @TASK.actor.str. Le nom des mots clés W4 Engine et des champs n est pas sensible à la casse : @task.actor.str est donc équivalent à @TASK.actor.str. Pour mieux contrôler le format de substitution, il est possible de borner les constituants de la commande W4 par des parenthèses. Ainsi, @TASK.actor.str et @(TASK.actor.str) sont équivalents. Ce mécanisme est utile pour composer des «phrases» à partir de mots clés W4 Engine. Exemple : dans la procédure de jeu d échecs, le nom du dossier correspondant à une partie d échecs est généré à partir du nom des joueurs blanc et noir, par la substitution @(white)_@black. Le résultat d une substitution W4 Engine est toujours une chaîne de caractères (éventuellement vide). Cette chaîne de caractères peut contenir des caractères spéciaux (espaces, caractères accentués). Lorsqu on utilise le mécanisme de substitution W4 Engine pour construire une URL cible d un hyperlien de la page résultat, il peut être nécessaire d «échapper» les caractères spéciaux apparaissant après la substitution. Il suffit pour cela d insérer le caractère % avant le mot clé W4 Engine. Exemple : @%TASK.actor.firstName ou @(%TASK.actor.firstName) seront substitués par le prénom de l acteur courant dans lequel les caractères spéciaux seront échappés par leur code hexadécimal. Si l acteur courant a pour prénom Valérie @%TASK.firstName retournera Val%E9rie 2 Signe arrobas, également appelé A commercial ou escargot. Ce dernier nom a donné naissance au terme escargotage (en anglais, snail programming) pour designer la conception de prototypes de page HTML pour W4. Comme un escargot transporte sa maison, le mécanisme de substitution transporte dans HTML toute la puissance de W4 (mais sans la connotation de «lenteur» associée à cet animal!) : il transforme le langage HTML, prévu pour publier des documents statiques, en un environnement complet pour développer des applications interactives sur Internet. W4 BPM Suite NOTE TECHNIQUE 14

L intégrateur développant un prototype de page ou d activité HTML doit connaître toutes les structures de données W4 Engine, ainsi que la signature des API. Celles-ci sont décrites de manière détaillée dans le Manuel de référence des API. Ce manuel de référence est accessible en ligne à l adresse http://nomserveur/w4public/doc/default.htm (serveur web NT) ou http://nomserveur/w4public/doc/index.html (serveur Web Unix). Les concepteurs d applications seront avisés de garder un signet sur cette adresse. 4.1 Environnement de substitution L environnement de substitution est un ensemble de données qui comprend : les résultats de l API (incluant un code retour) ; des informations sur le participant (obtenues à partir de la valeur des attributs id et lid, qui doivent être présents dans les données transmises au programme cgi.exe) ; des informations sur la tâche courante ou le dossier courant (obtenues à partir de la valeur des attributs taskid et caseid, qui peuvent être présents dans les données transmises au programme cgi.exe) ; des informations sur n importe quel objet du système de workflow, par le biais de scripts ; les valeurs des autres attributs présents dans les données passées à cgi.exe. 4.2 Substitution W4 Engine Le programme CGI cgi.exe génère une page dynamique en analysant le prototype de page qui contient des commandes W4 Engine et en substituant ces dernières. La page produite est envoyée au serveur Web, qui la transmet à son tour au navigateur Web pour affichage sur l écran de l utilisateur. La page générée reproduit fidèlement le modèle de présentation et substitue toutes les constructions introduites par le caractère @ par leur valeur. Une construction à substituer a la forme générale @RACINE.qualification et sera évaluée de la manière suivante : 1 reconnaissance de la racine de la construction à substituer ; 2 reconnaissance de la qualification éventuelle de la construction, en fonction du type induit par la racine. Reconnaissance de la racine d une construction à substituer La phase de reconnaissance de la racine suit l ordre indiqué ci-après et s arrête dès que la recherche est fructueuse. La racine de la commande W4 peut correspondre : 1 au nom de l itération courante ; 2 à un mot clé prédéfini ou à une variable d environnement du programme CGI ; 3 à un nom de variable de la tâche courante ; 4 à un nom de variable du dossier courant ; 5 à un paramètre du formulaire ou de la chaîne de requête ; 6 à un script W4 Engine. 15 NOTE TECHNIQUE Mécanismes de substitution

Reconnaissance de la qualification d une commande Cette phase s arrêtant à la première occurrence trouvée, il est préférable de considérer la liste des mots clés prédéfinis et la liste des variables d environnement du programme CGI comme des mots réservés. Remarque si une donnée de tâche ou une donnée de dossier porte le même nom qu un mot réservé, il reste possible d accéder à la valeur de la donnée en spécifiant son nom complet (par exemple, @TASK.nomVar.value ou @CASE.nomVar.value). Une fois la racine de la commande reconnue, le programme cgi.exe en déduit le type de l objet correspondant et sa cardinalité (monovaleur ou liste). Il passe ensuite à la reconnaissance de la qualification, qui doit désigner un champ scalaire de l objet identifié ; la valeur de ce champ est alors substituée à la commande. Exemples La racine de @CASE.procedure.str est CASE, mot clé prédéfini désignant le dossier de workflow courant. La qualification de cette commande est procedure.str, qui correspond au nom de la procédure associée au dossier. La racine de @ACTOR.email est ACTOR, mot clé prédéfini qui désigne le participant courant. La qualification est email, qui correspond à l adresse électronique de cet acteur. La racine de @TASK.creationDate.day est TASK, mot clé prédéfini désignant la tâche courante. La qualification creationdate.day correspond au champ «jour» de la date de création de la tâche. Constructions non reconnues La page générée étant présentée directement à l utilisateur, le programme cgi.exe ne doit pas échouer, même si certaines constructions ne sont pas reconnues. Si la racine n est pas reconnue ou que la qualification ne correspond à aucun champ de l objet identifié par la racine, une chaîne vide est substituée à la commande et une erreur est mémorisée. Cette erreur ne sera affichée que si le mot clé @ERROR_PROCESSING doit être substitué. 4.3 Attributs à transmettre au programme cgi.exe Les mots clés W4 Engine permettent de substituer dans la page générée des indications concernant l environnement de substitution (acteur connecté, type de navigateur, date courante, etc.) et permettent des raccourcis d écriture. Beaucoup de ces mots clés ne prennent de sens que lorsque des renseignements suffisants ont été transmis au programme cgi sous la forme attribut=valeur. Les attributs fondamentaux à passer à un programme cgi sont les suivants : Id : Identificateur de l utilisateur connecté. Lorsque cet attribut est renseigné, le mot clé @ACTOR permet d accéder aux caractéristiques de l acteur connecté. W4 BPM Suite NOTE TECHNIQUE 16

TaskId : Identificateur de la tâche courante. Lorsque cet attribut est renseigné, les mots clés @TASK, @CASE, @ACTIVITY, @PROCEDURE permettent d accéder directement aux propriétés de la tâche courante (@TASK), aux propriétés du dossier auquel appartient la tâche courante (@CASE), aux propriétés de l activité associée à la tâche courante (@ACTIVITY) et aux propriétés de la procédure à laquelle est attachée la tâche courante (@PROCEDURE). Les variables de la tâche courante et du dossier attaché à la tâche courante sont aussi accessibles directement. CaseID : Identificateur du dossier courant. Lorsque cet attribut est renseigné, les mots clés @CASE et @PROCEDURE permettent d accéder aux propriétés du dossier courant et de la procédure associée. 4.4 Mots clés W4 Engine prédéfinis La liste des constructions prédéfinies W4 Engine est donnée ci-dessous par ordre alphabétique. @@ (aucun) Insertion du caractère @. Aucune. Sert à insérer le caractère @ dans une partie de texte statique du prototype de page. Utilisé pour des prototypes de page qui génèrent d autres prototypes de page. Exemples @@ est remplacé par @. @@TASK est remplacé par @TASK. @ACTIVITY twfactivity Activité associée à la La tâche courante doit être définie par tâche courante. l attribut taskid présent dans les données du programme cgi.exe. Exemples @ACTIVITY.name.str sera remplacé par le nom de l activité associée à la tâche courante. (Mais la substitution donnera une chaîne vide si la tâche courante n est pas définie.) @ACTIVITY.name.id sera remplacé par l identificateur de l activité associée à la tâche courante. @ACTIVITY.description sera remplacé par la description de l activité associée à la tâche courante. (Même remarque que pour @ACTIVITY.name.str.) @ACTIVITY.type sera remplacé par le type (nombre entier) de l activité associée à la tâche courante. 17 NOTE TECHNIQUE Mécanismes de substitution

En revanche, @ACTIVITY sera remplacé par une chaîne vide, car il s agit d une structure. @ACTIVITY.TactivityVariable référence le tableau des variables de l activité. Cette commande sera remplacée par une chaîne vide si elle se présente telle quelle. Nous verrons plus loin comment sont substitués les éléments de tableau. @ACTOR twfactor Participant ayant soumis la requête. Le participant est identifié par l attribut id présent dans les données du programme cgi.exe. Exemples @ACTOR.name.str sera remplacé par le nom de connexion du participant. @ACTOR.name.id sera remplacé par l identificateur du participant (équivalent à @ID). @ACTOR.firstName sera remplacé par le prénom de participant. @ACTOR.manager.id sera remplacé par l identificateur du responsable du participant. @AUTH_TYPE chaîne de caractères Type authentification. Aucune. Variable d environnement passée par le serveur web au programme cgi.exe. Gardé pour compatibilité. Remplacé par @ENV.AUTH_TYPE Exemples @auth_type sera remplacé par «basic» lorsque le serveur web demande une authentification par login et mot de passe. @CASE twfworkcase Dossier courant. Le dossier courant doit être défini par l attribut taskid ou caseid présent dans les données du programme cgi.exe. Exemples @CASE.name.str sera remplacé par le nom du dossier. @CASE.initiator.id sera remplacé par l identificateur de l initiateur du dossier. @CASE.state sera remplacé par l état du dossier (nombre entier). @CASE.xx.value sera remplacé par la valeur de la variable xx du dossier, ou par une chaîne vide si xx n est pas une variable de ce dossier. W4 BPM Suite NOTE TECHNIQUE 18

@CASEID twfid (entier) Identificateur du dossier courant. Le dossier courant doit être défini par l attribut taskid ou caseid présent dans les données du programme cgi.exe. @CASEID est remplacé par l identificateur du dossier courant, ou par une chaîne vide si le dossier courant n est pas défini. En général, ce mot clé est utilisé pour transmettre le dossier courant à un autre programme CGI. Exemple href=/w4/cgi.exe?@ctx&caseid=@caseid @CONTENT_LENGTH chaîne de caractères Longueur en octets des paramètres passés au programme cgi par la méthode POST. Gardé pour compatibilité. Remplacé par @ENV.CONTENT_LENGTH Aucune. Variable d environnement passée par le serveur web au programme cgi.exe. @CONTENT_TYPE chaîne de caractères Type MIME du contenu de la réponse à la requête HTML Gardé pour compatibilité. Remplacé par @ENV.CONTENT_TYPE Aucune. Variable d environnement passée par le serveur web au programme cgi.exe. @COUNT entier Nombre d objets Il doit exister une boucle courante. dans une boucle. @COUNT est remplacé par la cardinalité de l objet définissant la boucle courante. Cette construction peut être avantageusement remplacée par la qualification «nbitems» suivant un objet de type liste ou tableau. 19 NOTE TECHNIQUE Mécanismes de substitution

Exemple <ul> @LOOP(ToDoList) <li> @ITERATION OF @COUNT :. @CTX (aucun) Contexte du participant. Aucune. @CTX est un mot clé «de confort» qui est remplacé par la chaîne : id=@id&lid=@lid&lg=@lg&wfs=@wfs. On utilise en général @CTX pour transmettre les paramètres du contexte de l utilisateur à un autre programme CGI. Exemple href="/w4/cgi.exe?@ctx& " @DATE twfdate Date courante du serveur. Aucune. Exemples @DATE.year, @DATE.month et @DATE.day sont remplacés respectivement par l année, le mois et le jour courant. @DATE est remplacé par la date courante au format aaaa/mm/jj hh:mm:ss. @ENV.nomVariable chaîne de caractères Substitué par la variable d environnement «nomvariable» passée par le serveur web au programme cgi.exe. Aucune. Si la variable d environnement nomvariable n existe pas, une chaîne vide est substituée W4 BPM Suite NOTE TECHNIQUE 20