Vous pouvez configurer votre application WebSphere
Application Server pour qu'elle conserve les sessions
vers une grille de données. Cette grille de données peut être un serveur de conteneur intégré
qui s'exécute au sein de WebSphere
Application Server. Il peut s'agir également
d'une grille de données distantes.
Avant de commencer
Pour pouvoir changer la configuration dans
WebSphere
Application Server, vous devez avoir :
- le nom de la grille de données de session que vous voulez utiliser. Voir Configuration du gestionnaire de sessions HTTP avec WebSphere Application Server pour savoir comment créer
une grille de données de session
- si le service de catalogue que vous voulez utiliser pour gérer vos sessions
se trouve hors de la cellule dans laquelle vous installez votre application de sessions,
vous devez créer un domaine de service de catalogue. Pour plus d'informations, voir Création de domaines de service de catalogue dans WebSphere Application Server.
- Si vous configurez un domaine de service de catalogue, il peut être nécessaire d'activer la sécurité du client sur le domaine de service de catalogue si les serveurs de conteneur requièrent une authentification. Ces paramètres indiquent à l'environnement d'exécution l'implémentation à utiliser CredentialGenerator. Cette implémentation génère des données d'identification à envoyer à la grille de données distante. Pour plus d'informations sur la configuration de ces paramètres, voir Configuration de la sécurité client dans un domaine de service de catalogue.
- activé la sécurité global dans la console d'administration WebSphere
Application Server si vous voulez prendre en charge l'un des scénarios suivants :
- Activer SSL (Secure Socket Layer) pour les serveurs de catalogue dans le domaine de service de catalogue.
- Utiliser SSL pour le domaine de service de catalogue avec SSL pris en charge.
Vous spécifiez l'utilisation de SSL pour un serveur de catalogue en affectant à l'attribut transportType la valeur SSL-Required dans Fichier de propriétés du serveur. Pour plus d'informations sur la configuration de la sécurité globale, voir Paramètres de sécurité globale.
- Si vous utilisez la version 7.1.0.3 ou une version suivante, vous pouvez rendre persistantes les sessions qui utilisent la réécriture d'URL ou les cookies comme suivi de session dans la grille de données. Pour les versions antérieures à la version 7.1.0.3, vous ne pouvez pas rendre persistantes les sessions utilisant la réécriture d'URL comme mécanisme de suivi de session. Pour activer la persistance des sessions qui utilisent la réécriture d'URL, affectez à la propriété useURLEncoding la valeur true dans le fichier splicer.properties.
- Lorsque vous raccordez automatiquement des applications pour la gestion de session HTTP dans WebSphere
Application Server, tous les serveurs d'applications qui hébergent l'application Web ont la propriété personnalisée de conteneur Web HttpSessionIdReuse affectée de la valeur true. Cette propriété permet aux sessions qui ont basculé d'un serveur d'applications vers un autre ou qui ont été invalidées depuis le cache de session interne dans un scénario distant, de conserver leur ID de session dans les demandes.
Si vous ne voulez pas conserver ce comportement, affectez à la propriété personnalisée de conteneur Web la valeur false sur tous les serveurs d'applications applicables avant de configurer la gestion des sessions des applications.
Pour plus d'informations sur cette propriété personnalisée, voir Traitement des problèmes d'intégration du cache.
Procédure
- Pour configurer la gestion de session lors de l'installation de l'application, effectuez la procédure suivante :
- Dans la console d'administration de WebSphere
Application Server, cliquez sur . Sélectionnez le chemin Détaillé pour la création de l'application, puis effectuez les premières étapes de l'assistant.
- A l'étape Paramètres de gestion des sessions eXtreme Scale session de l'assistant,
configurez la grille de données que vous voulez utiliser. Vous avez le choix entre deux types de grille : Grille de données distante eXtreme Scale ou Grille de données imbriquée eXtreme Scale.
- Pour l'option Grille de données distante eXtreme Scale, choisissez le domaine de service de catalogue qui gère la grille de données des sessions et choisissez une grille de données dans la liste des grilles de données de sessions actives.
- Pour l'option Grille de données imbriquée eXtreme Scale,
vous pouvez soit chosir la configuration ObjectGrid par défaut, soit spécifier
l'emplacement des fichiers de configuration ObjectGrid.
- Terminez l'installation de l'application en effectuant la procédure de l'assistant.
Vous pouvez également installer l'application à l'aide d'un script wsadmin. Dans l'exemple suivant, le paramètre-SessionManagement crée une configuration identique à celle que vous pouvez créer dans la console d'administration :
Pour la configuration d'une grille de données eXtreme Scale distante :AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement cs0:!:grid0]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Pour une grille eXtreme Scale imbriquée, avec la configuration par défaut :AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:default]] -MapWebModToVH [[MicroWebApp microwebapp.war,
WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
Pour une grille eXtreme Scale imbriquée, avec une configuration personnalisée :AdminApp.install('C:/A.ear', '[ -nopreCompileJSPs -distributeApp
-nouseMetaDataFromBinary -nodeployejb -appname A -edition 8.0
-createMBeansForResources -noreloadEnabled -nodeployws -validateinstall
off -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755
-buildVersion Unknown -noallowDispatchRemoteInclude -noallowServiceRemoteInclude
-asyncRequestDispatchType DISABLED -nouseAutoLink -SessionManagement [[true
XSRemoteSessionManagement :!: :!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]
-MapWebModToVH [[MicroWebApp microwebapp.war,WEB-INF/web.xml default_host] [MicroSipApp
microsipapp.war,WEB-INF/web.xml default_host] [MicroDG1App microdg1app.war,WEB-INF/web.xml
default_host] [MicroDG2App microdg2app.war,WEB-INF/web.xml default_host] [MicroSip2App
microsip2app.war,WEB-INF/web.xml default_host]]]')
- Pour configurer la gestion de session sur une application existante dans la console d'administration
de WebSphere
Application Server :
- Dans la console d'administration WebSphere
Application Server, cliquez sur .
- Mettez à jour les zones pour activer la persistance de session dans la grille de données.
Vous pouvez également mettre à jour l'application à l'aide d'un script wsadmin. Dans l'exemple suivant, le paramètre-SessionManagement crée une configuration identique à celle que vous pouvez créer dans la console d'administration :
- Pour la configuration de la grille de données eXtreme Scale distante :
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSRemoteSessionManagement cs0:!:grid0]]]')
Les caractères :!: envoyés sont utilisés comme délimiteurs. Les valeurs envoyées sont les suivantes : catalogServiceName:!:gridName
- Pour le scénario intégré eXtreme Scale avec la configuration par défaut :
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement :!:!:!:default]]]')
Les caractères :!: envoyés sont utilisés comme délimiteurs. Les valeurs envoyées sont les suivantes : catalogServiceName:!:gridName:!:default:!:
absolutePath_to_objectGridXmlfile:!:absolutePath_to_DeploymentXmlfile
- Pour le scénario intégré eXtreme Scale avec la configuration personnalisée :
AdminApp.edit('DefaultApplication','[-SessionManagement[[true
XSEmbeddedSessionManagement
:!:!:!:custom:!:c:\XS\objectgrid.xml:!:c:\XS\objectgriddeployment.xml]]]')
Les caractères :!: envoyés sont utilisés comme délimiteurs. Les valeurs envoyées sont les suivantes : catalogServiceName:!:gridName:!:custom:!:
absolutePath_to_objectGridXmlfile:!:absolutePath_to_DeploymentXmlfile
Lorsque vous enregistrez les modifications,
l'application utilise la grille de données configurée pour la persistance des sessions sur le dispositif.
- Pour configurer la gestion de session sur un serveur existant :
- Dans la console d'administration WebSphere
Application Server, cliquez sur .
- Actualisez les zones pour activer la persistance des sessions.
Les commandes wsadmin suivantes vous permettent de configurer également la gestion des sessions sur un serveur existant :
Pour la configuration d'une grille de données eXtreme Scale distante :AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSRemoteSessionManagement -XSRemoteSessionManagement
[-catalogService cs0 -csGridName grid0]]')
Pour une configuration de grille eXtreme Scale imbriquée :- La configuration par défaut, si vous utilisez les fichiers XML par défaut :
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement [-embeddedGridType default -objectGridXML -objectGridDeploymentXML ]]')
- La configuration personnalisée, si vous utilisez des fichiers XML personnalisés :
AdminTask.configureServerSessionManagement('[-nodeName IBM-C77EE220EB6Node01 -serverName server1
-enableSessionManagement true -sessionManagementType XSEmbeddedSessionManagement
-XSEmbeddedSessionManagement
[-embeddedGridType custom -objectGridXML c:\XS\objectgrid.xml -objectGridDeploymentXML
c:\XS\objectgriddeployment.xml]]')
Lorsque vous enregistrez les modifications, le serveur utilise la grille de données configurée pour la persistance de sessions avec toutes les applications qu'il exécute.
- Si vous souhaitez modifier d'autres aspects
de la configuration des sessions HTTP, vous pouvez éditer le fichier splicer.properties. Vous pouvez obtenir l'emplacement du chemin du fichier splicer.properties en recherchant la propriété personnalisée sessionFilterProps.
Si vous avez configuré la persistance de session au niveau du serveur, le nom de la propriété personnalisée est com.ibm.websphere.xs.sessionFilterProps.
Si vous l'avez configurée au niveau de l'application, elle s'appelle <application_name>,com.ibm.websphere.xs.sessionFilterProps.
Ces propriétés personnalisées peuvent se trouver dans l'un des emplacements suivants :
- Dans un environnement WebSphere Application Server
Network Deployment :
le fichier splicer.properties se trouve dans le chemin du profil du gestionnaire de déploiement.
- Dans un environnement WebSphere
Application Server autonome : une propriété personnalisée sur le serveur d'applications
Vous pouvez ouvrir le fichier indiqué, effectuez les modifications et synchroniser les noeuds pour propager le fichier mis à jour des propriétés vers les autres noeuds de la configuration. Tous les noeuds de serveur d'applications nécessitent que le fichier splicer.properties se trouve dans le chemin défini pour que les sessions persistent.
Avertissement : Si vous souhaitez activer la persistance pour les sessions qui utilisent la réécriture d'URL, affectez à la propriété useURLEncoding la valeur true dans le fichier splicer.properties.
Pour plus d'informations sur les propriétés dans le fichier splicer.properties, voir
Fichier splicer.properties.
Résultats
Vous avez configuré le gestionnaire de sessions HTTP pour que les sessions soient conservées
vers une
grille de données. Les entrées sont supprimées de la grille de données lorsque les sessions expirent. Voir
Paramètres de gestion des sessions pour plus d'informations sur la mise à jour la valeur de temporisation des sessions dans la console d'administration
WebSphere
Application Server.