Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME I. Les programmes

44. s4issrv : serveur de bases de données

Basé sur les sockets TCP/IP, ce programme est un serveur de fichiers et de bases de données fonctionnant en Linux ou Windows (NT, 2000, XP, 98, me). Il peut servir simultanément un nombre quelconque d'applications et de clients en fonction de la capacité du serveur.

Sous Linux, le serveur s'appelle scr4_iss et ne possède pas d'interface http.

S4issrv est également le serveur permettant d'utiliser les programmes mt, s4cl et s4sync.

Les systèmes implémentés actuellement sont :

D'autre part, les librairies de SCR/AL1 permettent d'exploiter le serveur s4issrv pour tout un ensemble de fonctions de base comme ISC_fopen(), ISC_dir() etc, fonctions qui effectuent sur le serveur les opérations demandées et non plus sur le client.

Un avantage unique de ce serveur est qu'il ne nécessite aucune installation au niveau des clients: ainsi, sans avoir ni Access, ni le Data Access Pack de Microsoft installé sur un client Windows ou Linux, il est possible, à travers un réseau et le serveur s4issrv, d'accéder à des bases de données Access.

Cette solution est tout particulièrement intéressante avec les produits de type Access dont les versions installées peuvent différer sur un même réseau, ce qui est problématique si plusieurs clients doivent accéder la même base.

D'autre part, il s'agit d'une solution unique pour accéder à des bases de données de type Access, pour lesquelles n'existent pas de serveur natif, à travers un réseau, y compris à travers Internet.

En résumé, les avantages suivants peuvent être identifiés

Fonctionnement du serveur

Le serveur, un fois lancé, reste à l'écoute sur la porte définie (par défaut 5000). Dès qu'une connexion est effectuée par un client, une nouvelle occurence du programme est lancée et gère toutes les transactions avec le client.

Chaque nouveau client crée donc un nouveau process sur le serveur. De cette façon, les conflits entre clients sont gérés par le système de base de données comme dans le cas des versions standalone.

Icône serveur (Windows seulement)

Lors du démarrage du serveur, une icône est placée dans la barre de tâches de Windows. En cliquant sur le boutons de droite de la souris, on obtient un menu permettant de stopper, d'arrêter temporairement ou de voir l'état des connexions.

Accès via Internet (Windows seulement)

L'accès au panneau de contrôle du serveur peut se faire via Internet en ouvrant la page fournie à l'adresse : http://serveurname:5001.

Construction d'un client de s4issrv

La construction d'un client nécessite simplement le remplacement de la librairie scr4widb.lib (Windows) ou scr4idb.a (Linux) par scr4wicl.lib (scr4icl.a). Tous le reste (initialisation de la database, définition de la source ODBC si nécessaire, strings de connexion, etc) reste identique à la version standalone.

On peut ainsi aisément passer d'une version à l'autre uniquement en relinkant l'exécutable.

Lors de l'utilisation de IS_init_database(), la connexion avec le serveur est établie. En cas de problème, un code d'erreur est retourné.

Lors de l'appel à IS_end_database(), la connexion est arrêtée et le programme serveur assigné pour ce client s'arrête automatiquement. Il en va de même si le client est arrêté sans passer par IS_end_database().

Installation du serveur

L'installation du serveur ne nécessite rien d'autre que l'exécutable s4issrv.exe (scr4_iss en Linux).

Si des sources ODBC doivent être accédées par le serveur, celles-ci doivent évidemment être définies sur le serveur. Idem sous Linux : les serveurs de bases de données doivent être démarrés.

Exploitation sans bases de données

Dans le but de développer d'autres applications comme s4cl et s4sync, d'autres fonctions de s4issrv ont été développées. Ainsi, la plupart de fonctions de gestion de directory, de fichiers, etc, ont été implémentées de façon à permettre d'accéder au file system distant.

Le programme s4cl permet ainsi de consulter un répertoire, de copier des fichiers dans les deux sens, d'exécuter des programmes à distance, etc.

Le programme mt permet d'éditer des fichiers distants comme s'ils étaient locaux.

Le programme s4sync permet de synchroniser des packages entre une machine serveur et des clients.

Sécurité

Le fichier de sécurité se nomme scr4_iss.ini et se trouve dans le répertoire de démarrage de s4issrv. S'il n'existe pas, tous les accès sont autorisés. S'il existe, il a la syntaxe suivante.

Syntaxe du fichier

Une section par login autorisé : [jmp] par exemple.

Dans chaque section, les entrées suivantes :

Attention : dans le cas des noms de répertoire en Linux, le caractère / sert de séparateur. Ce caractère n'est pas traduit en \ dans le cas de Windows. L'inverse est également vrai (pas de transformation automatique \ vers / en Linux).

Par exemple:

    [jmp]
key=1
rw=c:\tmp
ro=c:\scr;c:\tmp
dbs=ga5;ga4;sts
exec=myprog

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be