En quoi les API et le développement applicatif passent désormais par le Cloud ?

IBM

Dans l'économie digitale actuelle, les frontières entre expériences virtuelles et physiques s'effondrent. Les entreprises de premier plan comprennent que l'expérience client est devenue la principale source d'avantage concurrentiel. Créer, gérer et partager des API (Application Programming Interface) ne se fait pas avec un simple claquement de doigts…

Les chapitres ci-dessous montrent comment IBM va dans ce sens et cherche à adapter ses technologies en fonction des besoins API réels des entreprises. C'est une compile d'annonces faites pendant la conférence InterConnect de 2016.

Pour réagir à ce tutoriel, un espace de dialogue vous est proposé sur le forum. Commentez

- Titre : En quoi les API et le développement applicatif passent désormais par le Cloud ?

- Auteur : IBM

- Parution : 21 septembre 2017

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2017 IBM. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Comment IBM ouvre les API au Cloud ?

- I-A. WebSphere et API Connect

- I-B. Swift dans le cloud IBM

- I-C. Github pour booster le DevOps sur Bluemix

- II. Event Driven Programming et capacités émotionnelles des applications

- II-A. Des API pour des applications qui sympathisent

- II-B. Un PaaS Event-Driven

- III. Bluemix et Node.js : API Management, StrongLoop, Node.js avec Bluemix

- III-A. Connecter Java et Node.js

I - Comment IBM ouvre les API au Cloud ?

En 2016, IBM a tenu une conférence avec plus de 25 000 professionnels des TIC (Technologies de l'Information et de la communication). Au cours de cette conférence, IBM a fait plusieurs annonces sur :

- un Websphere dans le Cloud ;

- le support du langage d'Apple Swift ;

- une intégration de la plateforme de développement collaboratif Github à Bluemix.

Le premier jour d'InterConnect, la conférence d'IBM sur le Cloud et la mobilité qui s'est tenue à Las Vegas, a été marqué par un renforcement de la collaboration entre Big Blue et VMware. Ce nouvel accord devra permettre aux clients utilisateurs de VMware d'étendre plus facilement leurs workloads virtualisés existants sur site vers le Cloud d'IBM « à l'identique et de façon sécurisée ».

Mais au-delà des aspects opérationnels, ce sont bien les développeurs qui ont été à l'honneur pendant cette conférence. En effet, IBM a déroulé son approche pour mieux adresser leurs besoins dans son offre de cloud, avec des nouveautés, toutes qualifiées de « majeures ».

I-A - WebSphere et API Connect

La première annonce concerne Websphere, la plateforme maison pour développer, déployer et connecter des applications métiers dans un univers Java EE.

IBM va investir « plusieurs milliards de dollars pour les développeurs Cloud » en étendant justement Websphere à son Cloud. Le but de ce mouvement est de permettre aux développeurs de se connecter à n'importe quelle donnée, n'importe quelle application ou n'importe quel système transactionnel de l'entreprise (chaîne d'approvisionnement, systèmes de gestion des stocks ou données clients détaillées par exemple) aussi bien dans le cadre de projets sur site que de projets hébergés sur un PaaS IBM.

Ce décloisonnement se fait au travers de connecteurs et API de Websphere désormais disponibles dans le Cloud - et donc aussi pour des environnements hybrides.

En parallèle, IBM Cloud s'enrichit d'autres connecteurs parmi lesquels API Connect « pour transformer n'importe quel IT en API » (sic).

Là encore le but est de décloisonner les applications et les microservices en « automatisant la création d'API, en simplifiant leur accès en self-service en interne ou pour des développeurs tiers, le tout avec des règles de sécurité et de gouvernance pré-intégrées ». Dans le même esprit, « App Connect » est un nouvel outil SaaS pour aider les métiers à connecter et intégrer des applications (sur site ou hébergées) sans écrire de code au travers de connecteurs eux aussi pré-configurés.

I-B - Swift dans le cloud IBM

Deuxième annonce : le support natif dans le Cloud d'IBM de Swift, le nouveau langage de programmation d'Apple présenté comme plus simple et intuitif que les langages traditionnels par son créateur.

« L'intégration de Swift dans le Cloud va simplifier radicalement le développement d'applications de bout en bout », se félicite d'ailleurs Big Blue. Ce projet s'inscrit évidemment dans le partenariat entre les deux géants américains.

Rappelons néanmoins qu'il s'agit d'un « Work in progress » puisque la prochaine étape de la feuille de route d'IBM sera de livrer une preview de Swift Runtime sur son PaaS.

Au menu également «  Swift Package Catalog  » (créateur de packages) sur Bluemix - sorte de place de marché de packages pour applications Swift - et une sandbox pour les tests de codes.

IBM rappelle par ailleurs qu'il est possible de développer du code sur Bluemix et de le déployer dans le Cloud avec son nouveau framework web Kitura.

Kitura est « un framework web ultra léger écrit avec Swift pour créer facilement des services web complexes », résume IBM. De telle sorte qu'il est possible d'avoir « une application mobile, front-end et back-end, écrite dans un seul et même langage ».

I-C - Github pour booster le DevOps sur Bluemix

Troisième annonce, Bluemix se rapproche deGitHub, la plateforme utilisée par douze millions de développeurs partout dans le monde pour collaborer sur des projets et partager leurs codes.

« IBM et GitHub vont collaborer pour offrir GitHub Entreprise sous la forme d'un service dédié sur la plateforme cloud Bluemix d'IBM », explique l'éditeur.

« En travaillant avec IBM Cloud, cet accord, le premier du genre, va permettre aux développeurs d'entreprise d'apprendre, de coder et de travailler avec les outils de développement collaboratifs de GitHub dans un environnement privé et sécurisé ».

Concrètement, GitHub sera intégré dans le portefeuille d'outils DevOps de Bluemix.

II - Event Driven Programming et capacités émotionnelles des applications

Avec quatre API autour de la reconnaissance sémantique et du « QI émotionnel », et avec Bluemix OpenWhisk, IBM enrichit son portefeuille d'outils de développement. Ces annonces concernent des offres pas encore matures pour la production.

II-A - Des API pour des applications qui sympathisent

IBM vient en effet d'annoncer trois API Watson « qui accélèrent le QI émotionnel (sic) et les capacités de reconnaissance d'image ».

Ces API se nomment Tone Analyzer (analyse du ton d'un texte), Emotion Analysis (analyse d'émotions) et Visual Recognition (qui n'est pas sans faire penser àl'API Cloud Vision de Google).

Attention toutefois, si elles sont d'ores et déjà disponibles, toutes ces API sont en version bêta (tout comme celle de Google d'ailleurs).

II-B - Un PaaS Event-Driven

Autre nouveauté du jour : Bluemix OpenWhisk, une nouvelle plateforme d'EventDriven Programming intégrée au PaaS maison. Pour mémoire, la programmation « Event-Driven » est - comme son nom l'indique - un service de calcul qui exécute un code en réponse à des événements (et qui gère automatiquement les ressources de calcul sous-jacentes en rapport).

Un des services les plus connus dans ce domaine est AWS Lambda. L'alternative d'IBM se veut, elle, « rapide et ouverte ».

« IBM Bluemix OpenWhisk permettra aux développeurs de construire rapidement des microservices qui exécutent le code logiciel en réponse, par exemple, à un clic de souris ou à la réception de données issues d'un capteur ou d'une caméra de surveillance », explique IBM.

Plus besoin, toujours dixit l'éditeur, de se soucier des problématiques d'infrastructure, de serveurs ou même de machine virtuelle. « Les développeurs peuvent tout simplement se concentrer sur le code, ce qui permet de considérablement accélérer le processus et de transformer rapidement les idées en valeur pour l'entreprise ».

Bluemix OpenWhisk introduirait également une plus grande agilité en permettant à une équipe de décomposer un projet en petites « briques » - de petits morceaux de code ou de microservices - facilement interconnectables par la suite justement grâce à ce nouveau service (un événement lancera telle et telle brique de code et pas telle autre). Logiquement donc, le support des conteneurs Docker (particulièrement adapté aux microservices) est également natif.

OpenWhisk supporte « de multiples langages ». En fait le nouveau petit préféré d'IBM : Swift d'Apple, et JavaScript (Node.js). Il est également possible de créer un appel d'action depuis Docker. Dans ce cas, un binaire est compilé à partir de « n'importe quel langage et encapsulé dans le conteneur ».

Enfin des capacités cognitives sont directement intégrables à la plateforme grâce au support de Watson et de Weather.

IBM met néanmoins en garde : « OpenWhisk est expérimental. Il peut ne pas être stable et peut évoluer d'une manière qui rende cette version incompatible avec les suivantes ». Il n'est donc pas recommandé, à ce jour, de l'utiliser en environnement de production.

III - Bluemix et Node.js : API Management, StrongLoop, Node.js avec Bluemix

En rachetant StrongLoop, IBM se paie un expert de Node.js et dans la création d'API. Une façon de dresser une passerelle entre les backends traditionnels Java et le monde des API.

Pour IBM, la transformation numérique passe aussi par Node.js, JavaScript et les API. Big Blue a décidé de se payer un spécialiste de la création d'API en Node.js, StrongLoop. L'un des points forts de cette société est de proposer un outil de développement graphique d'API et de connexion aux données des backends. Le tout s'adossant au framework open source LoopBack.

La plateforme de StrongLoop comprend un outil de conception visuelle d'API nommé ARC, et permet aussi de connecter les API aux données. Des outils d'intégration, de synchronisation de données et une gateway y sont également intégrés, ainsi que des outils de déploiement et de monitoring.

Cette démarche qui consiste à positionner Node.js pour l'interopérabilité des systèmes via des API, est également celle qu'a retenue Progress Software. Ce pilier du développement d'applications avait en effet ajouté cette brique à sa pile de développement en rachetant Modulus, une société justement spécialisée dans le développement Node.js. Le groupe entend connecter cela à son produit phare OpenEdge, pour l'orienter vers l'Internet des objets. Un point que Karen Padir, à la tête des activités Applications et Deployment de Progress, avait détaillé lors de la conférence Progress Exchange en 2014.

III-A - Connecter Java et Node.js

Le constat semble identique pour IBM, qui compte exploiter les capacités d'exposition des services et des backends traditionnels via des API , et les associer au monde Java ainsi qu'aux outils middleware du groupe (comme WebSphere). Pour IBM, les API sont devenues « un ingrédient essentiel ».

« En associant les outils et les services de StrongLoop aux fonctions Java et WebSphere d'IBM, IBM va aider les clients à créer une passerelle entre les plateformes de développement Java et Node.js, permettant ainsi aux clients de créer une valeur encore plus importante dans leurs investissements », explique Big Blue dans un communiqué. Notons au passage que cette proximité entre les deux sociétés s'était aussi concrétisée au sein de la Node.js Foundation qui chapeaute désormais la technologie. Une fondation officiellement sur les rails depuis juin dernier, scellant dans le marbre la fusion entre Node.js et son fork io.js. IBM est en effet un partenaire Platinium de la fondation, StrongLoop un partenaire Silver.

Logiquement, les outils de StrongLoop seront intégrés à Bluemix, le PaaS du groupe, ajoutant une cartouche Node.js à l'ensemble, aux côtés des services liés à la mobilité, à l'Internet des objets et à l'analytique (y compris Watson). IBM prévoit également d'inclure ces outils Node.js dans IoT Foundation, la plateforme de Big Blue réservée aux développements d'applications et de services liés au très tendance Internet des objets.