Déploiement d `applications Web Déploiement d

publicité
ISI 1022 : Programmation Internet et Java
Déploiement d ’applications Web
Programmation Internet et Java
Jean-Noël Sorenti. Année 2002/2003
Déploiement d ’application Web
Utilisation de Jakarta Tomcat
ISI 1022 : Programmation Internet et Java
1
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Déploiement d’applications Web
l
Programmation Internet et Java
Une application Web est déployée sous un
serveur d’application :
• Tomcat de Apache
• Websphere d ’IBM
• Etc …
l
En développement, on a un ‘autodéploiement’ sur des serveurs de test :
• Tomcat pour JBuilder
• WTE pour Visual Age d ’IBM
2
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Déploiement d’applications Web
l
Programmation Internet et Java
Une application Web J2EE est composée :
• de pages statiques :
• *.html, *.htm, *.javascript
• de pages dynamiques :
(1)
, *.css, *.jpeg, *.giff
• *.shtml, *.jsp (servlets jsp)
• de Servlets et de code métier java :
• *.class dans des répertoires
• d ’un fichier (descripteur) de déploiement :
• web.xml
3
(1) : Un fichier JavaScript est statique coté ‘serveur’ !
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Descripteur de déploiement
l
Programmation Internet et Java
Le descripteur de déploiement est un fichier
nommé web.xml comprenant :
• La déclaration de l ’application Web
• La déclaration des Servlets : nom + nom de classe
+ paramètres de configuration :
• Les Servlets seront instanciées dynamiquement grâce
au ‘ nom de classe ’.
• Le mapping des Servlets :
• une table de correspondance va associer le ‘ path ’ de
l ’URL à sa servlet, par exemple /bonjour pour la servlet
bonjour.
4
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Descripteur de déploiement
l
Programmation Internet et Java
Selon le serveur, le fichier de déploiement
peut varier :
• Exemple avec Tomcat :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app>
<servlet>
<servlet-name>bonjour</servlet-name>
<servlet-class>appli.servlets.Bonjour</servlet-class>
</servlet>
...
<servlet-mapping>
<servlet-name>bonjour</servlet-name>
<url-pattern>/bonjour</url-pattern>
</servlet-mapping>
...
5
Utilisation multiple du mapping avec <url-pattern> :
à <url-pattern>/helloword</urlpattern> correspond :
/helloworld.
à <url-pattern>/foo/*</urlpattern> correspond :
/foo/blah
/foo/index
à <url-pattern>*.jsp</urlpattern> correspond :
tous les fichiers jsp. (cette servlet existe dans le serveur
d ’application, c ’est la servlet qui gère les fichiers jsp !).
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Descripteur de déploiement
l
Programmation Internet et Java
Autre descripteur de déploiement :
• Exemple avec W.T.E d ’IBM :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<webapp>
<servlet>
<name>bonjour</name>
<path>/bonjour</path>
<code>appli.servlets.Bonjour</code>
<autostart>false</autostart>
</servlet>
...
6
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Structure de répertoires
l
Programmation Internet et Java
Notre application Web est structurée en
répertoires. Nous retrouverons dans ces
répertoires toutes les composantes de
l ’application :
• Les fichiers ‘ Web ’ : html, javascript, jsp, shtml, …
• Le descripteur de déploiement
• Le code des Servlets
• Le code métier de l ’application sous forme de
classes ou de .jar
7
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Programmation Internet et Java
Structure de répertoires
Répertoire Racine
Descripteur de déploiement :
doit s’appeler web.xml
Index.html
annonce.jsp
WEB-INF
web.xml
classes
Répertoire
contenant WEB-INF
ainsi qu’une
hiérarchie de
fichiers Web.
Doit être nommé
classes. Contient les
classes java de
l ’application.
package
lib
lib
any.jar
sous-package
X.class
8
Bien respecter les noms des répertoires imposés : WEB-INF, classes, lib.
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Fichiers WAR
l
Programmation Internet et Java
Pour faciliter le déploiement, les applications
Web peuvent être archivées en un unique
fichier de type WAR :
• Même structure interne des répertoires que celle
•
•
•
décrite précédemment (répertoire archivé).
Le fichier portera l ’extension .war.
Un .war n ’est en réalité qu ’un fichier .zip ou .jar
Analogie au classes packagées dans un .jar
9
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Création de fichiers WAR
l
Programmation Internet et Java
A l ’aide de l ’utilitaire jar du JDK :
• jar cvf ../simpleapp.war *
• Options :
•c
•v
•f
: créer un nouveau fichier jar.
: affichage des commentaires
: spécification du nom.
• La commande doit être exécutée à partir du
répertoire racine de l ’application Web.
10
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Déploiement de fichiers WAR
l
l
Programmation Internet et Java
Selon le conteneur d ’application (Serveur
d ’application), les méthodes de déploiements
peuvent aussi varier :
Exemple avec le répertoire ‘webapps’ de Tomcat :
• Chaque sous répertoire est une application Web.
• L ’application Web par défaut d ’appelle ROOT.
• Il suffit de copier le .war dans le répertoire webapps.
• Si aucun répertoire ne correspond au .war alors ce dernier
est éclaté au démarrage.
11
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Utilisation de Jakarta - Tomcat
l
Programmation Internet et Java
Tomcat est un serveur d ’application Web
publique.
• C ’est avant tout un serveur HTTP
• Il peut héberger plusieurs applications.
• Toutes les applications sont lancées par la même JVM
•
•
•
(Java Virtual Machine).
Tomcat est un serveur implémenté en Java.
Existe sous différentes plate-formes (Windows, Linux).
Peut être téléchargé à l ’adresse : http://jakarta.apache.org
12
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Utilisation de Tomcat
l
Programmation Internet et Java
Pour pouvoir utiliser Tomcat (sous winNT) :
• On doit installer une JVM qui va exécuter le
•
•
serveur. Pour cela, on peut installer directement le
JDK de Java (qui comprend les outils de
développements ainsi qu’une JVM Standard).
Installer Tomcat
Définir les points d ’entrés sous forme de variable
d ’environnement :
• JAVA_HOME
• CATALINA_HOME
: répertoire ou est installé le JDK
: répertoire ou est installé Tomcat
• Lancer CATALINA_HOME\bin\startup.bat
13
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Programmation Internet et Java
Déployer une application Web sous Tomcat
l
Pour déployer une application web :
• copier le répertoire de l ’application Web ou le
fichier WAR dans :
• CATALINA_HOME/webapps/
• On a une application par défaut comprenant un
répertoire par défaut nommé :
• CATALINA_HOME/root/
14
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Programmation Internet et Java
Tester une application Web sous Tomcat
l
l
Au lancement, le serveur est à l’écoute sur
le port 8080 pour le protocole http.
(configurable dans le fichier server.xml).
On peut demander une ressource via un
butineur sous forme d ’URL :
• http://adresseMachine:8080/sousApp/ressource
l
Pour tester, on peut commencer par
demander des pages statiques (html,...).
15
Butineur est une autre façon d’appeler un Web Browser ou Navigateur Web.
Jean-Noël Sorenti – Année 2002/2003
ISI 1022 : Programmation Internet et Java
Exercice :
l
Programmation Internet et Java
Un bon entraînement :
• Déploiement de Tomcat sous Windows NT ou
sous Linux :
• Le jdk et doc téléchargeables sous java.sun.com
• Tomcat et doc téléchargeables sous jakarta.apache.org
• Test d’une application :
• avec InternetExplorer sous Windows on Konqueror sous
Linux.
16
Jean-Noël Sorenti – Année 2002/2003
Téléchargement