dimanche 20 mai 2012

Mobile : l'illusion de la solution ubiquitaire

La jungle mobile

Face à la multitude de solutions mobiles, difficile de faire un choix pour le développeur : solutions purement natives (laissant forcement de côté une bonne partie des utilisateurs , ne serait-ce qu'iOS ou Android), HTML5 ou solutions hybrides.

Laissons, un temps, les solutions natives de côté qui - côté ubiquité - sont hors course !

AIR mobile

Il y a quelque chose d'intéressant dans AIR mobile avec ses Native Extensions, c'est qu'on peut forcément atteindre une fonctionnalité native du périphérique mobile quitte à en payer un effort de développement supplémentaire. Et puis, le framework apporte déjà des éléments quasi inaccessibles des solutions orientées Web. Une réutilisation non négligeable de/vers une version Desktop est également possible.

Hélas, 2 fois hélas, Adobe est beaucoup moins actif ces derniers mois sur le créneau AIR mobile :
  • l'accent est mis sur PhoneGap et on ne voit plus grand-chose sortir de chez Adobe
  • pas beaucoup de visibilité du côté de la fondation Apache qui a repris le flambeau de Flex
Il faut dire que l'arrêt du Flash Player pour mobile (trop de hardware, OS et software différents) n'a pas enthousiasmé les développeurs.
Notons néanmoins l'apparition de la 3D (voici une vue virtuelle du Duomo de Florence en 3D) mais pour nos applications d'entreprise, cela a peu de conséquence !

HTML5, PhoneGap

Mais que reste-t-il ?
Et bien, la victoire annoncée d'HTML5 est en train de faire (trop ?) pencher la balance : PhoneGap, Sencha et consorts tiennent le haut du pavé et même SAP noue des accords avec ces acteur.

Une infographie intéressante pour savoir quand utiliser PhoneGap.

SAP propose d'ailleurs son propre framework HTML5 : SAP UI5.
Source : SAP (blog de Rui Nogueira)
Encore une fois, on se heurte à quelques dures réalités :
  • une forte présence de navigateurs anciens en entreprise (IE6 en tête) qui ne supporte pas HTML5 et CSS3 (est-ce que Modernizr, dont l'objectif est de pallier certaines lacunes des navigateurs, change vraiment la donne ?)
  • la disparité de la prise en charge par les nouveaux navigateurs(cf. cainuse.com)
Les développeurs doivent donc adopter une stratégie d'amélioration progressive (Progressive Enhancement dans la langue de Shakespeare) afin d'offrir la meilleure expérience à chacun.

Portal on Device

Une nouvelle solution à destination des utilisateurs du Portail SAP.
Attention ! Ce n'est pas parce que vous pouvez accéder au Portail que les applications qui y sont hébergées fonctionneront sur votre terminal.

Extrait de la note OSS 1705067
SAP recommends using mobile-adapted applications in the portal on device environment. Non-mobile supported UI technologies (for example, Web Dynpro, Business Server Page (BSP)) may not be rendered correctly or may not be rendered at all on the mobile devices, depending on each UI technology and/or specific implementation. SAP UI technologies currently do not support the mobile Product Availability Matrix (PAM), and therefore are not supported for portal on device.
Solution: Customers should adapt their applications to match the correct form factor, application complexity, and UI technology in order to run correctly on a mobile device. This adaptation usually involves manually recreating the user interaction layer to suit the touch-mobile device characteristics.


Et télechargez Appliness, c'est excellent !

dimanche 8 janvier 2012

AIR mobile et Google Spreadsheet

Scénario classique : vous souhaitez afficher une liste de valeurs ou un tableau sur une application mobile. Cette liste provient d'une base de données qui est mise à jour régulièrement par des administrateurs / gestionnaires.

De prime abord, on est tenté de penser : serveur Web, base de données, interface d'administration, ...
Or, pour des besoins modestes, je vous propose une approche full web qui ne vous coûtera pas un centime !

Ma proposition consiste à simplement gérer votre liste au sein d'une Google Spreadsheet (vous aurez besoin d'un compte Google pour ce faire) et à permettre à votre application AIR mobile d'y accéder.
Attention : à partir du moment où vous publiez votre Google Spreadsheet sur le Web, quiconque dispose de l'URL est capable de la visualiser même si elle est privée !




Malheureusement :

  1.  Google n'autorise pas - via son crossdomain.xml - aux applications Flash d'accéder à ses fichiers
  2. Google interdit à YQL - via son robots.txt - d'attaquer les URLs en http://docs.google.com/spreadsheet/... (ou tout autre url qui nous permettrait d'accéder à nos données)
Aussi, la plupart des solutions qu'on trouve sur le Web consiste donc à monter un petit serveur proxy pour s'affranchir de cette contrainte (qui en crée une nouvelle : la maintenance dudit serveur : qu'il soit physiquement chez vous, chez un hébergeur ou encore dans le cloud Google App Engine, Amazon, ...)
Nous nous contenterons de simplement publier le fichier sur le Web (cf. Etape 1) ce qui lève cette restriction (si quelqu'un a l'explication, je suis preneur !!)

En utilisant YQL (Yahoo! Query Language), on va pouvoir attaquer notre Google Spreadsheet de façon puissante.



J'avoue adorer le fait que Yahoo! vienne un peu à la "rescousse" de Google   :-)

Étape 1 : créer la Google Spreadsheet et la publier (Fichier -> Publier sur le Web) en cochant la publication automatique après modification


Étape 2 : construire la requête YQL. Pour cette partie, je vous conseille fortement la console YQL !


Exemple de requête avec clause WHERE :
select * from csv where url="https://docs.google.com/spreadsheet/pub?key=0ArrC4225dYxmdG9LNFNvVjBPb2ZURGJpWVV6TG9Za0E&output=csv" and columns="personnalite,fonction,photo" and personnalite LIKE "%u%"


Étape 3 : consommer cette requête depuis AIR et exploiter le résultat



Les références vers le projet  Flash Builder et le fichier AIR (pour bureau)
Projet Flash Builder 4.6 : BlogYQL.fxp
Package AIR pour le bureau : BlogYQL.air


Quelques références qui m'ont aider à construire ce billet :
  1. http://www.ravelrumba.com/blog/json-google-spreadsheets/
  2. http://net.tutsplus.com/tutorials/other/how-to-create-a-web-service-in-a-matter-of-minutes/
  3. http://active.tutsplus.com/tutorials/tools-tips/quick-tip-using-google-app-engine-as-a-proxy-server/
PS : Merci à Pierre B. pour son aide sur YQL dans la rédaction de ce billet

dimanche 23 octobre 2011

Génération de données de tests

Les tests sont un passage impératif du processus de développement. Ils garantissent la qualité du produit livré au client.

Dans nos environnements de développements, il arrive parfois que nous manquions de données de test.
Or, il existe de petits outils comme generatedata.com (et beta.generatedata.com) qui permettent facilement de générer des jeux de données volumineux en quelques secondes. (une limitation de 200 enregistrements est imposée si on se s'enregistre pas)
Que ce soit pour votre application SAP (pour contrôler une saisie de donnée par exemple) ou pour alimenter une base de données SQL quelconque, cet outil est d'une aide précieuse.


Les formats d'export proposés sont : HTML, Excel, XML, CSV, SQL

Certes, la configuration du résultat reste assez sommaire mais en tant que première étape de construction de votre jeu de test, il fait merveille.

Bons tests !

vendredi 26 août 2011

New Normal dans le monde SAP ?

Cela fait quelque temps que l'on m'avait recommandé cette vidéo "New Normal" par Peter Hinssen qui traite de l'évolution des métiers de l'IT et des rapports avec nos clients du métier et je la revois aujourd'hui avec autant de plaisir et d'intérêt.  :)


Source : http://www.viddler.com/player/bb1a3da7/0/

Que serait le "New Normal" dans le monde SAP : expérience utilisateur (RIA), Mobilité, Hana, Cloud-Computing ?

Nous n'y sommes pas encore car l'inertie des systèmes d'information (en particulier des ERP tels que celui de SAP) est énorme. Aussi, comme le fait remarquer Peter Hinssen dans sa présentation : "Work = period during the day where we have to use old technology".
Mais petit à petit, nous allons voir arriver ces nouvelles applications mobiles d'entreprise que tout le monde prédit !

RM : le lecteur vidéo est en Flex de ma conception !  :)  (ceux qui connaissant le spark VideoPlayer savent que cela ne demandent pas un effort surhumain)

samedi 26 mars 2011

Anecdote germanique

Petite histoire de clavier.

Tous les consultants, développeurs et (souvent) utilisateurs de SAP ERP et R/3 connaissent la combinaison CTRL+Y qui permet de sélectionner une zone de texte sur un écran SAP Gui (dans un spool, un ALV, un dynpro, ...)

Sans doute aurez-vous noté que le CTRL+Y n'est pas vraiment une combinaison "évidente" sur nos claviers ?
Quelle idée ont encore eu nos voisins allemands de Walldorf, car on connaît les incontournables combinaisons suivantes :
  • CTRL+X : Couper
  • CTRL+C : Copier
  • CTRL+V : Coller

CTRL+Y : c'est quasiment le claquage assuré de l'index gauche !!

Source : http://en.wikipedia.org/wiki/Keyboard_layout#Germany_and_Austria_.28but_not_Switzerland.29

 Et là, ne comprend-on pas un poil mieux ?!   ;-)

jeudi 30 décembre 2010

Projet ABAP AMF

Tout d'abord, bonne fêtes de fin d'année à vous tous !!
Je vous souhaite tout le meilleur pour 2011.

AMF, qu'est-ce c'est ?

C'est l'acronyme de Action Message Format, un format binaire utilisé par le Flash Player pour échanger des données. La technique appelée Remoting permet d'échanger ces données entre le Flash Player côté client et le serveur. Si Adobe fournit des implémentations (BlazeDS, LiveCycle Data Services) pour le monde Java, des projets ont vu le jour pour permettre aux autres technos (.Net, PHP, ...) de bénéficier également de ce mode de communication très performant (cf. comparatif de James Ward ci-dessous)


Le test en ligne est disponible à cette adresse : http://www.jamesward.com/census/

Le Projet ABAP AMF



Voilà quelques semaines que j'ai lancé le projet ABAP AMF sur CodeExchange dont le but est de fournir un moyen efficace d'appeler des BAPI / modules fonctions RFC depuis un applicatif Flex ou AIR :

  • sans avoir à faire de Web Service côté ABAP
  • en ayant des performances optimales (pas de conversion entrante et sortante vers XML, dialogues moins "verbeux" car binaire pour l'AMF)

Ce projet n'en est encore qu'à ses balbutiements mais j'ai espoir qu'il permette rapidement d'utiliser quelques BAPI simples dès que les conversions des types simples (String, Integer, Date) seront opérationnelles.

A très bientôt !

lundi 1 novembre 2010

Compilation d'annonces du SAP TechEd 2010

Même si je ne fais malheureusement pas partie de ces heureux, de nombreux professionnels du monde SAP se sont réunis à l'occasion du SAP TechEd 2010 à Las Vegas.

Parmi les grandes annonces : l'émergence du In-Memory et du HANA (High-performance Analytics Appliance). Mais je vous propose de laisser ceci de côté tant la perspective de voir ça chez nos clients est disons... lointaine.

Par contre, je vous invite à vous pencher sur quelques unes des révélations que certains SAP Mentors ont pu consigner dans leurs billets (références à la fin de ce billet) telles que :

Arrêt du développement de Web Dynpro Java

Naturellement, WDJ va continuer à exister dans le monde SAP pour encore quelques belles années (9 ans à la date de rédaction de cet article) mais la fin des évolutions de cette technologie est annoncée pour NetWeaver 7.3. On l'avait doucement senti venir avec une compétition avec Web Dynpro ABAP qui tournait ces derniers temps franchement à l'avantage de ce dernier (POWL, Floor Plan Manager, ...)
-> pour ceux qui veulent revoir un comparatif, voir la fin de ce document "FAQ WDJ vs WDA" et celui-ci ""SAP NetWeaver UI Infrastructure"

A n'en pas douter, l'abandon de WDJ se fera au profit de technologies Java plus "ouvertes" (JSF, HTML5...).
Enfin, avec le rachat de Sun par Oracle, doit-on craindre une certaine défiance de SAP vis-à-vis des technologies Java... ?

Arrêt du développement de Visual Composer

Ceci est beaucoup plus étonnant pour ceux qui ont suivi les grands changements opérés sur Visual Composer encore très récemment (intégration de VC dans NWDS, avec BPM). Mais d'après SAP, VC aura atteint une maturité à l'issue de NetWeaver 7.3.
Rappelons que VC n'a pas d'équivalent : aucun autre outil dans le monde SAP ne permet de créer des applications composites aussi vite (et aussi bien). Ce serait dommage de ne pas lui voir un remplaçant dans le long terme.

Ceux qui étaient là à cette époque (bon ok, ça date de 4-5 ans !) se souviendront sûrement de Guided Procedures qui avait connu un revirement pour le moins rapide aussi !!

Déclin de l'AS Java pour une utilisation SAP pure

Pour ceux (comme moi) qui évoluent dans le monde HCM et donc dans l'ESS/MSS, cela est d'autant plus vrai. En effet, avec le transfert progressif de la technologie WDJ vers WDA pour ce Business Package, il devient de moins en moins utile de monter une stack Java.
A l'horizon ERP 6.0 Enhancement Package 5, l'ensemble des services ESS/MSS aura été migré sur WDA. Mais le Portail me direz-vous ?! Et bien, je ne serai pas surpris que l'on dispose d'une interface WDA pour le remplacer...

Mise à jour 18-Jan-2011 : et non, ce sera NetWeaver Business Client qui remplacera (avnatageusement ?) le Portail !

Duet Enterprise : le nouveau challenger ?

Concernant celui-ci, j'ai un petit doute où alors il va sérieusement falloir réviser l'architecture car c'est un vrai cauchemar à administrer aujourd'hui.

Cap sur la mobilité !

Avec le rachat de Sybase et la tendance du marché, les applications mobiles sont à la fête. Le combat risque de faire rage sur ce secteur très convoité et quasiment vierge encore aujourd'hui. A quand votre application de saisie de congés directement sur votre mobile ?

Un recentrage de NetWeaver BI sur la stack ABAP

Quand on connait les efforts consentis par certains clients lors du passage à NetWeaver 7.0 côté BI, cela pourrait faire des remous...


Quelques billets (en anglais) sur ce SAP TechEd :

  1. NetWeaver is dead. Long Live NetWeaver!
  2. Kiss of Death for Web Dynpro Java – The Follow-Up Questions
  3. Video Blog: The Future of SAP Java UIs - Breaking News and Customer Dialogue from SAP TechEd Las Vegas
  4. Impressions from SAP TechEd 2010 Las Vegas
  5. Fear and Loathing.....at SAP TechEd 2010?
  6. The death of Web Dypro Java has been greatly exaggerated...
  7. Additional Feedback on the Recent Message Pertaining to the Future Focus of Web Dynpro Java and Visual Composer

samedi 25 septembre 2010

Détendez-vous avec CashMachine !

Mise à jour (08-Janvier-2012) : CashMachine est passé sous OpenFeint et AGON Online a fermé le 30 Juin 2011 donc le badge ne fonctionnera plus... mais les enseignements tirés restent valables !!

Une fois n'est pas coutume, laissons SAP de côté et regardons une application - CashMachine - qui se décline en Flash et sur iPhone (avec une conversion du Flash en application iPhone via le Packager for iPhone d'Adobe ??)
Il ne s'agit d'une application toute récente mais on me l'a fait découvrir la semaine dernière.  ;-)

CashMachine

Les scores sont disponibles sur AGON Online.


Le petit badge que vous voyez ci-dessous est loin d'être anodin car il a fallu :

  1. attaquer l'API REST de la plateforme AGON (chaque application dispose de son propre ID application_id avec des catégories de score leaderboard_id différents par jeu)
  2. effectuer un appel JSON depuis l'application Flex
  3. encapsuler l'appel JSON dans un appel YQL pour pouvoir contourner les restrictions liées au crossdomain.xml
  4. contourner 2 bugs (sur encodeURI avec HTTPService et sur YQL qui renvoie une chaîne JSON bien étrange lorsque le JSON initial est complexe)
Un outil bien utile pour analyser le flux JSON : http://json.parser.online.fr/

Mais au final, vous avez un badge qui se met à jour automatiquement au chargement de ce billet !  :)
Vous pouvez faire de même sur votre site puisqu'il suffit de changer le paramètre FlashVars.
Pour ceux qui voudrait récupérer le projet Flex 3...

Le principe est à mi-chemin entre un Tetris et un Bejeweled (pour l'aspect graphique surtout) et consiste à aligner au moins 3 objets de nature identique pour les voir se transmuter en un objet de niveau immédiatement supérieur. Le jeu se complique donc au fur et à mesure car la variété des objets augmente progressivement.


Pour les possesseurs d'iPod Touch, d'iPhone et d'iPad, il existe une version gratuite (avec un bandeau publicitaire) et une version payante.

A noter l'intégration avec la plateforme Agon pour partager vos scores avec vos amis.



Voilà, bonne détente !

Ah une dernière chose, si comme moi vous trouvez étrange que le score diminue par moment, c'est normal ! Le jeu ne comptabilise pas la façon dont vous progressez (vous faîtes des combos par dizaine) mais seulement la valeur des objets à chaque instant. Ainsi chacun peut jouer de la manière qu'il préfère. Et puis, si vous faîtes des combos, dîtes-vous que vous avez plus de place pour mettre des objets de plus grande valeur pour la suite...   8oD

Mise à jour (26-Mars-2011) : suite à une modification du flux JSON par AGON, j'ai dû recompiler le Flex

PS : je ne suis nullement affilié avec les créateurs de ce jeu. Il ne s'agit pas d'un billet rémunéré !!  ;-)

samedi 14 août 2010

Google arrête le développement de Google Wave

J'ai été surpris (sinon choqué) d'apprendre l'arrêt du développement de Google Wave à propos duquel vous avez pu lire plusieurs billets au sein de ce blog.

Manque d'engouement de la part du public (sûrement mais pour certains professionnels un enthousiasme réel) ?
Défaut d'explication et de promotion du produit ?
Trop innovant ?
...

Google nous promet de réutiliser des parties de la technologie Wave dans d'autres produits (Gmail et GTalk en premier lieu, le futur produit concurrent de Facebook "Google Me" ?), l'avenir nous dira quel sera le niveau de ce "sauvetage".

Pour ceux qui voudraient participer à une ultime tentative, vous pouvez signer la cyber-pétition à l'adresse : http://www.savegooglewave.com/

So long Wave...  :-(


Mise à jour 7-Septembre-2010

Le projet Wave In A Box redonne une nouvelle vie à Google Wave dans l'Open Source.
Reste à voir si la communauté saura réussir là où Google a échoué...

http://www.numerama.com/magazine/16668-google-wave-fait-son-retour-dans-le-projet-wave-in-a-box.html

Notons que dans la communication de Google, on voit que l'entreprise met en avant l'intéropérabilité que certains avaient réalisée avec la solution SAP StreamWork   ;-)
http://googlewavedev.blogspot.com/2010/06/wave-federation-keeps-growing-rich-text.html

samedi 3 juillet 2010

Où sont les SAP Management Console et Visual Administrator ?

Il arrive parfois (souvent) que sur la machine qui nous (prestataires) est confiée en clientèle, nous n'ayons pas le logiciel qu'il faut.
C'est toujours quand on s'aperçoit qu'on a besoin d'eux que le Visual Administrator, le SAP Management Console nous font défaut...

SAP Management Console

Heureusement, une applet Java est disponible pour le SAP Enterprise Portal à l'URL :
<protocol>:<server>:5xx13  où xx désigne le system ID

Par exemple: si vous vous connectez sur votre Portail à l'adresse http://portal.company.com:50000/irj/portal, alors vous trouverez la SAP Management Console à l'adresse http://portal.company.com:50013

Visual Administrator

Pour ce qui est du Visual Administrator, il faut de toute façon être Administrator pour pouvoir se loguer sur le serveur J2EE, mais il faut également lancer le soft : c'est souvent compliqué de le faire directement sur le serveur (Infogérance, ...)
L'une de mes méthodes préférées, mais qui ne fonctionne qu'avec une Dual Stack (ABAP et J2EE), c'est de copier le ficher .sda à l'aide de la transaction CG3Y (ou est-ce CG3Z) ou du module fonction 'ARHCHIVFILE_SERVER_TO_CLIENT'



Après récupération du fichier, on le décompresse (c'est un ZIP en réalité), et on lance Visual Administrator sur son poste. Enfin, on se connecte à distance sur le serveur J2EE.

mercredi 16 juin 2010

Coupe du monde de Football, SAP et RIA

Personne n'est à l'abri de la coupe du monde de Football en Afrique du Sud.
Je vous épargnerai la bande-son reposant sur les vuvuzelas...   ;-)

N'étant pas un grand amateur de foot, je me contenterai de parler de technos :

http://explorer.sap.com/html/Pages/index.htm  pour consulter les statistiques de foot

foot_sap

User : SoccerFan
Mot de passe : le laisser vide

Un superbe calendrier de foot en Flash !
http://www.marca.com/deporte/futbol/mundial/sudafrica-2010/calendario-english.html

foot_flash

Bon Foot !  ;)


Update (23 Juin 2010) : encore plus de contenu Flash autour de la Coupe du Monde dans ce billet (en anglais) de Serge Jespers
http://www.webkitchen.be/2010/06/23/world-cup-visualizations-powered-by-flash/

jeudi 20 mai 2010

StreamWork vs Google Wave ?

Google Wave a 1 an !

Vous avez pu lire de nombreux billets sur Google Wave il y a quelque temps maintenant mais Google Wave a peu fait parler de lui depuis qu'il a été dévoilé il y a 1 an lors de l'événement Google I/O.

Pour la suite, souvenez-vous que Google Wave est à la fois un Produit, un Protocole et une Plateforme.
Cette présentation réalisé à l'aide de l'outil Prezi rappelle les fondamentaux !  :)


SAP StreamWork, le concurrent ?

Et voilà que SAP (et sa "nouvelle" branche Business Objects) sort SAP StreamWork, un outil collaboratif - plutôt orienté aide à la décision là où Google Wave se veut plus général - plutôt bien ficelé mais dont l'intégration avec les solutions SAP existantes ne (me) semblent pas encore très poussée.

Je demande en effet à voir comment SAP StreamWork s'intégre au Portail SAP et ce que va devenir la brique Collaboration du SAP Netweaver Portal.



La complémentarité !

En réalité, en utilisant le protocole de communication de Google Wave, David Meyer de SAP a réussi à démontrer qu'il est possible de jeter un pont entre SAP StreamWork et Google Wave en "unifiant" une Activité (brique de base de SAP StreamWork) et une Wave (le "pendant" côté Google Wave)



Et voilà que 2 produits qu'on opposait finissent par se réunir... :)

Mise à jour (28 Mai 2010) : voir le blog de David Meyer sur SCN.

dimanche 2 mai 2010

Web Dynpro ABAP - Netweaver 7.0 et au-delà !

Je voulais partager cette vidéo, avec Thomas Jung au micro, que j'ai pu récemment consulter sur Mastering SAP Technologies en soulignant certains passages qui en intéresseront plus d'un !


Désolé pour la traduction approximative, mais j'espère avoir transcrit fidèlement - en substance, pas nécessairement mot pour mot - ce que Thomas Jung explique dans cette vidéo.

4'12"
Avec les Enhancement Package [...], SAP concentre dorénavant ses interfaces utilisateurs en Web Dynpro ABAP pour SAP Business Suite [NdR : cela inclut ECC 6]
...
Web Dynpro ABAP sera désormais l'outil de développement d'interface utilisateur pour SAP Business Suite
...
Certains composants ont été développés dans le passé en Web Dynpro Java (par exemple : ESS/MSS), en raison de l'implémentation de la logique côté ABAP, les clients souhaitaient disposer de l'interface utilisateur en Web Dynpro ABAP, et nous avons pris la décision de réécrire les applications ESS/MSS de Web Dynpro Jaba en Web Dynpro ABAP

5'13"
Web Dynpro Java sera surtout utilisé dans le middleware (Portal, MDM et applications composites)

13'05"
(Explications autour des Enhancement Packages)

15'50"
Les Enhancement Packages pour SAP Business Suite sont livrés désactivés.
Tandis que les Enhancement Packages pour Netweaver sont livrés activées.

18'15"
Il n'y a pas de programme magique qui nous permet de réécrire les interfaces en Dynpro classique en Web Dynpro ABAP. Ce n'est pas juste une conversion technique, nous redesignons les écrans.
...
Cela conduit à utiliser plusieurs clients : SAP Gui et votre navigateur, ce qui engendre une rupture dans l'expérience utilisateur et la gestion des sessions.
--> SAP Netweaver Business Client (cf. mon billet précédent)

22'58"
Dans les derniers Enhancement Packages, nous avons complètement réécrit le Rendering Engine ... en intégrant AJAX ce qui permet une interface plus réactive en récupérant les données côté serveur de façon asynchrone.
...
Cela rend possible le réarrangement des éléments d'une page, le Glisser/Déposer, etc...

30'48"
Nous avons ajouté un éditeur graphique (inspiré de celui des Web Dynpro Java sur Eclipse) pour les Windows en Web Dynpro ABAP

33'03"
Il est maintenant possible d'avoir plusieurs Cell Editor par colonne dans le composant Table. Par exemple : une ou plusieurs icônes et un lien, là où il aurait fallu utiliser plusieurs colonnes dans le passé.
Des filtres avancés montrent (de façon analogue à Excel) les valeurs possibles pour cette colonne.

34'15"
Nous avons racheté cette petite compagnie appelée Business Objects [Ndr : LOL !! Une petite compagnie de + 5000 salariés, rachetée pour près de 5 milliards d'€ :-D]

39'50"
(Meilleure gestion des tables dans les Adobe Interactive Forms avec l'ajout/retrait dynamique de lignes)

41'50"
Les Islands (Flash, Silverlight) doivent être des compléments à Web Dynpro lorsque l'expérience souhaitée n'est pas possible avec Web Dynpro.
(Les HTML Islands seraient disponibles pour Web Dynpro Java seulement et à partir de Netweaver 7.2)

44'55"
Les applications étaient jusqu'à présents dépendantes les unes des autres au niveau du Portail [NdR : EPCF].
La gestion des événements entre iViews a été revu avec le concept de Wiring et ses "Chips" côté Web Dynpro ABAP : les composants exposent des interfaces permettant à la création d'applications mashup - à travers un éditeur de page - regroupant certains composant qui n'ont pas besoin de se 'connaître' pour communiquer.

50'50"
(Floor Plan Manager : la beauté de la Configuration des applications Web Dynpro avec un grand 'C')



Je vous laisse regarder l'intégralité de la vidéo, très instructif !!

jeudi 29 avril 2010

1K Visites !

Google Analytics l'atteste : YABON a franchi la barre du millier de visites et des 600 visiteurs uniques au mois d'Avril, après 8 mois d'exploitation.

visites_yabon

Merci à tous !

A très bientôt pour de nouveaux billets sur Netweaver, ABAP, les RIA...

mardi 6 avril 2010

SAP Netweaver Business Client 3.0

SAP NWBC 3.0

SAP Netweaver Business Client 3.0 est le nouveau client lourd (ou riche suivant les goûts) qui succédera au SAP Gui pour les utilisateurs finaux (pas pour les développeurs / paramétreurs).

nwbc_capture

Noter la navigation horizontale avec des items personnalisables qui reprennent votre menu initial.

Les pré-requis :
  • SAPGui 7.10 patch 15+
  • Microsoft .Net Runtime 3.0+
  • SAP Netweaver 7.0 Support Package Stack 21 OU SAP Netweaver 7.01 Support Package Stack 06
Officiellement, il me semble avoir lu que NWBC 3.0 ne serait disponible pour ECC qu'avec SAP Netweaver ABAP 7.2 ou 7.02...c'est pourquoi un contrôle en dur dans le code vous empêche de lancer le Netweaver Business Client 3.0


La version SAP Netweaver ABAP 7.02 n'étant pas forcément accessible au plus grand nombre, je vous propose "l'astuce suivante" si vous avez la 7.0 ou 7.01 (non testé sur cette dernière) : modifier la méthode CL_NWBC_RUNTIME=>GET par un Enhancement en début de code pour contourner le contrôle de la version.
nwbc_class_get

Mise en garde
Je ne garantis nullement les conséquences de cet Enhancement sur l'utilisation du Netweaver Business Client ! Comme disent les anglais : "Use it at your own risk".

Le NWBC 3.0 est à télécharger sur http://service.sap.com/swdc dans les SAP Frontend Components

samedi 13 mars 2010

Transaction SE16N et &SAP_EDIT

Transaction SE16N

Depuis quelque temps, la transaction SE16N (et même 'N' ou 'V' avant que SAP ne supprime ces transactions par le biais de la note OSS n°1115699 ) est bien utile !!
Elle contient notamment une fonctionnalité de gestion des entrées de table qui rend de fiers services lorsque la table n'a pas d'écran de maintenance.
Étrangement, cette transaction est rattachée non pas au module BC (Basis) mais au module CO-OM.

La disparition du &SAP_EDIT ?

Mais voilà, pour des raisons de "sécurité", SAP a décidé de supprimer cette fonctionnalité accessible par le OK code '&SAP_EDIT' (voir note OSS n°1420281).

La raison invoquée est assez surprenante :
" ... Due to the circulation of this function in the Internet, security breaches have been detected in the customer authorization concepts. ... "

Personnellement, je suis d'avis de dire que le problème de sécurité était déjà présent et qu'il était seulement inconnu du grand public. Cela donne un faux sentiment de sécurité car un individu expert SAP et mal intentionné (y en a-t-il seulement un de cette espèce ? :)) sera en mesure de causer bien plus de dégâts !
Par ailleurs, il y a d'autres fonctions sensibles qui sont protégés par des objets d'autorisation dédiés (par exemple : la fonction de suppression de matricule du programme RPUDELPP et l'objet d'autorisation P_DEL_PERN).
En effet, c'est illusoire de penser "protéger" l'accès à une fonctionnalité sensible dans un système simplement en n'en disant mot alors que le code source est visible de tous !

Enfin, pourquoi ne pas avoir limiter cette interdiction aux seuls systèmes productifs (cf. programme RPUDELPP à nouveau) et laisser la possibilité au développeur de facilement manipuler les contenus de table en Dév ou en Recette ?

Une solution ?

Pour ceux qui voudraient accéder à cette fonctionnalité (qui n'a pas été complètement éradiquée mais simplement rendu inaccessible en supprimant l'accès par le OK code &SAP_EDIT), il y a des solutions de contournement plus ou moins "persistantes" :

  • la transaction UASE16N (diantre, mais pourquoi la note de sécurité n'a pas inclus cette transaction ?!)
    Mise à jour 09.06.2012 : c'est désormais le cas avec la note OSS 1473881
  • le bon vieux debug : vous pouvez toujours entrer en debug et modifier la valeur des variables gd-sapedit et gd-edit à 'X'. 
  • utiliser le module fonction standard 'SE16N_INTERFACE' en SE37 car il contient les paramètres d'entrée edit et sap_edit qu'il faut positionner à 'X'. Par contre, pas d'écran de sélection, il vous faudra utiliser les filtres ALV...
    (Ceci n'est a priori valable que sur un système avec un SAPKH* assez ancien comme sur les systèmes purement HR car la note indiquée ne concerne que l'include et pas l'Interface. Mais il y a d'autres notes qui 'corrigent' ce comportement pour ce module fonction)

Une solution plus "élégante" est l'utilisation d'un Enhancement au niveau de l'include LSE16NF10 et de la routine fill_picture (qui n'est d'ordinaire utilisée que par SAP !). En rajoutant, en début de routine le code suivant : 
PERFORM fill_sap_edit.
RETURN.
vous retrouvez notre fonctionnalité, désormais accessible par &SAP_PICTURE plutôt que par &SAP_EDIT.  ;-D

Cette solution peut même être transportée et concerne l'ensemble de la population et pas seulement les développeurs (contrairement au debug et à la transaction SE37).

Le retour du &SAP_EDIT

Mise à jour 09.06.2012 (merci à Christophe B. pour l'info)
Vous pouvez également utiliser la note OSS 1446530 pour réactiver le &SAP_EDIT avec un objet d'autorisation filtrant les accès (comme quoi...)

Pour terminer, rappelons que les modifications faites via les outils "SE16N" au sens large sont loguées dans les tables SE16N_CD_KEY et SE16N_CD_DATA !

samedi 16 janvier 2010

Web Design : le cauchemar des navigateurs

C'est la hantise de tout web développeur : devoir jongler avec les subtilités et spécificités des navigateurs Web.
A tel point que nombre de professionnels veulent "la peau d'Internet Explorer 6" !!

CSS et Javascript

Là où le bât blesse, c'est sur la prise en charge des CSS ([WebDevout] et [Quirksmode]) et (dans une moindre mesure ?) sur la gestion du Javascript ([Robert Nyman] et [Quirksmode])que les navigateurs ne prennent pas en charge au même niveau. Microsoft - qui avait le champ libre après la fin de la guerre IE - Netscape n'a pas vraiment contribué à respecter les standards que le W3C et l'ECMA avaient rédigés.

RIA et API Javascript épargnées ?

De par la couche supplémentaire d'abstraction qu'elles apportent (machine virtuelle Adobe Flash Player ou Silverlight, librairies Prototype ou jQuery, ...), elles réduisent fortement ces "nuisances".
Mais quand on développe de façon "plus classique", comment voir le rendu de son site web sur différents navigateurs ?

Web Testing

En première intention, on s'en installe 2-3 sur son poste et on regarde ce que ça donne. Certes, mais installer plusieurs versions d'Internet Explorer sur son PC n'est pas forcément une partie de plaisir.
Et puis, si vous voulez tester différents OS, faut-il installer autant de VM ?

Une (la ?) solution : utiliser certains logiciels qui se chargent d'exécuter votre page Web sur plusieurs combinaisons de navigateurs / OS.




Voici une liste de solutions :
http://browsershots.org/
http://browserlab.adobe.com/

lundi 9 novembre 2009

Intéropérabilité Surface et SAP HR

Voilà quelque temps maintenant que les équipes d'Alti ont développé un projet de R&D autour de :
- la table Microsoft Surface
- un serveur SAP ECC 6.0 intégrant des données HR

Dernièrement, ce projet a été revisité pour lui donner un look "Vista".

Je vous laisse admirer le résultat dans la vidéo ci-dessous ! ;-)

vendredi 6 novembre 2009

Première wave publique

Après les nombreux billets traitant de Google Wave dans ce blog, je ne pouvais résister au plaisir d'y intégrer ma première wave publique

dimanche 18 octobre 2009

Flash Islands et Carte de France en Flex

La technologie Flex commence vraiment à faire des émules ! Même SAP s'y est mis en proposant les Flash Islands qui sont des "îlots de liberté" dans un Web Dynpro très contraignant en terme de design et même d'ergonomie. :)

J'en profite pour ressortir une carte de France que j'avais réalisée en Flex (voir le blog sur SDN) à l'aide de la librairie Degrafa. A l'époque, pas de Flash Islands, l'intégration avait été, de fait, un peu plus compliquée.

Noter sur cette application Flex (ouvrir dans une nouvelle fenêtre), en les sélectionnant par un clic de souris, comment les départements de l'Île-De-France sont doublement liés : sur la carte générale d'une part, et sur la partie zoomée d'autre part.


Utilisée dans un scénario ESS de Mutation de salarié, elle permet à ce dernier de choisir ces préférences de département.


Néanmoins, SAP préconise de ne pas intégrer plus de 3 Flash Islands sur une même page pour des raisons de performance. D'autres préconisations.