SyScript http server
en cas de problème d'affichage des fichiers de type ".spg" vous devez installer le plugin
tester un exemple simple ici : à partir d'une page web documentation
|
|
Il est possible de créer un serveur http avec SyScript. Ce serveur fonctionnera aussi bien qu'un serveur IIS ou APACHE cliquez ici pour voir les codes sources du serveur cliquez ici pour télécharger les codes sources du serveur http Dans le but de tester le serveur sur votre ordinateur, vous n'avez qu'à lancer le serveur : le fichier http_server.spg ou le fichier http_server.spt Ensuite, dans votre navigateur, vous devez saisir le nom de votre ordinateur, qui affichera la page par défaut du serveur : HTTP_SRV.html. Ici dans cet exemple, le fichier HTTP_SRV.html est la page de démarrage de votre serveur http, à modifier par vos soins Quand votre serveur est sur Internet, vous devez saisir l'adresse internet du serveur, par exemple : www.sysdesk.com. Le serveur sait afficher un site web traditionnel ou des scripts SyScript au format ".spg" |
|
|
Pour executer un script à partir du serveur, il y a plusieurs possibilités : - à partir d'un navigateur standard - à partir d'un script SyScript Le script à exécuter (stocké sur le serveur) est envoyé au client dans le canal http. Le code envoyé au client est exécuté en mémoire, pas d'accès disque, ou d'écriture. - à partir d'un navigateur, vous pouvez tester l'exemple fourni dans le fichier "http_server.zip", avec l'adresse suivante : http://server_pcname/script1.spg? or http://server_pcname/script2.spg? Ce qui a pour effet de demander le script au serveur. - à partir d'un script (le serveur local est sur mon ordinateur) CALL http://server_pcname/script1.spg? ou RUN %APP% http://server_pcname/script1.spg? ou à partir d'un site web "www" (Le serveur est sur internet) pour exécuter le même exemple avec des paramètres transmis au serveur : http://server_pcname/script1.spg?param1=var1¶m2=var2 Cette écriture est un standard du web Tester ici un exemple en ligne : http://www.sysdesk.com/launch_heart.spg? cliquer ici pour découvrir le code source du test : coeur.spt |
|
|
Il est possible de stocker des données en mode binaire dans la base de données, par exemple, nous pouvons y stocker des plugins SyScript comme les fichiers ".spg". La commande BINGET permet de lire un fichier binaire Certains caractères spéciaux ont besoins d'être protégés pour que la requête fonctionne correctement La commande VARPROTECT est utilisée pour protéger les caractéres contre n'importe quelle conversion non désirée La commande MYSQL UPDATE permet de mettre à jour des données existantes exemple : BINGET PATH\file.spg VARPROTECT # MYSQLQUERY INSERT INTO `BASENAME`.`TABLENAME`(`id`,`pathname`,`filename`,`file`,`size`) VALUES ('%ID%','%PATHNAME.MY$%','%FILENAME.MY$%','#BINGET.MY$#','%NBINGET%') |
|
|
Les requêtes de base de données peuvent être réalisées à travers un server web. Pour demander à SyScript d'exécuter une requête à travers un serveur http, vous avez juste besoin d'initialiser la commande suivante : MYSQLBYHTTP ON,SERVERNAME:PORT_NUMBER ex : MYSQLBYHTTP ON,MYSERVER:80 Toutes les commandes MYSQLQUERY ne seront plus exécutées directement par le script mais demandées au serveur d'être exécutées via internet Le serveur aura la charge d'envoyer la requête à la base de données internet à travers le réseau Les résultats de la requête seront automatiquement envoyés au client dans le tableau MYSQLQUERY L'avantage principal de cette méthode est de traverser les PROXY et les FIREWALLS |
|
|
L'avantage d'utiliser un serveur http est de pouvoir faire des requêtes à travers les firewalls Si vous faites des requêtes par script directement sur l'adresse "http://web_path/script.spg, il y a un risque que cette requête soit bloquée par le firewall qui interdira l'exécution d'un type de fichier inconnu. Dans le même cas, si le script réalise une requête sur le port 3306, par exemple le firewall bloquera la requête sur ce port non autorisé Quand vous utilisez un serveur, vous ouvrez des ports de communication connus, comme 80, et vous faites des requêtes à travers ces ports par internet. SyScript utilise les syntaxes standard du web pour les requêtes serveur : http://chemin_web/script.spg?param=value Les résultats sont renvoyés via internet sur le port initial ce qui permettra au client d'afficher la page ou le script Si la demande est une requête MySQL, elle sera envoyée au serveur http. Les résultats seront retournés du serveur vers le client par le même chemin, dans un mode transparent. Dans le script ici, il n'y a rien à modifier dans le code source, si vous mettez dans le script la commande suivante : MYSQLBYHTTP ON,"http_syscript_servername":"port_number" L'application SysDesk est une application client/serveur développée avec la base de données MySQL et fonctionne dans le mode décrit ci-dessus. Essayez ici http://www.sysdesk.com |
