Ce document vous décrit la mise en place de la génération des flux métiers au niveau de la couche de présentation (Configuration/feuilles de style). Cette possibilité est induite par une amélioration au niveau du socle technique et par le développement de classe Java métier.
L’exploitation de la génération du BusinessFlow nécessite d’être en version ACE 1.3 ou supérieure. La prise en compte étant effectuée en premier lieu au niveau du socle, la librairie impactée est « technical_framework.jar ».
Le principe est de pouvoir compléter le flux de présentation, construit à partir de deux sources distinctes :
Le métier a aussi la possibilité de générer son propre flux de présentation. Ce flux est positionné au même niveau que la BusinessView, directement sous le nœud <layout_data>.
Cette possibilité a des impacts sur quatre niveaux :
1. Les classes métier Java d’un type particulier, présentes dans fr.generix.metier.businessflow. Ces classes fournissent des segments de flux XML.
2. La configuration, afin de faire le lien entre les classes Java métier et le moteur (socle),
3. Les feuilles de styles, afin de prendre en compte ce type de flux,
4. Le socle qui, en interne, fait le lien entre les différents éléments.
Le but de ces classes est de fournir un segment de flux XML pour compléter la BusinessView.
Ces classes Java métiers sont typées selon le flux XML demandé. Actuellement, deux classes sont disponibles pour répondre à un besoin immédiat. Cette liste sera amenée à s’étoffer selon les besoins. Rien n’empêche le client d’écrire ses propres classes pour répondre à un besoin particulier.
Représentation des classes métiers.
Les classes métiers profitent des éléments fournis par le socle dans une classe commune : AbstractBusinessFlow. Cela permet aux classes métier d’accéder à des éléments fonctionnels comme le paramétrage.
Illustration des classes de type BusinessFlow.
ParamBusinessFlowImpl : fournit le contenu du paramètre demandé de la table PARAM .
PevBusinessFlowImpl : fournit le contenu de la table PEV pour la cible en cours .
Le fichier de configuration permet :
La structure de la déclaration d’un type de BusinessFlow est la suivante :
La définition d’un BusinessFlow est la suivante :
A ceci s’ajoute des paramètres optionnels en nombre non limité :
Exemple de paramétrage
On retrouve le lien avec les deux classes Java et la déclaration des types de BusinessFlow :
< solver_def >
< solver_type name =" GENPEV " solverClass =" fr.generix.metier.businessflow.PevBusinessFlowImpl " type =" flow "/>
< solver_type name =" GENPPE " solverClass =" fr.generix.metier.businessflow.ParamBusinessFlowImpl " type =" flow "/>
</ solver_def >
< businessflow_def >
< businessflow_type name =" M_QTE " solverName =" GENPPE "/>
< businessflow_type name =" TYPFOU " solverName =" GENPPE "/>
< businessflow_type name =" GENPEV " solverName =" GENPEV "/>
< businessflow_type name =" GENPPE " solverName =" GENPPE "/>
</ businessflow_def >
La déclaration des BusinessFlow se fait sous le nœud properties. Un nouveau nœud <default_businessflow> permet de définir la liste des BusinessFlow valables pour l’ensemble des ViewStruct.
Exemple de paramétrage :
<properties …>
…
< default_businessflow >
< businessflow name =" BusinessFlowGeneral1 " active =" true " expression =" TYPFOU " type =" GENPPE ">
< parameter value =" PRO " name =" typpro "/>
< parameter value =" TEST "/>
</ businessflow >
< businessflow name =" BusinessFlowGeneral2 " active =" false " expression =" P_QTE " type =" GENPPE "/>
</default_businessflow >
</ properties >
La déclaration des BusinessFlow se fait sous le nœud ViewStruct. Un nouveau nœud <businessflow> permet de définir la liste des BusinessFlow valables pour cette ViewStruct.
Exemple de paramétrage
< viewstruct name =" EDI_L " defaultRetrieve =" MOI " defaultSort =" DEF ">
+< view name =" UtilisateurCourant " create =" false " executeQuery =" optimize " nbline =" 1 " type =" VueUtilisateurCourantSociete "/>
< businessflow name =" businessFlowLocal1 " active =" true " expression ="M_QTE" type =" GENPPE "/>
< businessflow name =" businessFlowLocal2 " active =" true " expression ="TYPFOU" type =" GENPPE "/>
</ viewstruct >
La feuille de style interprète les données fournies par le flux de présentation.
Exemple de flux de présentation en fonction du paramétrage précédent :
< layout_data >
+< application_data >
< businessFlow >
< businessFlowGeneral1 >
< parametre name =" M_QTE ">
< Codsoc1 value =" 1 "/>
...
< CodsocPhy value =" 1 "/>
</ parametre >
</ businessFlowGeneral1 >
< businessFlowGeneral2 >
< parametre name =" TYPFOU ">
< Codsoc1 value =" 1 "/>
…
< CodsocPhy value =" 1 "/>
</ parametre >
</ businessFlowGeneral2 >
< businessFlowLocal1 >
< parametre name =" M_QTE ">
< Codsoc1 value =" 1 "/>
...
< CodsocPhy value =" 1 "/>
</ parametre >
</ businessFlowLocal1 >
< businessFlowLocal2 >
< parametre name =" TYPFOU ">
< Codsoc1 value =" 1 "/>
…
< CodsocPhy value =" 1 "/>
</ parametre >
</ businessFlowLocal2 >
</ businessFlow>