Code source wiki de Adelia Web - Pools nommés

Modifié par Julien EYMERY le 2015/08/31 17:27

Masquer les derniers auteurs
Julien EYMERY 1.1 1 (((
2 = Introduction =
3 )))
4
5 Dans le cas d'une application web utilisant un pool de connexions, tous les utilisateurs passent par le même profil pour accéder au serveur et utilisent donc le même contexte.
6 Si l'on veut utiliser un contexte différent en fonction de l'utilisateur, tout en restant en mode poolé, il faudra utiliser des (% style="color: rgb(255,102,0);" %)**pools nommés**(%%) et donc affecter un utilisateur à un pool nommé donné.
7 (((
8 = Utilisation =
9 )))
10
11 Dans le but d'utiliser des (% style="color: rgb(255,102,0);" %)**pools de connection nommés**(%%), il faut déposer dans le répertoire (% style="color: rgb(255,102,0);" %)**classes**(%%) de l'application web des fichiers qui auront la forme suivante :
12
13
14 {{code language="none"}}
15 poolSession_<nomPool>.properties
16
17 {{/code}}
18
19
20 Par exemple (% style="color: rgb(255,102,0);" %)**poolSession_espagne.properties**(%%).
21
22 Ce fichier de pool sera issu d'un fichier (% style="color: rgb(255,102,0);" %)**pool.properties**(%%) standard, dupliqué et renommé.
23 Il est présent initialement pour modèle dans le répertoire (% style="color: rgb(255,102,0);" %)**C:\Program Files\Adelia Studio\javarun**(%%) d'une installation standard.
24
25 Dans ce fichier de pool nommé, il faut ajouter la clef (% style="color: rgb(255,102,0);" %)**FileCfg**(%%) en regard de laquelle on renseignera le nom du fichier de type (% style="color: rgb(255,102,0);" %)**MWCLIENT.INI**(%%) à utiliser pour ce pool particulier, par exemple (% style="color: rgb(255,102,0);" %)**MWCLIENT_ESPAGNE.INI**(%%).
26
27 De fait, il faut mettre un fichier (% style="color: rgb(255,102,0);" %)**MWCLIENT_ESPAGNE.INI**(%%) (attention à ce que la casse soit identique) dans le répertoire (% style="color: rgb(255,102,0);" %)**classes**(%%) de l'application web, qui fera l'association entre le serveur logique et un serveur physique correspondant aux utilisateurs affectés à ce pool.
28
29 Un fichier "normal" (% style="color: rgb(255,102,0);" %)**MWCLIENT.INI**(%%) devra être présent qui sera utilisé par les utilisateurs n'utilisant pas de pool nommé.
30
31 Pour qu'une session web soit affectée à un pool nommé et donc qu'elle utilise le bon contexte, il suffira d'inscrire dans le contexte session le nom du pool (dans l'exemple (% style="color: rgb(255,102,0);" %)**espagne**(%%)) sous la clef (% style="color: rgb(255,102,0);" %)**AdeliaKeyPoolName**(%%).
32
33 Par exemple avec le code suivant :
34
35
36 {{code language="none"}}
37 a50valeur = 'espagne'
38 SAUVER_CTX 'AdeliaKeyPoolName' 'session' a50valeur
39
40 {{/code}}
41
42
43 Dans le répertoire (% style="color: rgb(255,102,0);" %)**classes**(%%) on va trouver :
44 * MWCLIENT.INI
45 * MWCLIENT_ESPAGNE.INI
46 * MWCLIENT_ITALIE.INI
47 * pool.properties (non obligatoire)
48 * poolSession_espagne.properties (avec clef FileCfg:MWCLIENT_ESPAGNE.INI)
49 * poolSession_italie.properties (avec clef FileCfg:MWCLIENT_ITALIE.INI)
50
51
52 Un premier programme devra être créé en mode (% style="color: rgb(255,102,0);" %)**non connecté**(%%) qui lira les informations de l'utilisateur en base de données (donc en utilisant le pool standard et le fichier (% style="color: rgb(255,102,0);" %)**MWCLIENT.INI**(%%) standard).
53
54 Puis en fonction des caractéristiques de l'utilisateur, il écrira la clef (% style="color: rgb(255,102,0);" %)**AdeliaKeyPoolName**(%%) avec la valeur (% style="color: rgb(255,102,0);" %)**italie**(%%) ou (% style="color: rgb(255,102,0);" %)**espagne**(%%).
55
56 Ce programme fera ensuite l'appel (traiter_pgm) des programmes créés eux aussi en mode (% style="color: rgb(255,102,0);" %)**non connecté**(%%) qui utiliseront du coup le bon pool nommé.
57
58 Tous les programmes sont donc à créer et compiler en mode (% style="color: rgb(255,102,0);" %)**non connecté**(%%), y compris le programme initial.