Contextes d'exécution (code)

De Wiki1000
Version du 1 août 2009 à 10:33 par Syfre (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Sommaire

Introduction

Lorsqu'un utilisateur se connecte à une application ligne 1000 puis y travaille un certain nombre de contextes sont créés et maintenus par le framework.

Contextes d'utilisateur

Le contexte d'utilisateur maintient les informations relatives à l'utilisateur et au dossier utilisé par cet utilisateur; il est créé lorsque l'utilisateur se connecte à une application ligne 1000.

Le client Desktop ne maintient qu'un seul contexte utilisateur car un seul utilisateur est susceptible de se connecter à un client Desktop, le Serveur ligne 1000 maintient un contexte utilisateur par utilisateur connecté.

Info-20px.png Note : Le client Desktop maintient en fait plusieurs contextes car il existe au moins un contexte par défaut créé avant la connexion de l'utilisateur.

Contextes de session

Le contexte de session est utilisé par le Serveur 1000 pour maintenir les informations relative à une session d'exécution.

Le Serveur 1000 est un serveur multi-threadé qui permet l'exécution simultannée de plusieurs thread, une thread est associée à une session qui est elle-même rattaché à un contexte utilisateur.

Par exemple lorsqu'un utilisateur se connecte via le client Web une session est créée sur le serveur et rattaché au contexte utilisateur correspondant. Par la suite chaque requête du client Web sur le serveur véhiculera un identificateur de cette session qui sera utilisée pour rattacher la thread d'exécution de la requête a la session et indirectement au contexte de l'utililisateur.

Il peut exister deux types de session :

  • Les sessions authentifiées : elles sont rattachées à un contexte utilisateur authentifié.
  • Les sessions anonymes : elles sont rattachées au contexte utilisateur du Serveur.
Info-20px.png Note : Le serveur 1000 ne peut exécuter du code métier que dans le cadre d'une session.

Contextes de bases de données

Les accès aux bases de données sont gérées par des pools de session de bases de données. Les sessions de base de données sont créées et maintenus automatiquement par le serveur. Elles sont partagées par l'ensemble des contextes utilisateur.

Une session de base de données correspond généralement à une connexion de base de données, suivant le moteur de base de données la signification de la session peut varier.

Info-20px.png Note : Plusieurs connexions sur la même base de données peuvent être nécessaires au cours du fonctionnement d'une application métier.

Contextes de transaction

La modification d'objet métier nécessite une transaction objet. Cette transaction est gérée par un contexte de transaction.

Contextes de partage

La gestion des dossiers multi-sociétés nécessite de maintenir des informations relatives au périmètre de partage des obejts, ces informations sont maintenus dans le contexte de partage.

Il existe un contexte de partage par contexte utilisateur et un contexte de partage par contexte de transaction. Lorsqu'une transaction est démarrée une copie du contexte de partage de l'utilisateur est réalisée et associée au contexte de transaction.

Le contexte de partage est matérialisé par le sélecteur de partage situé sur la barre d'outils générale de l'application.

Code métierDéveloppement DSM

Outils personnels