mardi 1 octobre 2013

BRF+ : le moteur de règles métier de SAP

Dans le cadre de ma mission actuelle, la solution BRF+ (Business Rules Framework) a fait son chemin lors de la mise en place d'un menu pour des services ESS (Employee Self-Service) développés en spécifique (AngularJS au-dessus d'un SAP HCM) pour un grand groupe cosmétique. (NDLR : principe similaire aux classes proxy qui existaient pour la solution standard mais en BRF+ cette fois)

Plusieurs avantages pour ce moteur de règles métiers apparu avec l'Enhancement Package 1 pour SAP NetWeaver (SAP NW 7.01) :
  • une lisibilité des règles par tous
  • une maintenance possible par une population pas forcément rompu au langage de développement ABAP (il faut quand même être très à l'aise avec l'outil informatique !)
  • une performance correcte (surtout en NW 7.02+ a priori) du fait que le code est généré en ABAP Objects
Petite mise en garde : la modélisation sous BRF+ est néanmoins plus longue que pour du code ABAP, il ne faut la réserver aux seules règles d'évoluer fréquemment. Vous savez celles pour lesquelles on vient vous voir au moins 1 fois par mois en vous demandant "Quelle est la règle ?"

Si la table de décision répondra à 80% des besoins,
Source : SCN (par le grand guru de BRF+ : Carsten Ziegler)

il y a pléthore d'expressions pour arriver à modéliser les règles les plus complexes auxquelles votre MOA aura pu penser...  :)
  • arbre de décision
  • détermination dynamique de l'expression à appeler
  • lecture d'une table ABAP
  • module fonction ABAP / méthode de classe ABAP
  • ...

Un aspect déroutant au début : les Data Objects sont plus que des simples types (comme pourraient l'être des objets du DDIC) mais de véritables variables d'où un mapping nécessaire lors de l'appel d'une fonction BRF+ par exemple.
Enfin, BRF+ dispose d'une API très complète de manipulation de ses propres objets ce qui peut être bien utile quand tout a été correctement référencé dans de beaux fichiers Excel.  :D





Aucun commentaire: