Conditionnement, déploiement et compilation de portlets coopératifs

Lors du conditionnement, du déploiement et de la compilation de portlets coopératifs, voir ces remarques sur des aspects du processus, comme la création de descripteurs de déploiement et le conditionnement du fichier WAR.

Création de descripteurs de déploiement

Un fichier WAR doit comporter un fichier web.xml et un fichier portlet.xml afin d'être conforme aux spécifications J2EE. Pour les portlets standard, le fichier web.xml doit contenir uniquement des informations de servlet et aucune information de portlet. Si le portlet standard ne contient pas de servlet, web.xml doit toujours être présent, bien que son contenu soit vide.

Le fichier portlet.xml doit spécifier l'emplacement du fichier WSDL associé à chaque portlet. Pour cela, vous devez modifier portlet.xml pour ajouter un paramètre de configuration à chaque portlet concret exposant des actions au courtier de propriétés via un fichier WSDL.

  • Exemples de portlet standard

    Exemple de fichier web.xml pour un portlet standard avec un contenu vide :

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
                             "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
        <display-name>Shipping Portlets - Standard Version</display-name>
    </web-app>
    

    Modèle de fichier portlet.xml standard :

    <?xml version="1.0"?>
    <portlet-app 
       xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
       version="1.0"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
                           http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
        <portlet>
            <description xml:lang="fr-fr">
               Displays details for a particular order
            </description>
            <portlet-name>StandardOrderDetail</portlet-name>
            <display-name xml:lang="fr-fr">Standard Order Detail</display-name>
            <portlet-class>
               com.ibm.wps.portlets.shipping.OrderDetailPortlet
            </portlet-class>
            <expiration-cache>3600</expiration-cache>
            <supports>
                <mime-type>text/html</mime-type>
            </supports>
            <supported-locale>en</supported-locale>
            <resource-bundle>nls.StandardOrderDetail</resource-bundle>
            <portlet-preferences>
                <preference>
                    <name>
                       com.ibm.portal.propertybroker.wsdllocation
                    </name>
                    <value>/wsdl/OrderDetail.wsdl</value>
                </preference>
                <preference>
                    <name>com.ibm.portal.context.enable</name>
                    <value>true</value>
                </preference>
            </portlet-preferences>        
        </portlet>
    	
    	...
    	
    </portlet-app>
    
    
    Remarque : Pour les portlets standard, vous devez utiliser une entrée spéciale <preference> pour spécifier la classe de portlet d'application.
    <portlet-preferences>
       <preference>
          <name>com.ibm.portal.propertybroker.wsdllocation</name>
          <value>/wsdl/OrderDetail.wsdl</value>
       </preference>
    </portlet-preferences>
    

Remarques sur les fichiers WAR

Une fois effectuées les modifications relatives au code et au déploiement nécessaires à l'utilisation du courtier de propriétés, il faut regrouper les bibliothèques et les fichiers supplémentaires avec l'application. La mise en forme du fichier WAR terminée, celui-ci est prêt à être installé. Reportez-vous au tableau suivant pour regrouper les fichiers à l'emplacement correct.

Tableau 1. Fichiers à regrouper et emplacements
Type de portlet Portlets standard
Nom de fichier Fichier WSDL
Path par rapport à la racine du fichier WAR ou d'une URL absolue

Considérations supplémentaires pour la compilation

Si vous utilisez votre propre environnement de développement, veillez à ajouter le fichier wp.propertybroker.standard.api.jar à votre chemin d'accès aux classes pour les portlets standard. Ces fichiers JAR se trouvent dans le répertoire PortalServer_root/base/wp.propertybroker.standard.api/shared/app.