22/08/2024

News from Cotonou, Benin

Up until now, the 𝐰𝐞𝐛𝐌𝐞𝐭𝐡𝐨𝐝𝐬 community platform has been hosted on the 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐀𝐆 website. However, with the recent acquisition of webMethods by IBM, it's certain that the new forum will be moved to the IBM website.

I'm curious to see how this migration will unfold and what the traffic will be like on the new IBM forum, especially as people continue to post about webMethods on the Software AG Tech Forums.

⏩webMethods Tech Forum on Software AG: https://lnkd.in/eexRmvJ

⏩webMethods Tech Forum on IBM: https://lnkd.in/e6xS4cTH

PS: This post has been published on LinkedIn on August 22, 2024 [1].

17/08/2024

News from Dakar, Senegal

 A few days ago, I received an email from the IBM Automation Team about 𝘄𝗲𝗯𝗠𝗲𝘁𝗵𝗼𝗱𝘀. Later, I got a LinkedIn message and missed a phone call due to many things I was handling before vacation. 

Today, I had a 6-minute phone conversation with one of the IBM Automation Experts. We discussed my feedback and questions I have on webMethods.

Even though today is my first day of vacation and I had the conversation from the hall of 𝐵𝑙𝑎𝑖𝑠𝑒 𝐷𝑖𝑎𝑔𝑛𝑒 𝐼𝑛𝑡𝑒𝑟𝑛𝑎𝑡𝑖𝑜𝑛𝑎𝑙 𝐴𝑖𝑟𝑝𝑜𝑟𝑡 in Dakar, Senegal, I really enjoyed the conversation and felt honored to be called.

📢 FYI: I have been elected as a 𝘄𝗲𝗯𝗠𝗲𝘁𝗵𝗼𝗱𝘀 𝗚𝘂𝗿𝘂 since June 2024.

PS: This post has been published on LinkedIn on August 7, 2024 [1].

17/07/2024

IBM bought webMethods from Software AG

In December 2023, IBM reached a definitive agreement with the German software editor Software AG to acquire webMethods, webMethods Super iPaaS, and StreamSets for €2.13 billion in cash. As of July 1, 2024, this acquisition is complete, and the majority of Software AG employees working on these products, including John Carter and Dave Pemberton, have joined IBM.

webMethods and StreamSets are among the leading technologies in application integration, API management, and data integration.

For IBM, this acquisition represents an exceptional opportunity to help their clients unlock the full potential of their applications and data.

With the acquisition of webMethods by IBM, it is time to change its designation in our various formal and informal discussions. From now on, let's say 𝐈𝐁𝐌 𝐰𝐞𝐛𝐌𝐞𝐭𝐡𝐨𝐝𝐬, 𝐰𝐞𝐛𝐌𝐞𝐭𝐡𝐨𝐝𝐬 𝐛𝐲 𝐈𝐁𝐌 or  𝐰𝐞𝐛𝐌𝐞𝐭𝐡𝐨𝐝𝐬 𝐝𝐞 𝐈𝐁𝐌 (𝑓𝑜𝑟 𝐹𝑟𝑒𝑛𝑐ℎ 𝑠𝑝𝑒𝑎𝑘𝑒𝑟𝑠) instead of 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐀𝐆 𝐰𝐞𝐛𝐌𝐞𝐭𝐡𝐨𝐝𝐬.

What do you think about this acquisition and the future of webMethods?


PS: This post is a combination of two posts I published on LinkedIn on July 12, 2024 [1], and July 17, 2024 [2].

15/07/2024

webMethods: A promotional video featuring me.

Dear Fellows,

Earlier this year, I was elected as a webMethods Community Champion by Software AG. This nomination recognizes my dedication and contributions to the webMethods Integration Community, where I have shared knowledge about integration issues. As a token of appreciation, I received a gift (i.e., a goodie) from the German company Software AG.

My manager at SII Maroc and the Communication team decided to shoot a promotional video on this topic and the gift I received. I humbly accepted, and the video has been published on LinkedIn.

I would like to thank Toni Petrov from Software AG Bulgaria, who managed the logistics of the gift, and my colleagues from the Middleware team at the headquarters of Crédit du Maroc in Casablanca. 






25/03/2023

La naissance des idées

Les avancées majeures de notre civilisation sont le fruit de rêves, de pensées et d'idées que des hommes et des femmes ont nourris et développés pour qu'ils deviennent réalités. Le besoin d'aller plus vite d'un endroit à un autre à faire naître plusieurs moyens de transport dont la voiture, le train et l'avion. Le besoin d'automatiser les calculs à fait naître les ordinateurs. Le besoin d'indexer efficacement des textes pour faciliter la recherche des informations a fait naître Google. Le besoin de faciliter les échanges entre les individus a fait naître Facebook et les réseaux sociaux. De même, le besoin d'épargner l'être humain de certaines tâches répétitives, difficiles ou rédhibitoires à faire naître l'envie de donner à la machine une certaine intelligence qui la guidera à prendre elle-même des décisions en tenant compte de son environnement et des contextes. Ce besoin guide actuellement les avancées que connaît le domaine de l'Intelligence Artificielle.

Aisément, on se rend compte que derrière chaque découverte, invention ou avancée scientifique ou technologique se trouve un rêve, des pensées et des idées. Les idées peuvent transformer la vie, la perception des choses et le monde. La question que l'on peut se poser est de savoir comment les idées se forment et se construisent. C'est à cette question assez facile en apparence mais complexe que le mathématicien français Cédric Villani essaie de répondre dans sa conférence TEDx La naissance des idées donnée à l'Olympia de Paris, le 6 Octobre 2012.

En effet, Cédric Villani est un mathématicien français de renommée internationale qui a reçu la médaille Fields en 2010, l'équivalent du prix nobel en mathématiques, décerné aux mathématiciens de moins de 40 ans. Dans sa conférence TEDx, il a parlé des ingrédients qui font naître des idées en sciences et les secrets derrières les découvertes. Il a répertorié sept ingrédients qui peuvent évoluer en fonction de la culture et de la technologie.

1. La documentation

C'est tout ce qui va nourrir le cerveau: les encyclopédies, les résultats d'expérience, les représentations de résultats, etc. Même les idées les plus révolutionnaires s'appuient toujours sur les travaux des prédécesseurs [1]. De nos jours, grâce à internet on a accès à une grande quantité d'information en ligne.

 2. La motivation

D'où vient la motivation ? Personne ne sait vraiment ce qui cause la motivation: un enseignant, un ouvrage, la volonté de contredire, de se mesurer. ll ne faut jamais sous estimer l'influence du défi et de l'amour propre dans la naissance des idées [4].

  • La motivation peut se transmettre: de l'enseignant à l'élève par exemple,
  • La motivation peut se découvrir: dans un livre pour enfant par exemple,
  • La motivation peut se trouver: dans les expériences par exemple, etc.
De nos jours, la motivation est la principale menace à la science.

3. Un environnement propice

Un environnement qui inspire et qui permet de développer les idées: conditions matérielles, conditions intellectuelles, etc. Un environnement où trouver des gens avec qui discuter. Cela peut être un laboratoire de recherche, un institut de recherche, la ville, etc.

Un chercheur isolé avec son idée, ca n'existe pas. La façon dont ont interagit avec son environnement est importante pour faire naître une idée [3].


4. Les échanges

Les échanges en face à face sont fondamentaux pour le début d'un projet. Mais pour développer l'idée et la faire avancer, de nos jours, il y a toute sorte de possibilités d'échange, les mails, etc.


5. Les contraintes

Les contraintes peuvent être au niveau scientifique mais aussi au niveau de la créativité. La contrainte peut être un élément de création. S'il n'y a pas de contraintes, il n'y a pas de créativité [1]. Les contraintes font grandir [3].

6. Le travail et l'intuition

Mélange, dosage savant entre le travail et l'intuition où alterne le travail dur et l'illumination inexpliquée. Sur le travail, Claude Shannon a théorisé les principales figures qui permettent de progresser les idées [1]:

  • la simplification,
  • l'analogie,
  • la reformulation,
  • la généralisation,
  • l'analyse structurelle,
  • l'inversion
7. La persévérance et la chance

La plupart des idées ne marchent pas. C'est normal et c'est comme ça. De temps en temps la chance permet d'en sauver une et c'est le départ d'une grande aventure. La chance vient de pair avec la persévérance. Il faut se mettre dans les conditions d'avoir la chance. Puis, il faut savoir l'exploiter et en tirer profit [1].


A travers ces sept ingrédients, Cédric Villani révèle la recette qui permet d'avoir des idées. Les idées sont faites pour être échangées librement. Les idées c'est les pensées. Mais celles-ci ont besoin d'être formalisées. Les ingrédients qui participent à la naissance des idées se retrouvent dans d'autres de ses conférences:

  1. Savant Mélange : Cédric Villani - D'où viennent les idées ? [Lien]

  2. Cedric Villani on Where does creativity come from ? [Lien]

  3. Conférence : La naissance des idées - Cédric Villani [Lien]

  4. Pour faire naître une idée - Cédric Villani, à l'USI [Lien]

  5. What's so sexy about math? | Cédric Villani [Lien]

01/04/2022

The motto: release early, release often

Five years ago, I've read a post (King's Day Speech) written by Guido van Rossum on his blog. As I've read it again recently, I would like to share with you the main key point of his post. 

People studying or working in computer science should be quite familiar with the name Guido van Rossum. In fact, he is the Dutch genius programmer behind the creation of Python programming language. Python is great and has regain a huge popularity nowadays with the rise of data science and applied artificial intelligence (machine learning, deep learning, etc.). If you are a developer or software engineer and you have never heard about Python, please stop reading this post and go sleep (hahaha 😄....). Else let's continue.

In his post, Guido points out that the success of the Python language relies on two principal points:

  1. the growing up of the internet in 1990.
  2. the motto: release early, release often.

By releasing early and often the python code to the community, the language core team benefit from the users experiences and feedbacks. Even if the internet was slow at that moment (year 1990), it helps them to have more members in the python community. People around the world, no matters where they live have access to the code and can give feedbacks. The feedbacks help the improvements and the growing of the language. 

This point out the sharing believe behind this language. They share their code to benefit from feedbacks. This believe helps the language to become what it becomes now: one of the most powerful and used programming languages in the world. The mind of sharing source codes and softwares are known today as open source and is popularized by the Free Software Foundation.

Back to today, Python is one of the first  programming language developed on the Internet, entirely open, by a community of volunteers and passionate programmers.  The moto release early, release often has helped the language to grow very fast. The same motto can be applied in many others fields. For example, many sub-projects in Java world also implement this motto. Furthermore in project management in general, release early the PoC (Proof of Concept) of the product can help get the first feedbacks from the clients and deliver later a product that fits the needs of the client. 

26/03/2022

Java: un langage, une communauté et des versions

Java est un langage de programmation très populaire. Il est l'un des langages de programmation les plus utilisés dans le monde professionnel et universitaire. A cause de sa machine virtuelle JVM (Java Virtual Machine), Java peut s'exécuter sur différents systèmes d'exploitation sans modification du code source initial. Il implémente le paradigme write once, run everywhere.  La plateforme Java a la particularité de proposer trois versions: 

  • Java SE (Java Platform, Standard Edition): qui contient les APIs de base du langage, et permet de développer des applications desktop et de faire plein de petites choses.
  • Java EE (Java Platform, Enterprise Edition): qui étend Java SE pour permettre de créer des applications web et des services pour les entreprises.
  • Java ME (Java Platform, Micro Edition): qui contient des APIs pour développer des applications pour les systèmes embarqués et les mobiles. 
Avec ces trois versions, la plateforme Java peut résoudre presque tous les problèmes d'automatisation et de transformation numérique. Sa robustesse, son indépendance par rapport au système d'exploitation de la machine et son large éventail de librairies déjà disponibles dans la communauté font qu'il est très prisé dans le monde professionnel avec des offres d'emploi à foison et des salaires intéressants et compétitifs. Malheureusement, la prise en main du langage et son concept de base de POO (Programmation Orienté Objet) peuvent rapidement refroidir les ardeurs des nouveaux apprenants.

C'est évident que le langage est mature, solide, robuste et connaît plusieurs améliorations mineures et majeures depuis sa création dans les années 1995 par James Gosling et ses collègues au sein de la société Sun Microsystems (racheté en 2009 par Oracle). 

De nos jours, la communauté Java est toujours en ébullition. Le langage évolue rapidement en incorporant de nouvelles fonctionnalités et en supprimant d'autres dépréciées. Le langage fait de plus en plus la part belle à la PF (Programmation Fonctionnelle) qui a le vent en poupe. Historiquement connu pour être un langage purement orienté objet, Java devient de plus en plus fonctionnel. Va t-il un jour délaissé complètement la POO pour la PF ? Personnellement, je ne le pense pas. C'est toujours intéressant d'avoir plusieurs paradigmes de résolution de problèmes. Bien que Java se tourne vers le fonctionnel pour sa concision et sa productivité, nombreux sont les développeurs qui continueront à utiliser l'orienté objet en dur sans faire appel à la puissance du fonctionnel pour plusieurs raisons. Au nombre desquelles, il y a la difficulté de changer sa manière de programmer (surtout lorsqu'on y est habituée depuis plus d'une dizaine d'années). Il y aussi le problème de maintenance de plusieurs applications legacy qui sont certes refactorisables en fonctionnel, mais à quel prix ? Le client a t-il envie de débourser de l'argent pour un nouveau paradigme sans un retour sur investissement tangible ? Par ailleurs, la POO n'est pas totalement en opposition à la PF. Les deux peuvent bien évidemment se côtoyer en Java. C'est même sur cet axe que Java sillonne actuellement. 

Avec l'ébullition de la communauté Java, Oracle a annoncé une nouvelle cadence de la livraison des versions de Java. Il y a une nouvelle version de Java chaque 6 mois. La cadence est inspirée d'autres communautés open source dont la plus connue est Ubuntu. Pourquoi cette nouvelle cadence pour Java ? L'ancienne cadence des versions de Java était d'environ 2 ans. Malheureusement le passage de Java 7 à Java 8 a été un vrai défi et Java 8 a été livré avec 8 mois de retard environ pour régler des problèmes de sécurité. De même Java 9 a connu environ 18 mois de retard à cause de l'intégration du projet Jigswa (Java Platform Module System). Pour éviter donc ces nombreux retards répétitifs et éviter d'avoir toutes les nouveautés majeures avant la livraison d'une version, Oracle a décidé de la cadence de 6 mois: si une nouveauté est prête, elle est intégrée à la version sinon elle apparaît dans une version future. Donc chaque année, au mois de Mars et au mois de Septembre il y a aura une nouvelle version du langage. Cette nouvelle cadence n'est pas sans répercussions sur les utilisateurs de Java et sur les projets informatiques qui l'utilise. 

Il y a quelques jours (le jeudi 17 Mars 2022), j'ai assisté  à une rencontre de la cellule d'expertise JAVA de mon actuel employeur. Le thème de la rencontre était: JAVA 8 à JAVA 17: Nouveautés et améliorations. A la date de cette formation, Java 18 n'était pas encore disponible. Le General Availability du JDK 18 a été fait le 22 Mars passé. Les trois collègues qui ont animé cette rencontre ont présenté les modifications majeures de chaque version de Java depuis la version 8 à la version 17. Même avec environ 75 min, ils n'ont pas pu parler des nouveautés majeures parce qu'elles sont nombreuses et il faut une bonne expérience pour comprendre l'utilité de certaines. De cette rencontre, j'ai juste retenir que la communauté Java est vraiment en ébullition et pour rester actif et marketable il faut se mettre à jour. 

Cadence de release de Java


Il y a des versions majeures LTS (Long Term Support) qui sont maintenues par Oracle au minimum pendant 3 ans. Cette maintenance peut être étendue à plusieurs autres années en fonction des besoins de la communauté. La version LTS exclue l'ajout de nouvelles fonctionnalités mais inclue le support de la stabilité, l'amélioration des performances et la fourniture des patchs de sécurité. Java 8, 11, 17 sont des versions LTS. Les nouveautés apportées par Java peuvent rapidement freiner les ardeurs des nouveaux venus dans la communauté. Même les utilisateurs expérimentés ont parfois du mal à comprendre l'utilité réelle et/ou les cas d'utilisation précis de certaines fonctionnalités. Pas sûr que toutes les nouveautés soient utilisées réellement dans des projets à déployer. Mais connaitre au minimum leur existence peut bien servir dans certains cas et alimenter des discussions entre javaistes. 

La nouvelle cadence apporte une autre difficulté pour les javaistes qui veulent passer la certification. A la fin de la rencontre de la cellule d'expertise JAVA, un des présentateurs m'a confié son embarras quand au choix de la version de Java pour la certification. Voilà qu'il pense à passer la certification Java 11 que déjà Java 17 est là et à un LTS plus élevé que la version 11. Cet embarras est légitime et plusieurs javaistes sont dans le cas. Quand j'y ai pensé plus sérieusement, j'en suis venu à la conclusion que peu importe qu'on ait la certification pour la version 8, 11 ou 17 c'est presque la même chose. L'utilité d'une certification est de juger de la maîtrise du langage. Les nouveautés, il y en a et il y en aura plein dans l'avenir. Une fois qu'on a la certification pour une version LTS, il faudra juste se mettre à jour sur une version LTS supérieure pour être marketable. 

En conclusion, Java est un langage qui a encore de beaux jours devant lui. Il subit une concurrence dure de la part d'autres langages qui s'exécutent sur la JVM - Scala, Kotlin, etc.- mais il continue d'être chaque année l'un des langages de programmation les plus utilisés au monde. Il est très présent surtout dans certains secteurs comme la banque et la recherche scientifique et est très prisé pour des projets volumineux en données ou complexes qui nécessitent une bonne dose d'abstraction. Sa robustesse, sa maturité, ses nombreuses librairies et sa communauté très réactive lui donne aussi une force et un bon avantage.