Déploiement de portlets partagés par plusieurs clusters
Vous pouvez déployer des portlets via un fichier EAR standard à l'aide du gestionnaire de déploiement, puis notifier chaque cluster. Une application prédéployée peut être mise à jour uniquement en actualisant le fichier EAR dans IBM WebSphere Application Server, puis le fichier WAR qu'il contient à l'aide de l'interface de configuration XML. Il est impossible de procéder à des mises à jour croisées d'un fichier EAR prédéployé avec un WAR réel, et inversement. Vous pouvez également l'installer en tant que portlet standard au sein d'un cluster, puis mapper l'application d'entreprise sous-jacente vers l'autre cluster et utiliser l'interface de configuration XML pour notifier les autres membres du cluster. Pour des raisons de simplicité et de facilité d'administration, les applications de portlet communs doivent être gérées d'abord comme des fichiers EAR standard de sorte à ne pas avoir besoin de se rappeler quel est le cluster propriétaire du déploiement originel.
Pourquoi et quand exécuter cette tâche
Procédure
-
Installez le fichier d'archive d'entreprise via le gestionnaire de déploiement, à l'aide de l'option de la console WebSphere® Integrated Solutions Console ou en utilisant la commande AdminApp install du client de script
wsadmin. Ceci permet de combiner des portlets avec d'autres ressources EAR, comme des services Web, des EJB (Enterprise Java Beans) ou d'autres modules Web. -
Mappez l'application à chaque cluster sur lequel elle doit s'exécuter, à l'aide de l'option MapModulesToServers de la commande AdminApp install du client de script
wsadminou en utilisant l'option Mappage de modules aux serveurs sous l'entrée de cette application dans le menu . - Synchronisez la nouvelle application avec tous les noeuds de chaque cluster, puis démarrez l'application dans chaque cluster. Par défaut, la synchronisation se produit automatiquement avec chaque noeud hébergeant des serveurs ou des membres de cluster, ou les deux, dans lesquels l'application d'enterprise est mappée.
- Utilisez l'interface de configuration XML pour importer une définition de portlet dans chaque cluster à l'aide de l'attribut predeployed, où l'élément
<url>de<web-app>pointe vers le répertoire de fichiers binaires qui héberge le contenu WAR de l'application de portlet. Sélectionnez un seul membre du cluster sur lequel exécuter l'interface de configuration XML, suite à quoi tous les membres du cluster recevront la mise à jour.
Exemple
<web-app action="update" active="true" uid="com.ibm.wps.portlets.welcome" predeployed="true">
<url>file://c:/ibm/WebSphere/PortalServer/installedApps/WelcomePortlet.ear/WelcomePortlet.war</url>
<!-- The context root that is assigned to the web application of the portlet application
in the predeployed EAR file (reference: application.xml). The context-root
in this XML file must match with the context-root in the application.xml file. -->
<context-root>my/context/root</context-root>
<!-- The name that is assigned to the application in the predeployed EAR file
(reference: application.xml). -->
<display-name>My_Web_App</display-name>
<portlet-app action="update" active="true" uid="com.ibm.wps.portlets.welcome.1">
<portlet action="update" active="true" objectid="theIbmPortletApiPortlet" name="Welcome Portlet"/>
</portlet-app>
</web-app>