Caveat : Comme dirait Kooorrg[1], « cet article contient 88,8% de râlage. »

3.0

Si les versions « clients lourds » (des programmes Windows) traînent encore chez de nombreux utilisateurs qui n’ont pas jugé utile de payer très cher une migration, les installations les plus récentes de BO utilisent la version BO XI R2 SP3 (voire SP4). Après deux ans de débogage, cette version plante encore parfois dix fois par jour selon la configuration, l’origine du rapport (migré ou nouveau ?), et les phases de la lune. Sous IE comme sous Firefox, pas de jaloux.

Il y a peu est sortie une version qui aurait dû s’appeler BO XI R3. Mais, tout comme son « père » spirituel Microsoft, Business Objects est pathologiquement incapable de se tenir à une numérotation de versions définitive. La nouvelle version est donc BO XI 3.0 (mais les noms de répertoires indiquent une version 12). (Ajout de juin 2011 : Et ça continue : la version actuelle est la XI 3.1 SP3, et la prochaine qui immine… BO 4 tout court : fini le XI !)

L’ancienne version R2 (en fait 11.5) se distinguait par une pléthore de services Windows (ou démons Unix) lancés en rafale (et pas toujours dans l’ordre qu’il aurait fallu, il faut se réécrire le script de lancement correct...) au démarrage du serveur, et aux noms assez obscurs (pour mieux se camoufler dans la jungle des autres services Windows). En XI 3.0 on arrive à l’autre extrême de deux services (dont un est Apache/Tomcat).

Les personnes qui ont conçu l’interface web de gestion des droits de R2 devraient être fusillées. Par contre en 3.0, mes collègues plus expérimentés m’affirment qu’il y a de nets et gros progrès (Mise à jour du 17 septembre : C’est vrai, je l’ai vu.). Le bon côté est que la logique a tellement changé qu’il faut refondre tous les droits. (Oui, c’est le « bon côté » pour le prestataire qui facture, pas l’administrateur du client.)

XI 3.0 offre un petit gadget sympa qui aurait dû être présent dans les versions du XXè siècle de BO, vue la clientèle assez multinationale : la traduction des objets dans les univers. La technique est « préhistorique » (dixit mon gourou) mais cette fonctionnalité ne nécessite réellement pas autre chose que de permettre à un traducteur de remplir une colonne de texte.

Schizophrénie web

Revenons à la R2 :

Ce n’est pas apparent, et BO ne le hurle pas aux clients : le portail web principal de BO, l’Infoview, est une abomination pour deux raisons :

D’abord le code est glauque : de l’ASP ou du JSP génère des pages au HTML bancal pleines de <table> pour le formatage (beûrk !), utilisant les feuilles de style au petit bonheur, avec différents éléments au sein d’un frame (re-beûrk !) qui communiquent par des palanquées de code Javascript. Essayer d’adapter le portail aux désirs ergonomiques souvent justifiés d’un client est plutôt hasardeux.

Ensuite, comme dit à l’instant, c’est de l’ASP ou du JSP : il existe DEUX versions de ce portail, codées chacune dans un langage. Oui, BO est bipolaire. Le choix entre les deux versions est très simple :

  • En Java on peut tout faire, c’est la solution recommandée par tous ceux que je connais qui ont creusé la question. Ne rien connaître au Java à la sauce Tomcat sous-jacent ne gêne pas, car le fonctionnement de BO est une boîte noire (et le peu qu’on en voit ne donne pas envie de creuser plus). Toutes les bases de test et de démo que j’ai rencontrées utilisent cette version Java, et pour adapter le produit, on trouve du monde connaissant le SDK Java (en tout cas dans ma boîte).
  • En .Net certaines options ne sont pas utilisables, notamment tout ce qui a trait aux web services (un truc très à la mode sur lequel se basent plein d’outils). Dans les comparatifs par rapport à la version Java, la version .Net n’a aucun avantage majeur autre que l’éventuelle disponibilité de gens dans l’entreprise qui ont été endoctrinés par Microsoft plutôt que Sun si on veut personnaliser le portail web, et une meilleure mais non exclusive intégration du « SSO » (Single Sign On, un sigle barbare qui signifie que le navigateur de l’utilisateur n’a plus besoin de se rappeler des mots de passe des nombreux sites web de l’intranet de l’entreprise).

Devinez ce qu’avait installé mon client, qui à présent veut rentabiliser son investissement avec les outils annexes basés sur les web services ? Murphy a bien rigolé quand j’ai découvert les petites lignes dans les épaisses documentations d’installation qui renvoyaient à la version Java pour telle ou telle fonctionnalité.

Il serait techniquement et théoriquement possible d’installer les deux versions à la fois sur une même machine, elles vivent bien côte à côte. Vue la stabilité de la bête, je sens que ça va quand même finir en désinstallation et réinstallation. En effet, le comportement du programme d’installation est bien connu, à l’installation justement. En modification d’installations existantes, il tient de la roulette russe. Ou alors je lui provoque une allergie. (Mise à jour de septembre : C’est moins pire en SP3 qu’en SP2 où c’est catastrophique.)

Et puis les bugs du jour

Citons quelques bugs parmi ceux que j’ai découverts récemment :

  • Les rapports Webi ne sont pas forcément compatibles d’une version à l’autre de XI R2. Mon client utilise le SP2, moi le SP3 (à l’époque je n’avais que ça sous la main). La plupart des rapports que j’ai conçus et que je lui ai envoyés plantent à l’ouverture (message abscons WIS 30270 habituel) : il y a un changement de format et la compatibilité descendante... BO s’en branle. Donc pression sur le client pour mettre à jour son BO en SP3, ce qui est toujours délicat. Évidemment j’avais testé au début, avec succès... (Mise à jour de septembre : En supprimant les invites des rapports, le transfert fonctionne, mais d’autres parties semblent bizarrement corrompues... Le mot d’ordre est donc plus que jamais : migrer au SP3 ! (Voire à XI 3.0 clame mon gourou personnel.) )
  • Un BO XI R2 SP2 fraîchement installé dans sa boîte virtuelle fonctionne très bien. En y accédant depuis le navigateur de la machine hôte, Webi fonctionne bien aussi... jusqu’au jour où je demande à exécuter des requêtes possédant des invites : sablier jusqu’à la fin des temps ou Escape, mais je n’aurai jamais mes résultats. À reproduire...
  • Si le nom du serveur BO change, il faut détruire et recréer manuellement tous les services avec leur ligne de commande à rallonge. Ça ne se scripte pas facilement. Non il n’y a pas de fichier de configuration basique avec le nom du serveur à UN endroit, ce serait trop simple.

De BO à SAP

Enfin une dernière abomination pour finir : après le rachat de l’an dernier, BO a enfin été intégré à SAP (l’éditeur-monstre allemand qui tente de gober tout ce qui passe à portée et que son ennemi mortel Oracle n’a pas déjà racheté). Et ça fait très mal.

Le site de support n’a pas été que recoloré, il a été déplacé dans le domaine de SAP. Tous les liens vers la base de connaissance depuis les sites extérieurs ou depuis les signets, sont morts. À la mode SAP, l’ancienne page de support de BO disserte sur deux pages de verbiage sur leur nouveau site qui est plus mieux, et fournit un PDF de 42 pages (!) sur la manière de naviguer sur le nouveau site. SAP n’a jamais su faire dans le synthétique.

On va être positif, leur site actuel a l’air nettement mieux fichu que celui que j’ai connu il y a quelques années quand je bossais sur R/3... Et ouf, contrairement à une première impression, la documentation autrefois librement téléchargeable de BO est toujours disponible (Mise à jour de septembre : Partiellement... ).

Je sens que la transition de BO à SAP va rendre le produit de plus en plus pénible à utiliser malgré ses qualités intrinsèques...

Notes

[1] Lequel se fait trop rare d’ailleurs.