Les applications Adélia Cloud à partir de la PTF 04 d'Adélia Studio 13 peuvent être déployées sous WAS Liberty Profile à partir de la version 8.5.5.7

Le serveur d'application WAS Liberty Profile ne supporte pas complètement les spécifications servlet 3.1 et nécessite des opérations de configuration manuelle.

Guide détaillé

  1. https://developer.ibm.com/wasdev/downloads/liberty-profile-using-non-eclipse-environments/
  2. Télécharger la version WAS Liberty with Java EE 7 Web Profile 
  3. Suivre les instructions d'installations fournies par IBM
  4. Installer éventuellement l'adminCenter

    bin/installUtility install adminCenter-1.0
  5. Si nécessaire démarrer le serveur afin de créer le defaultServer et arrêtez le ensuite

    bin/server start
    bin/server stop
  6. Dans ${wlp.install.dir}/lib créer le sous-repertoire ext 
  7. Copier bcprov-jdk15-1.45.jar dans ${wlp.install.dir}/lib/ext   
  8. Dans ${wlp.install.dir}/usr/servers/defaultServer créez le fichier jvm.options ou ajouter les options à votre configuration

    # Set MaxHeapSize according your application requirements (1G minimum for development purpose, 4G for production
    -Xmx=1G
    # Enable using bouncycastle in Websphere liberty profile
    -Djava.ext.dirs=/yourinstalldirfromroot/lib/ext
    -Dorg.osgi.framework.bootdelegation=org.bouncycastle.jce.provider
  9. Modifier le fichier server.xml 

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <server description="new server">
      <featureManager>
    		<feature>adminCenter-1.0</feature>
    		<feature>localConnector-1.0</feature>
    		<feature>servlet-3.1</feature>
    		<feature>websocket-1.1</feature>
    		<feature>jsp-2.3</feature>
        	<feature>jndi-1.0</feature>		
    	</featureManager>
      <applicationMonitor updateTrigger="mbean"/>
      <variable name="defaultHostName" value="localhost"/>
      <basicRegistry id="basic">
    		<user name="admin" password="admin"/>
    	</basicRegistry>
      <administrator-role>
    		<user>admin</user>
    	</administrator-role>
    	
      <keyStore id="defaultKeyStore" password="Liberty"/>
      <httpEndpoint host="*" httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/>
      <ssl enabledCiphers="TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA256 " id="defaultSSLConfig" keyStoreRef="defaultKeyStore" securityLevel="CUSTOM"/>
      <logging maxFileSize="200" maxFiles="5" traceFileName="trace.log" traceFormat="BASIC" traceSpecification="com.hardis*=all"/>
    <!-- example of jndiResources binding -->
    <!--
    	<jndiURLEntry jndiName="url/adeliaWagonXml" value="file:///D:/myapp/cfg/wagon.xml" />
    	<jndiURLEntry jndiName="url/adeliaThemeConfig" value="file:///D:/myapp/cfg/themes.properties" />
    	<jndiURLEntry jndiName="url/adeliaDesktopConfig" value="file:///D:/myapp/cfg/desktop.properties" />
    -->
      <!-- list of your web application -->
      <webApplication id="myapp" location="myapp" name="myapp">
       <application-bnd>
           <security-role name="wagon-administator">
               <user name="admin" />
           </security-role>
       </application-bnd>
       </webApplication>
    </server>



  10. Recopier l'application (ici demo.war) dans ${wlp.install.dir}/usr/servers/defaultServer/apps
  11. Décompacter le fichier war sous son nom de dossier et supprimer le fichier war après.  exemple myapp.war devient le répertoire myapp/
  12. Dans le dossier précédemment créé, créer un sous-répertoire myapp/META-INF
  13. Copier le fichier pushpop.tld qui se situe dans le fichier adelwagon.x.y.z.jar/META-INF dans le répertoire myapp/META-INF
    Cette étape est nécessaire, Websphere Liberty Profile n'implémente pas correctement la spécification jsp-2.3 http://download.oracle.com/otndocs/jcp/jsp-2_3-mrel2-spec/ paragraphe JSP.7.3.4
    Vous pouvez préalablement recopier le META-INF/pushpop.tld avant la création du fichier war tout en prenant soin de vérifier que le fichier extrait soit identique au fichier contenu dans le jar adelwagon.x.y.z.jar en cas de montée de version
  14. Dans le dossier myapp/WEB-INF créez un sous répertoire tags (myapp/WEB-INF/tags)
  15. Copier le fichier adeliaDesktop.tag. qui se situe dans le fichier adelwagon.x.y.z.jar/META-INF/resources/WEB-INF/tags dans le répertoire myapp/WEB-INF/tags
  16. Démarrer le serveur

    bin/server start
  17. Tester l'application http://host:9080/myapp/index.jsp


Remarque : l'utilisation de ressources jndi impose une définition unique et ne permet pas d'avoir une définition des ressources par application. L'externalisation des ressources de configuration n'est alors possible que pour une seule application. Dans le cadre de l'utilisation de Websphere Liberty Profile, il est préférable d'embarquer les fichiers de configuration dans le répertoire WEB-INF/conf de l'application.

Pour un support multi application et multi ressource jndi, il est préférable de privilégier un serveur d'application comme Tomcat, GlassFish.