Table des matières
1. Informations techniques. 2
1.1 Technologies utilisées. 2
1.2 Pré requis technique. 2
2 Configuration. 3
2.1 Tomcat6. 3
2.2 WebServices authentifié via les rôles tomcat. 3
2.3 WS-ODF. 4
2.4 Thème des modules de vues. 5
2.5 Module transferts départ & gestionnaire. 6
2.6 Base de données. 8
2.7 Module transferts accueil – Facultatif. 8
1. Informations techniques
1.1 Technologies utilisées
- Esup-commons2 version 0.3.2
- PrimeFaces version 3.4.2 avec thèmes en version 1.0.9
- JPA
- Hibernate
- CXF
- JSF 2.0
1.2 Pré requis technique
1.2.1 Obligatoire
- Tomcat 6 ou version supérieure
- java version "1.6.X_XX" - Java(TM) SE Runtime Environment - Java HotSpot(TM) Client VM (ne pas installer d’openjdk)
- Apache Maven 2.X.X
- svn, version 1.6.X
- Base de données Oracle 11G minimum
- Annuaire LDAP de type OpenLdap
- Authentification par SSO CAS
1.2.2 Facultatif
- WebServices Apogée (Facultatif si ré-implémentation de l’interface « DomainServiceScolariteImpl.java »)
- WebServices ws-odf (Facultatif - évite le BUG de la méthode « «recupererSE_v2(param) du WS APOGEE qui sera corrigé dans la version 4.40.20)
2 Configuration
2.1 Tomcat6
Vérifier que dans le fichier /etc/default/tomcat6 il y a bien ce paramètre LANG=fr_FR@euro
Si vous êtes derriere un proxy :
JAVA_OPTS="${JAVA_OPTS} -Dhttp.proxyHost=cache-XXX.univ-XXX.fr -Dhttp.proxyPort=8080 Dhttp.nonProxyHosts=XXX.XXX.XXX.XXX"
Eviter les problème de « PermGenSpace » :
JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC" JAVA_OPTS="${JAVA_OPTS} -XX:PermSize=512m -XX:MaxPermSize=512m"
2.2 WebServices authentifié via les rôles tomcat
2.2.1 Web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>WS - esup-transferts</web-resource-name>
<url-pattern>/services/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>transferts</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Tomcat Manager Application</realm-name>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<description> Acces au WS - esup-transferts</description>
<role-name>transferts</role-name>
</security-role>
2.2.2 Tomcat-users.xml
<role rolename="transferts"/>
<user username="farid" password="soso" roles="transferts"/>
2.2.3 URL d’accès au WebService authentifié
2.3 WS-ODF
Attention ce WebServices utilise IBATIS au lieu d’HIBERNATE afin de simplifier la personnalisation de la requête «getAllOdfByAnnee » se trouvant dans ws-odf-dao\src\main\resources\datamaps\Odf.xml
2.3.1 Dépôt SVN
Voici la commande pour faire le checkout depuis le dépôt sourcesup :
svn co https://subversion.renater.fr/esup-transferts/trunk/ws-odf/ ws-odf
2.3.2 Configuration
2.3.2.1 config.properties
- Renomer et renseigner le fichier esup-transferts-web-jsf-servlet/src/main/resources/properties/config-exemple.properties en esup-transferts-web-jsf-servlet/src/main/resources/properties/config.properties
2.3.2.2 log4j.properties
- Renomer et renseigner le fichier esup-transferts-web-jsf-servlet/src/main/resources/log4j-exemple.properties en esup-transferts-web-jsf-servlet/src/main/resources/log4j.properties
2.3.2.3 Odf.xml (ws-odf-dao/src/main/resources/datamaps/Odf.xml)
- Modifier la requête afin de l’adapter à vos besoin
2.2.3 Compilation
Voici la commande pour faire le déploiement une fois à la racine du projet :
mvn -Dhttp.proxyHost=cache-XXX.univ-XXX.fr -Dhttp.proxyPort=8080 -Dhttps.proxyHost=cache-XXX.univ-XXX.fr -Dhttps.proxyPort=8080 clean install
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Unnamed - fr.univ:ws-odf:pom:1.0 ...................... SUCCESS [2.586s]
[INFO] Unnamed - fr.univ:ws-odf-domain-beans:jar:1.0 ......... SUCCESS [4.829s]
[INFO] Unnamed - fr.univ:ws-odf-dao:jar:1.0 .................. SUCCESS [12.976s]
[INFO] Unnamed - fr.univ:ws-odf-domain-services:jar:1.0 ...... SUCCESS [4.416s]
[INFO] Unnamed - fr.univ:ws-odf-web-jsf-servlet:war:1.0 ...... SUCCESS [13.300s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 38 seconds
[INFO] Finished at: Fri Jan 18 15:07:40 CET 2013
[INFO] Final Memory: 61M/121M
[INFO] ------------------------------------------------------------------------
2.2.4 Deployment
- cp ws-odf-web-jsf-servlet/target/ws-odf.war /var/lib/tomcat6/webapps/
- /etc/init.d/tomcat6 restart
Voici ce que l’on obtient lorsque le WebServices ws-odf fonctionne :
Affichage des logs lorsque l’on clique sur le bouton de test :
Accès au wsdl :
2.4 Thème des modules de vues
La liste des thèmes est disponible ici : http://www.primefaces.org/themes.html
Pour changer le thème :
- Allez dans le fichier pom.xml du module de vues (ex : esup-transferts-web-jsf-servlet/pom.xml)
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>home</artifactId>
<version>1.0.9</version>
</dependency>
- Puis dans le fichier web.xml (esup-transferts-web-jsf-servlet/src/main/webapp/WEB-INF/web.xml)
<context-param>
<param-name>primefaces.THEME</param-name> <param-value>home</param-value>
</context-param>
Puis executer un mvn clean install dans le module de vues et rédeployer le .war généré
2.5 Module transferts départ & gestionnaire
2.5.1 Dépôt SVN
Voici la commande pour faire le checkout depuis le dépôt de l'ARTOIS :
svn co https://subversion.renater.fr/esup-transferts/trunk/esup-transferts-v2.0.0/ esup-transferts-v2.0.0
2.5.2 Configuration de l’ application
2.5.2.1 config.properties
- Renomer et renseigner le fichier esup-transferts-web-jsf-servlet/src/main/resources/properties/config-exemple.properties en esup-transferts-web-jsf-servlet/src/main/resources/properties/config.properties
2.5.2.2 log4j.properties
- Renomer et renseigner le fichier esup-transferts-web-jsf-servlet/src/main/resources/log4j-exemple.properties en esup-transferts-web-jsf-servlet/src/main/resources/log4j.properties
2.5.2.3 WS Apogée
- Renomer et renseigner le fichier esup-transferts-web-jsf-servlet/src/main/resources/configUrlServices-exemple.properties en configUrlServices.properties
2.5.2.4 Web.xml
<javaee:param-name>casServerLoginUrl</javaee:param-name>
<javaee:param-value>https://auth.univ-XXX.fr/cas/login </javaee:param-value>
<javaee:param-name>casServerUrlPrefix</javaee:param-name>
<javaee:param-value>https://auth.univ-XXX.fr/cas </javaee:param-value>
<javaee:param-name>serverName</javaee:param-name>
<javaee:param-value>http://XXX:8080</javaee:param-value>
Afin d’éviter cette erreur au lancement du context
GRAVE: Erreur d'évaluation (parse) dans le fichier web.xml de l'application
java.lang.IllegalArgumentException: Can't convert argument: null
!!! Supprimer tous les javaee: du fichier web.xml car ces tags pose un soucis au lancement du context tomcat6 !!!
Exemple remplacer : <javaee:param-name>serverName</javaee:param-name>
Par : < param-name>serverName</ param-name>
2.5.3 Compilation
Voici la commande pour faire le déploiement une fois à la racine du projet :
mvn -Dhttp.proxyHost=cache-XXX.univ-XXX.fr -Dhttp.proxyPort=8080 -Dhttps.proxyHost=cache-XXX.univ-XXX.fr -Dhttps.proxyPort=8080 clean install
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] Unnamed - org.esupportail.transferts:esup-transferts:pom:0.0.1-SNAPSHOT SUCCESS [4.914s]
[INFO] Unnamed - org.esupportail.transferts:esup-transferts-domain-beans:jar:0.0.1-SNAPSHOT SUCCESS [5.807s]
[INFO] Unnamed - org.esupportail.transferts:esup-transferts-dao:jar:0.0.1-SNAPSHOT SUCCESS [1.464s]
[INFO] Unnamed - org.esupportail.transferts:esup-transferts-utils:jar:0.0.1-SNAPSHOT SUCCESS [2.092s]
[INFO] Unnamed - org.esupportail.transferts:esup-transferts-domain-services:jar:0.0.1-SNAPSHOT SUCCESS [3.849s]
[INFO] Unnamed - org.esupportail.transferts:esup-transferts-web-jsf-servlet:war:0.0.1-SNAPSHOT SUCCESS [18.101s]
[INFO] Unnamed - org.esupportail.transferts:esup-transferts-accueil-web-jsf-servlet:war:0.0.1-SNAPSHOT SUCCESS [12.958s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 50 seconds
[INFO] Finished at: Fri Jan 18 11:30:06 CET 2013
[INFO] Final Memory: 78M/187M
[INFO] ------------------------------------------------------------------------
2.5.4 Déploiement
- cp esup-transferts-web-jsf-servlet/target/esup-transferts.war /var/lib/tomcat6/webapps/
- /etc/init.d/tomcat6 restart
2.5.5 Résultat
2.6 Base de données
2.6.1 la base de données
Au premier démarrage de l'application, mettre le parametre hibernate.generateDdl=true dans le fichier de configuration "config.properties". Cela va créer le modèle physique de la Base de Données. Une fois le schèma de Base de données créer, executer le script SQL fourni dans le module départ et gestionnaire afin d'initialiser les nomenclatures :
ATTENTION : Les fichiers SQL sont encodés en UTF8, vérifiez bien votre encodage de caractère lors des créations/insertions.
esup-transferts-web-jsf-servlet/sql/nomenclatures-esup-transferts.sql
2.6.2 Table des interdits BU
Les tests d'interdits (exemple BU) se font lors de l'authentification d'une part dans les interdits BDD SCOLARITE puis d'autre part dans la table "INTERDIT_BU" du schéma transferts
Si les interdits BU ou autre ne sont pas saisies dans la BDD SCOLARITE, il est faut renseigner cette table via une procédure PL/SQL avec un DBLINK par exemple ou d'une quelquonque manière.
2.7 Module transferts accueil – Facultatif
Voir déploiement module transferts départ et gestionnaire