4D Server et le langage 4D

4D - Documentation   Français   English   German   Manuel de référence de 4D Server, Sommaire   Manuel de référence de 4D Server, Index   Retour   Précédent   Suivant

version 11.2 (Modifiée)


Avec 4D Server, vous pouvez exécuter du code 4D sur le poste serveur. Il y a quatre situations dans lesquelles du code 4D peut être exécuté sur la machine serveur :

Triggers

Procédures stockées

Méthodes projet avec attribut "Exécuter sur serveur"

Méthodes base

Triggers


Un trigger est une méthode associée à une table. Les triggers peuvent empêcher des opérations "illégales" sur les enregistrements de votre base de données. Les triggers sont des outils très puissants qui permettent de restreindre les opérations sur une table ainsi que d'empêcher la perte ou la corruption accidentelle de données. Par exemple, dans un système de facturation, vous pouvez empêcher qui que ce soit d'ajouter un enregistrement sans indiquer le nom du client.

Les triggers sont exécutés sur la machine sur laquelle le moteur de la base de données est placé. Avec 4D Server, les triggers sont exécutés dans le contexte des process tournant sur la machine serveur, et non sur la machine cliente. Plus précisément, ils sont exécutés dans le contexte des process "jumeaux" des process utilisateurs qui appellent l'opération de base de données. Ces process jumeaux partagent avec le process utilisateur sur la machine cliente le contexte de base de données (notamment le statut des transactions et le verrouillage des enregistrements) mais pas le contexte du langage (variables process, ensembles, sélections courantes). A noter toutefois que l'enregistrement courant de la table du trigger est identique dans tous les contextes.

Pour plus d'informations sur les triggers, reportez-vous à la section Présentation des triggers dans le manuel Langage de 4D.

Procédures stockées


Une procédure stockée 4D est une méthode projet exécutée dans un process séparé sur le poste serveur (ou sur tout poste client), par opposition au poste client qui est à l'origine de la méthode. Pour plus d'informations sur ce point, reportez-vous à la section Procédures stockées.

Méthodes avec attribut "Exécuter sur serveur"


Les méthodes projet disposant de l'attribut "Exécuter sur serveur" sont également exécutées sur le serveur. Toutefois, à la différence des procédures stockées, elles sont exécutées dans le process "jumeau" du process client et bénéficient alors de son contexte de base de données, comme pour les triggers. Pour plus d'informations, reportez-vous à la section Attribut Exécuter sur serveur.

Méthodes base


Quatre méthodes base sont exécutées uniquement sur la machine serveur :

Méthode base Sur démarrage serveur

Méthode base Sur arrêt serveur

Méthode base Sur ouverture connexion serveur

Méthode base Sur fermeture connexion serveur

Cinq méthodes base peuvent être exécutées sur la machine serveur ou sur un poste client en fonction du contexte :

Méthode base Sur authentification Web

Méthode base Sur connexion Web

Méthode base Sur authentification SQL

Méthode base Sur démarrage sauvegarde

Méthode base Sur arrêt sauvegarde

Trois méthodes base peuvent être exécutées uniquement sur un poste client :

Méthode base Sur ouverture

Méthode base Sur fermeture

Méthode base Sur déposer

Reportez-vous aux sections correspondantes dans ce manuel ainsi que dans le manuel Langage de 4D pour plus d'informations sur chacun des types de méthodes base.

4D Server et les variables


4D Server maintient une table de variables interprocess. La portée de ces variables est le poste serveur. Lorsque 4D Server exécute une base compilée, la définition de la table des variables interprocess est commune entre le serveur et les machines clientes, chaque machine possédant sa propre instance.

Comme tout process, chaque procédure stockée, méthode base et trigger possède sa propre table de variables process. Ces variables process peuvent être créées et utilisées de manière dynamique pendant chaque phase de l'exécution.

4D Server, ensembles et sélections temporaires


Avec 4D Server, la visibilité des ensembles et des sélections temporaires dépend de l'origine de la création (process serveur ou process client) et de la nature de ces objets (objets locaux, process ou interprocess). Pour plus d'informations sur ce point, reportez-vous à la section 4D Server, ensembles et sélections.


4D - Documentation   Français   English   German   Manuel de référence de 4D Server, Sommaire   Manuel de référence de 4D Server, Index   Retour   Précédent   Suivant