jeudi 24 octobre 2013

AngularJS : le framework architectural Web de Google

Si vous n'avez pas vécu coupé du monde (donc sans Internet...) ces derniers mois, vous avez certainement entendu parler d'AngularJS.


J'avais déjà évoqué ce framework architectural lors de mon dernier billet sur BRF+.

Pas grand-chose à voir avec SAP me direz-vous ? Oui et non : oui car AngularJS est une solution Open source largement développée par Google; non car votre serveur d'application NetWeaver est capable de servir aussi bien des données à une application SAP qu'à une application non-SAP !  :)
Ainsi, avec les nouvelles fonctionnalités de NW 7.02 (version qui commence même à dater maintenant), vous pouvez facilement passer d'un format ABAP à un format JSON et réciproquement ce qui rend les échanges avec notre application AngularJS particulièrement aisés.

Pour cette entrée en matière, je vous propose simplement de voir un petit "sélecteur localisateur" (largement inspiré de http://tympanus.net/Tutorials/Cust"omDropDownListStyling/index3.html) conçu par votre serviteur.

Cet exemple vous est servi par le service en ligne Plunker (concurrent de JSFiddle) mais qui a le bon goût d'être largement écrit... en AngularJS !  ;)

Merci de répondre positivement à la demande de votre navigateur concernant votre géolocalisation pour profiter pleinement de l'exemple.




A bientôt !

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