Utilisez cette tâche pour définir les attributs de
déploiement du service ActivitySession pour une application Web afin
de lancer des sessions UserActivitySession et d'effectuer un travail dans ces sessions.
Avant de commencer
Cette tâche suppose que vous disposez d'un fichier EAR (Enterprise Archive)
contenant un bean enterprise d'application qui peut être déployé dans WebSphere Application
Server. Pour plus d'informations, reportez-vous à la rubrique Assemblage d'applications.
Pourquoi et quand exécuter cette tâche
Vous pouvez configurer les attributs de déploiement d'une application à
l'aide d'un outil d'assemblage. Cette
rubrique présente l'utilisation de Rational Application Developer pour configurer les attributs de
déploiement.
Pour configurer les attributs de déploiement du service ActivitySession pour une
application Web, procédez comme suit :
Procédure
- Démarrez l'outil d'assemblage. Pour plus d'informations, voir les informations
relatives à Rational
Application Developer.
- Créez ou modifiez le module de Web. Par exemple, pour modifier les attributs d'un module existant,
cliquez sur , puis sélectionnez le fichier archive pour le module. Par exemple, pour modifier les attributs d'un module existant, importez, via l'assistant
d'importation, le fichier EAR ou WAR dans l'outil d'assemblage. Pour
démarrer l'assistant d'importation :
- Cliquez sur .
- Développez le dossier Web, cliquez sur Fichiers WAR, puis sur Suivant.
- Sélectionnez le fichier WAR, puis cliquez sur Terminer.
- Dans la vue Explorateur de projets de la perspective Java EE, cliquez à l'aide du bouton
droit de la souris sur l'instance du composant, puis
sur Editeur de descripteur de déploiement,
puis sélectionnez Ouvrir avec. Un bloc-notes des propriétés de l'instance du module Web s'affiche dans la sous-fenêtre des propriétés.
- Dans la sous-fenêtre des propriétés, sélectionnez l'onglet Services étendus.
- Sélectionnez le servlet à modifier.
- Dans la section ActivitySession, associez l'attribut Type de contrôle ActivitySession à Application,
Conteneur ou Aucune.
- Application
- L'application Web est responsable du démarrage et de l'arrêt de sessions ActivitySessions, comme suit :
- Si une HttpSession est active lorsqu'une application démarre une session ActivitySession, le conteneur associe
la session ActivitySession à la session HttpSession.
- Si une session ActivitySession est démarrée en l'absence d'une session HttpSession, l'application doit vérifier
qu'elle est termine avant la fin de la méthode distribuée. Dans le cas contraire, une exception est générée.
- Si une HttpSession est associée à une demande distribuée vers une application avec cette valeur de contrôle
ActivitySession, et si cette HttpSession possède une ActivitySession, le conteneur distribue la demande dans le contexte
de cette session ActivitySession. Par exemple, le conteneur reprend le contexte ActivitySession sur l'unité d'exécution dans l'état précédent la distribution.
- Une application Web peut utiliser à la fois des transactions et des sessions ActivitySessions.
Toute transaction démarrée dans la portée d'une session ActivitySession doit être arrêtée par le composant Web qui l'a démarrée et dans la même distribution de demande.
- Conteneur
- Un servlet n'a pas accès aux UserActivitySessions. Le conteneur associe automatiquement une ActivitySession à toute
HttpSession lancée par le servlet et cette ActivitySession est placée
dans l'unité d'exécution. Si ce servlet est acheminé par une demande qui contient une
HttpSession sans ActivitySession, le conteneur lance une
ActivitySession et l'associe avec la HttpSession et l'unité
d'exécution.
Une application Web peut utiliser à la fois des transactions et des sessions ActivitySessions.
Toute transaction démarrée dans la portée d'une session ActivitySession doit être arrêtée par le composant Web qui l'a démarrée et dans la même distribution de demande.
- Aucun
- Un servlet n'a pas accès à UserActivitySession. Le conteneur n'associe pas automatiquement une session ActivitySession à toute
HttpSession lancée par le servlet. Si ce servlet est acheminé par une demande qui contient une
HttpSession comportant une session ActivitySession, le conteneur achemine la demande
dans le contexte de cette ActivitySession.
Par exemple, le conteneur reprend le contexte ActivitySession sur l'unité d'exécution dans l'état précédent la distribution.
- Pour appliquer les modifications et fermer l'outil d'assemblage, cliquez sur OK.
Sinon, pour appliquer les valeurs et laisser la boîte de dialogue des propriétés ouverte
en vue de modifications ultérieures, cliquez sur Appliquer.
- Enregistrez les modifications dans le descripteur de déploiement.
- Fermez l'éditeur du descripteur de déploiement.
- A l'invite, cliquez sur Oui pour sauvegarder les
modifications apportées au descripteur de déploiement.
- Vérifiez les fichiers archive. Pour plus d'informations sur la vérification
des fichiers à l'aide de Rational Application Developer, consultez les informations relatives à Rational Application
Developer.
- Dans le menu contextuel du projet, cliquez sur
Déployer pour générer le code de déploiement
d'EJB.
- Facultatif : Testez le module terminé sur une installation WebSphere Application
Server.
Cliquez à l'aide du bouton droit sur un module, cliquez sur Exécuter sur le serveur, puis suivez les instructions qui figurent dans l'assistant proposé.
Important : Utilisez l'option Exécuter sur le serveur pour un test d'unité uniquement. L'outil
d'assemblage contrôle l'installation de WebSphere Application
Server et écrase le fichier de configuration de serveur de celle-ci, lorsqu'une application est
publiée à distance. N'utilisez
pas l'option d'exécution sur le serveur sur des serveurs de
production.
Que faire ensuite
Une fois l'application assemblée, utilisez un outil de gestion des systèmes pour déployer le fichier WAR. Par exemple, pour utiliser la console d'administration, reportez-vous à la rubrique Déploiement et administration d'applications d'entreprise.