Lettre Mensuelle de septembre - Société RePeGlio :
Après tant d’années, ni Java, ni EGL, ni PHP n’ont réussi à remplacer *valablement* la plateforme IBM i et son langage phare le RPG. Selon nous, l’explication tient à la nature même des applications de gestion.
En effet, contrairement à une idée reçue, ce n’est pas à cause du RPG que le programme dirige les transactions.
Afin d’y voir clair, nous avons choisi un exemple d’application de gestion typiquement Back Office qui a le mérite d’être connu de tout le monde. En effet, les distributeurs de billets ont pour fonction de remplacer une application de gestion Back Office jadis effectuée par un employé de banque derrière son guichet à la demande du client. Le distributeur automatise la remise des billets avec mise à jour du compte bancaire du client.
Nous remarquons que l’utilisateur doit suivre scrupuleusement les instructions une à une à mesure qu’elles s’affichent à l’écran en trois grandes étapes:
1) Insérer la carte et saisir le code
2) Entrer le montant souhaité
3) Retirer la carte puis les billets
Le fait que le programme dirige la transaction et non l’utilisateur, n’est pas dû à la technologie RPG sous-jacente, mais à la nature même du traitement. En effet, si l’utilisateur pouvait gérer la cinématique du traitement à sa guise, il lui serait possible de tirer les billets de suite sans insérer de carte, ce qui plairait aux clients, mais nos amis banquiers pourraient diversement apprécier ce genre de nouveauté. L’informatique de gestion persistante ménage les deux parties : c’est pourquoi des millions de distributeurs de billets de centaines de pays fonctionnent tous de la même manière.
Bien entendu le distributeur de billets dispose de nombreux boutons tout autour. Simplement si le client s’amuse avec comme un jeu vidéo, non seulement il n’obtient pas ses billets, mais la machine pourrait même avaler sa carte. L’informatique de gestion persistante dirigée par programme dite « program driven » diffère fondamentalement de l’informatique dirigée par l’utilisateur dite « event driven ».
80% de l’informatique de gestion est persistante par nature et il serait faux de croire que cette persistance est due au couple IBMi+RPG. Bien entendu, PHP ou EGL savent gérer la persistance et le multi-utilisateur, mais par exception, à la charge du développeur, moyennant divers mécanismes.
Pour prendre un exemple similaire, un plongeur en scaphandre autonome nage avec autant d’aisance qu’un poisson. Cependant, il y a très peu de maisons sous la mer alors que les océans occupent 80% de la surface du globe alors même que les océans devraient détenir 80% des ressources de la planète. La raison est que pour vivre sous l’eau, il faut pouvoir respirer de l’eau de façon native. Pour faire de l’informatique de gestion Back Office persistante en environnement multi-utilisateurs, il faut un système propriétaire qui a été créé dès l’origine pour ce type d’environnement.
L’équation à résoudre pour EGL ou PHP relativement à 80% de l’informatique de gestion persistante est la suivante : faire avec « divers mécanismes » aussi bien que l’IBMi+RPG conçu dès l’origine avec : une base de données intégrée + un espace adressable unique + une architecture orientée objet + une gestion des travaux + une indépendance de l’interface machine, le tout étant intégré. Comme le dit le célèbre expert IBM i Aaron Bartell : « N’oublions pas que les clients avaient choisi l’AS/400 pour trois raisons : premièrement pour l’intégration, deuxièmement pour l’intégration, troisièmement pour l’intégration. » Les divers mécanismes de substitution à la charge du développeur chers à EGL ou PHP ressemblent à du bricolage au coup par coup par comparaison.
Par contre 20% de l’informatique de gestion Front Office est par nature gérée par l’utilisateur qui navigue en fonction de ses envies du moment. Comme exemple connu nous avons les boutiques en ligne où l’utilisateur choisit les articles et remplit son panier. Techniquement, le panier en question est un fichier temporaire stocké dans la mémoire locale du navigateur lui-même et non sur le serveur. Il est facile de s’en assurer : il suffit de vider la mémoire du navigateur pour vider du même coup le panier en question.
Le Back Office de gestion multi-utilisateur se fait sentir lorsque vient le moment de payer la facture des achats en ligne avec la carte bancaire. Là, il n’est plus question de flâner au hasard des pages. Il faut obéir aux instructions une étape après l’autre. Nous entrons alors dans l’univers sous contrôle de la persistance multi-utilisateur dirigée par programme : il faut alors rester concentré jusqu’au bout.
Pour ceux qui connaissent le RPG, faut-il forcément apprendre un nouveau langage comme PHP ou EGL pour faire de l’informatique de gestion Full Web pilotée par l’utilisateur ?
La technologie CGIDEV2 d’IBM gratuite, ajoute des instructions complémentaires Web au RPG, et permet à ceux qui connaissent le RPG de capitaliser sur le langage. Ainsi, il est possible de réaliser en Full Web une partie des 20% pilotés par l’utilisateur comme un catalogue en ligne avec photos, des saisies de notes de frais sur internet, ou des critères de sélection devant des consultations en ligne. Il ne faut pas oublier que le serveur Apache standard est intégré à l’IBM i.
Les défauts de l’IBM i sont bien connus, aussi nous ne nous y attarderons pas. Finalement, nous avons assez de recul aujourd’hui pour constater que cette plateforme unique est, à notre connaissance, la seule au monde adaptée à l’univers de la persistance, mais elle peut aussi traiter une bonne partie des 20% en Front Office, cela avec le RPG et les mêmes équipes informatique.
Dans le fond, cette plateforme i est supérieure pour l'informatique de gestion parce qu'elle y est dans son élément.
Jean Mikhaleff / RePeGlio
RePeGlio est une société spécialisée en nouveaux développements automatiques de programmes RPG traditionnels et Full Web sur IBM i. Développement automatique direct : Sources générés propres, pas de surcouche.
Pour un commentaire libre ou pour abonner quelqu'un à la newsletter, vous pouvez envoyer votre message à cette adresse : Jean@repeglio.com