| Les mises à jour de la documentation / Version 4.1-4.5 | |
| date | auteur | version | modif |
| 26/11/02 | TIF | 1.0 | · création |
| 11/12/02 | TIF | 1.0 | · Dérivation des API. |
Objectif du document : suivre le contenu du socle technique v4.4.0 en fonction de la date de patch.
Une version "historique" des releases notes.
Emplacement des fichiers statiques (file system, iFS, etc.), référencement de ces emplacements (web.xml, configuration.xml, etc.) => respecter diverses contraintes :
On définit un paramètre pour l'application web dans le fichier web.xml. Ce paramètre se nomme egx_context_url et permet de définir la racine de toutes les ressources "relatives" accédées par eGX (fichier de configuration et feuilles de style).
On donne une valeur à cette variable par l'utilisation du fichier orion-web.xml. Attention : sous OC4J exclusivement (Pour WebSphere contacter ROJ ou DHN). Ce fichier se trouve à deux endroits dans l'arborescence du serveur d'application :
egx_context_url représente un répertoire. Une URL valide qui représente un répertoire doit toujours se terminer par un '/'.
web.xml
<web-app>
<description>web.xml pour web Application</description>
<context-param>
<param-name>egx_context_url</param-name>
<param-value></param-value>
</context-param>
<context-param>
<param-name>egx_configuration_path</param-name>
<param-value>configuration.xml</param-value>
</context-param>
<context-param>
<param-name>egx_instance_name</param-name>
<param-value>instance_de_test</param-value>
</context-param>
<servlet>
<servlet-name>ServletControl</servlet-name>
<display-name>ServletControl</display-name>
<description>Application web</description>
<servlet-class>f.g.tf.app.ServletControl</servlet-class>
<load-on-startup>1</load-on-startup>
<security-role-ref>
<description>root</description>
<role-name>root</role-name>
<role-link>super-user</role-link>
</security-role-ref>
</servlet>
…
<servlet-mapping>
<servlet-name>ServletControl</servlet-name>
<url-pattern>/ServletControl</url-pattern>
</servlet-mapping>
…
</web-app>
orion-web.xml
<orion-web-app
deployment-version="1.0.2.2.1"
jsp-cache-directory="./persistence"
temporary-directory="./temp">
<resource-ref-mapping name="jdbc/eGX-DS" location="jdbc/OracleSoc1CoreDS"/>
<context-param-mapping name="egx_configuration_path">configuration.xml</context-param-mapping>
<context-param-mapping name="egx_instance_name">instance_de_test</context-param-mapping>
<context-param-mapping name=" egx_context_url ">http://fx-tif:8440/egx/</context-param-mapping>
</orion-web-app>
Si on veut charger le fichier de configuration et les feuilles de styles à partir d'un serveur http, il suffit de donner l'url de la racine de ces fichiers par ce paramètre.
Si on désire faire référence à des fichiers sur un disque, il faut utiliser le protocole file: dans l'url à la place de http:.
Au même niveau que le nouveau paramètre egx_context_url, on trouve deux autres nouveaux paramètres :
Cette évolution fait disparaître le paramètre egx_configuration_path de l'initialisation de la servlet. En fait, il est déplacé sur l'initialisation du contexte de l'application web.
Vous pouvez supprimer la partie en gras dans le fichier web.xml suivant :
web.xml
<web-app>
<description>web.xml pour web Application</description>
<servlet>
<servlet-name>ServletControl</servlet-name>
<display-name>ServletControl</display-name>
<description>Application web</description>
<servlet-class>fr.ACE.technicalframework.application.ServletControl</servlet-class>
<init-param>
<param-name>egx_configuration_path</param-name>
<param-value>configuration.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
<security-role-ref>
<description>root</description>
<role-name>root</role-name>
<role-link>super-user</role-link>
</security-role-ref>
</servlet>
…
</web-app>
1. Editer le fichier web.xml et supprimer le nœud init-param de la servlet ServletControl .
2. Insérer le xml suivant entre le nœud description et le premier nœud servlet dans web.xml :
<context-param>
<param-name>egx_context_url</param-name>
<param-value></param-value>
</context-param>
<context-param>
<param-name>egx_configuration_path</param-name>
<param-value></param-value>
</context-param>
<context-param>
<param-name>egx_instance_name</param-name>
<param-value></param-value>
</context-param>
3. Editer orion-web.xml se trouvant dans le répertoire j2ee\home\application-deployments\egx\egx-webapp.
4. Insérer le xml suivant à la suite du nœud resource-ref-mapping :
<context-param-mapping name="egx_configuration_path">configuration.xml</context-param-mapping>
<context-param-mapping name="egx_context_url">file://E:/oc4j/j2ee/home/applications/egx-app/egx-webapp/</context-param-mapping>
Tous les context-param sont optionnels sauf egx_configuration_path.
Le paramètre egx_context_url est optionnel. Dans ce cas, il pointe sur le répertoire de l'application web (=>aucun changement).
Si renseignée, la valeur de egx_context_url doit se terminer par un '/'.
5. La partie en gras du point précédent est à adapter à votre cas particulier.
Lors de l'écriture d'API spécifiques, on ne doit pas référencer en double l'AM standard et l'AM spécifique.
Dans la configuration, on ne doit plus trouver deux lignes pour un même domaine fonctionnel :
<applicationmodule name="GestionXxx" defFullName="fr.generix.metier.bc4j.truc.GestionXxx" sessionType="statefull"/>
<applicationmodule name="GestionXxxMonClient" defFullName="fr.ACE.specifiques.metier.bc4j.truc.GestionXxxMonClient" sessionType="statefull"/>
Mais seulement une ligne :
<applicationmodule name="GestionXxx" defFullName="fr.ACE.specifiques.metier.bc4j.truc.GestionXxxMonClient" sessionType="statefull"/>
Donc, dans le cas de développement spécifique, toute API standard non modifiée sera retrouvée sans écriture de code suplémentaire.
Pour cela, il faut que l'AM spécifique dérive de l'AM standard. Ce qui est déja le cas.