4D v16

4D Server et le langage 4D

Accueil

 
4D v16
4D Server et le langage 4D

4D Server et le langage 4D  


 

 

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

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.

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.

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.

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

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

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

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 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.

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.

 
PROPRIÉTÉS 

Produit : 4D
Thème : 4D Server et le langage 4D

 
HISTORIQUE 

 
MOTS-CLÉS 

process jumeau, jumeaux

 
UTILISATION DE L'ARTICLE

4D Server - Référence ( 4D v16)