JAVA


J2EE : Déploiement dans un serveur d'application




|

Les applications d'entreprises :  
    
    J2EE prévoie une norme permettant de déployer une application dans tous les
    serveurs d'applications certifiés J2EE 1.2.
    
    Une application d'entreprise est composé des éléments suivants: 
    	- EJB : gestion des données (Facultatif) 
    	- Modules Web (Servlets / JSPs) (Facultatif)
     	- Des ressources (fichier HTML, images, XML, ...) (Facultatif)
    
    Une application d'entreprise est représenté par un fichier à extension EAR .
    Un module web est représenté par un fichier à extension WAR.
Ces fichiers sont des archives contenant les programmes, la structure de répertoire à créer ainsi que la façon de déployer. Seul le module WEB sera abordé ici. Composition d'un module Web : Eléments composants un module Web : -Une arborescence de répertoire -/volubis (Répertoire racine du module) -/volubis/WEB-INF (Répertoire contenant le descripteur de déploiement) -/volubis/WEB-INF/classes (Répertoire contenant les classes Java) -/volubis/WEB-INF/lib (Répertoire contenant les fichiers JAR du module) - Un descripteur de déploiement : fichier web.xml
Ce fichier contient la description du module : - Nom des servlets - Mappage servlet / nom visible - Resources externes - Pool de connection - Tag spécifique pour les JSPs -...
Exemple de fichier web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!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>
        <servlet>
            <servlet-name>ServletHeader</servlet-name>
            <servlet-class>formation.servlet.ServletHeader</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>ServletHeader</servlet-name>
            <url-pattern>/ServletHeader</url-pattern>
        </servlet-mapping>
        <resource-ref>
            <description>DB Connection</description>
            <res-ref-name>jdbc/BDVIN</res-ref-name>
            <res-type>javax.sql.DataSource</res-type>
            <res-auth>Container</res-auth>
        </resource-ref> 
   </web-app>
        
        
    	- L'ensemble des ressources de l'application
    		- Fichiers JAR ou class
    		- Resources de l'application
    			- Pages HTML
    			- Fichiers d'initialisation
    			- Fichiers XML 
  			- ...      
  			
	L'arborescence ainsi créée doit être copiée dans le répertoire
		<racine de tomcat>/webapps
	
	Exemple
	  <racine de tomcat>/webapps/volubis/WEB-INF
	  					/classes
	  					/lib


|

Création du contexte de l'application :  
    
    Après la création des répertoires du module Web, il faut créer un contexte d'application. 
    Ce contexte correspond à l'identification d'un espace de communication inter-servlet 
    Cet espace de communication correspond au ServletContext.
    	
    La création de ce contexte se fait dans le fichier de configuration de Tomcat
    	<racine de tomcat>/conf/server.xml
    
    Structure du fichier server.xml  
	<server>
	   <service>
   		<host>
   		  <context> 
    		  </context>
    		</host>
    	   </service>
    	</server>
    	
    Création d'un contexte
	 
	<context path="/volubis" docbase="volubis" debug="0" reloadable="true" />       	


Depuis Tomcat 5.5, il est déconseillé de définir le contexte au niveau global (obligation de redémarrer TOMCAT à chaque modification) mais plutôt de définir :
a/ un fichier webapps/<nom de l'application>/META-INF/context.xml ou
b/ un fichier conf/host/<nom de l'application>.xml.


Exemple de déploiement avec l'administration WEB sous Tomcat en V5

Pour déployer sous TOMCAT sur OS/400 (ici, une application nommée test) :

Sous WDSc, choisissezFichier/Exporter

choisissez WAR et exporter directement sur l'AS/400 dans /www/votre-instance/webapps


n'exportez PAS les fichiers sources (les classes suffisent).

ensuite, lancez votre navigateur sur votre instance d'administration (port 2001)

et choisissez (ASF Tomcat Settings)

indiquez en point de montage le nom de votre fichier .WAR (information destinée à Apache)

ainsi que dans la liste des contextes (paramétrage pour Tomcat)

Arrétez et redémarrez votre serveur

TOMCAT doit déployer automatiquement
le contenu de votre .war


Pour utiliser TOMCAT 5 ou 6, il faut installer la version Open Source

par exemple http://apache.multidist.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.zip qu'il faut dézipper et placer dans l'IFS

et pour Windows http://apache.multidist.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.exe

 

Sous windows TOMCAT s'installe en tant que service

sur I5, il faut le lancer par
SBMJOB CMD( QSH CMD('/apache-tomcat-6.0.20/bin/startup.sh') ) JOB(TOMCAT6) JOBQ(QSYSNOMAX)

Pour arreter lancer shutdown.sh, sur le même modèle

Vérifier par NETSTAT *CNN, la présence ou non des ports 8009 et 8080

Pour intégrer Tomcat à Apache, il vous faut :

  • Créer un fichier workers.properties dans le répertoire conf, contentenant

    worker.list=worker1
    worker.worker1.type=ajp13
    worker.worker1.host=localhost
    worker.worker1.port=8009

  • Modifier le fichier httpd.conf

    en ajoutant
    LoadModule jk_module /QSYS.LIB/QHTTPSVR.LIB/QZTCJK.SRVPGM , pour I5
    LoadModule jk_module modules/mod_jk.so, sous Windows

    JkWorkersFile /www/<instance>/conf/workers.properties   (conf/workers.properties sous Windows)
    JkLogFile /www/<instance>/logs/jk.log  (logs/jk.log sous Windows)
    JkLogLevel Error (Info pour avoir une trace détaillée)

    Ajoutez JkMount /examples/* worker1, si vous voulez tester,
    puis testez sur l'URL http://<votre serveur>/examples/ cela correspond à des servlets et pages JSP intégrées à Tomcat.

  • Ensuite les applications sont encore une fois dans webapps, il suffit de placer le fichier .war dans ce répertoire
    et de redémarrer TOMCAT pour que l'application soit déployée.

    Attention, pour chaque application, il faut modifier la config d'apache (httpd.conf) et ajouter "à la main"

    JkMount /test/* worker1 (si votre application se nomme test)

Pour déployer sous Websphere Application Server sur I5 (option Web Enablement)

Exportez au format EAR (du coup, il est préférable de créer un fichier EAR spécifique au projet)

Placez ensuite le fichier dans
/QIBM/UserData/WebASE/ASE5/WAS/installebleApps

soit directement, soit en exportant sur votre disque dur et en utilisant Iseries Navigator pour le déplacer


Ensuite, lancez l'administration WEB (STRTCPSVR *HTTP HTTPSVR(*admin) et connectez vous sur le port 2001


Vérifiez d'abord que votre instance WAS est bien connectée au serveur WEB de destination, par le biais d'un hôte virtuel
ce qui doit afficher
Validez aussi que votre instance Apache reconnait le module destiné à WAS
(option WebSphere Application serveur dans le menu de gauche)
Puis installez l'application par l'installation du fichier EAR
Choisissez cette option , après avoir placé le fichier .EAR
L'assistant vous affiche successivement :
L'option Browse vous permet de retrouver votre fichier
Indiquez ensuite, si vous souhaitez une pré-compilation des pages JSP
(démarrage plus lent, première exécution plus rapide)
Choisissez l'hôte virtuel
Et confirmez sur cet écran récapitulatif.
L'application apparait comme "en cours d'installation"
puis comme installée
Cliquez ensuite sur le lien "Manage installed Appilcations"
Avant de démarrer votre application, choisissez prorpiété
Vérifiez qu'elle est bien enabled
Et notez le point de montage associé

Démarrez !


 

EN version 6 , vous pourrez utiliser le serveur d'application intégré, LWI.

(TOMCAT n'est plus livré, sauf à utiliser la version open source vue plus haut))

 

Ce serveur support JSF, JSP, servlets et services web, et implique peu de ressources et d'administration, c'est le même que celui utilisé par DB2 WebQUERY, il est basé sur OSGI .

 

il est disponible déjà en V5R40, tel qu'indiqué par l'APAR II14318 : PTFs - SI29102 and SI29567 are required for Integrated Application Server 7.1 enablement which DB2 Web Query uses.

 

Lancez le serveur d'administration HTTP, si ce n'est déjà fait par STRTCPSVR *HTTP HTTPSVR(*ADMIN)

puis suivez l'assistant

 

 

   

 

pour installez de nouvelles applications

Manage Installed application, puis Install

    indiquez le fichier WAR (ou WAB) représentant l'application (seul WAS connaît les fichiers EAR)

•le "point de montage"

    le port d'écoute du serveur d'application (sur notre exemple, le défaut est 10041 proposé par l'assistant)

    l'application s'installe

si vous rafraichissez, vous devez voir

 

©AF400