Intégration à Sisal
Si Sisal Web Server n'était qu'un serveur Web comme les autres, cela n'aurait pas grand intérêt surtout qu'il en existe des gratuits qui fonctionnent très bien (cf. Apache).
Non l'intérêt de Sisal Web Server est qu'il permet d'ouvrir le monde Sisal à l'internet; toute donnée Sisal devient consultable sur internet [1] , tout graphique Sisal ( Suivi de production , Pareto, Histogramme, ...) le devient aussi; toute requête peut être exécutée à distance et ses résultats téléchargés.
Tout cela bien évidemment, si l'administrateur Sisal a donné l'autorisation aux clients d'accéder à ses données.
Pour cela toute page Html gérée par SWS peut contenir du code Sisal, la seule précaution à prendre est d'entourer ce code Sisal des balises "<?sisal" Et "?>".
Par exemple une page Html pourra contenir
<div align="Center"> <h1><font color="#000099"> <?sisal begin echo( Now():" Sisal is winning again!"); end ?> </font></h1>
Cela affichera quelque chose de semblable à cela
20/01/2003 16:48:52 Sisal is winning again!
Pour cela avant tout envoi de page html demandé, SWS vérifie la présence de code Sisal inclus; s'il en découvre il va préparer une page html toute neuve dans un tampon de sortie contenant les données demandées en suivant les principes suivants:
- Tout code html présent avant la clause begin est recopié dans le tampon de sortie
- Tout code Sisal hors de la clause principale begin-end est simplement compilé, cela peut être des déclarations de variables, de fonctions, de tableaux d'objets graphiques Sisal etc, et il ne peut y avoir qu'un seul bloc de déclaration,
- Lorsque Sisal rencontre le end correspondant à la clause principale Begin-End [2] , il exécute le code généré à partir du mot-clé begin,
- Lorsque un code Sisal doit générer à l'exécution du texte dans le tampon de sortie il appelle la fonction système Echo( paramètres) qui a la même forme que la fonction message,
- Tout code Html rencontré après le end de la clause principale est recopié dans le tampon de sortie après ce qui aura été recopié précédemment ou généré par l'exécution,
- Il peut y avoir de nouveau une suite bloc begin-end intercalé de code Html;
Une fois le tampon de sortie préparé, il est transmis en réponse au client.
De cette manière toute donnée accessible dans Sisal peut être transmise sur les postes distants.
[1] A condition que l'administrateur Sisal fournisse la page Html qui permette de l'afficher.
[2] Si nécessaire on peut mettre plusieurs blocs "begin..end" mais on ne peut introduire d'autres déclarations entre les deux.