Et oui, on l’a longtemps attendu, et désormais et cela fait partie des grandes nouveautés de l’outil de reporting MyReport BE (MyReport Business Evolution), il est possible d’appeler un Web Service avec MyReport Data et évidemment de charger les données dans le Data Warehouse. Votre outil d’informatique décisionnelle peut désormais s’interconnecter avec les différentes briques du système d’information et toutes les données de l’entreprise. Cette option constitue une avancée pour le Système d’Information et la construction de l’entrepôt de données particulièrement issu d’un ERP, d'un CRM ou d'un référentiel dans des architectures SOA. Les Web Services consommables par le Data de MyReport vont devenir des Data Services à protocoles simplifiés.

Ce tuto sous forme de documentation explique comment connecter un webservice dans MyReport BE. Pour effectuer ce tutoriel, nous utiliserons une source en libre-service très riche, à savoir l’API de l’état français permettant de connaître toutes les adresses existantes sur le territoire français : api-adresse.data.gouv.fr.

Une source de données dans MyReport Data

Il existe dans MyReport Data des sources de données (Data Source) qui permettent de piloter les services web.

Pour ce faire, dans Source, faire Clic Droit => Nouveau => Nouveau dossier, comme si on introduisait des fichiers Excel dans MyReport Data. Evidemment, vous lui donnez l’alias qui vous convient. Dans notre cas, nous le nommons « WebServices », parce que nous sommes des originaux ;-)

Dans le dossier, nous allons créer un nouveau modèle et ses métadonnées et, pour ce faire, nious choisissons dans les options à gauche de la fenêtre « Modèle de Web Service ». Dans l’image ci-dessous, nous avons nommé le web service "Web_service_Adresses", pour les mêmes raisons que celles signifiées plus haut.

Comment appeler un Web Service avec MyReport Data ?

Paramétrage de l'appel Web Service dans MyReport Data

Une fois l’étape de nommage faite, il convient désormais d’effectuer la connexion technique en gérant les paramètres du webservice dans MyReport Data.

Dans l’URL, on va évidemment positionner l’URL de l’API. Dans notre cas : https://api-adresse.data.gouv.fr/search. De nombreuses formes d’URLs avec tags sont appelables.

Ensuite, il est nécessaire de définir les paramètres de l’appel aux web services. Dans notre cas la question Q ? se définit comme une adresse à vérifier. Prenons par exemple la rue de Lyon : Existe-t-elle en France et si oui dans quelle ville, Nantes, Paris, Brest, Rennes, Angers, Bordeaux, Toulouse, Montpellier ? Un peu de patience, notre petit exercice va nous le dire…

Pour paramétrer l’appel API, il faut cliquer sur "Ajouter un paramètre". Une interface apparait, celle-ci permet de choisir sa méthode d’appel aux Services Web GET, Post, head. On renseigne aussi le paramétrage de l’appel API dans MyReport Data.

Comment appeler un Web Service avec MyReport Data ?

Dans notre cas (API adresse), le libellé est "q" et notre test sur le 31 rue de lyon se codera comme suit : 31+rue+de+lyon. La méthode d’appel de l’API que devra utiliser MyReport Data est un GET.

Il est aussi possible de paramétrer la pagination du retour API.

Comment appeler un Web Service avec MyReport Data ?

Une option permet de paramétrer un timeout pour ne pas pénaliser l’ETL/outil de data integration MyReport Data si des problèmes techniques rallongeaient les temps de réponses du web service.

Comme vous le voyez, les langages (PHP, Java ou autre) ne sont pas nécessaires pour effectuer un développement.

En cas de dysfonctionnement de la connexion, MyReport Data exécute une requête et écrit un log d’erreur.

Authentification de connexion à une API dans MyReport Data

Bien entendu, il est possible de gérer la sécurité d’appel à l’API. Deux méthodes sont possibles dans MyReport : la sécurité de type user/mot de passe et l’OAuth2 pour des sécurités API de type Google.

Récupération du message de l'API avec MyReport Data

MyReport Data a pour objet l’extraction de données puis le chargement d’un Data Warehouse (SGBD : serveur oracle, IBM Db2, postgreSQL, MySQL, SQL Server,…). Le retour API quel qu’en soit sa forme (JSON, format XML, REST) doit être traduit pour être transformé en données tabulaires en vue d’une injection dans une base de données relationnelle.

Après deux actions "suivant", MyReport Data vous présente les données telles qu’il les comprend puis les traduit en mode tabulaire (Array) sans modéliser.

MyReport BE va ainsi créer un modèle en comprenant la structuration de la réponse de l’API.

Comment appeler un Web Service avec MyReport Data ?

Dans notre cas, nous savons donc que la rue de Lyon, selon l’API appelée par MyReport, existe à Bordeaux, Brest, Marseille, Mérignac mais aussi dans le nord à Saint André (59350).

Ces interfaces API vont donc créer un modèle attaquable via des requêtes MyReport Builder mais aussi comme une table SQL qui pourrait subir une jointure, un filtre, un traitement des données ou des transformations. Le développement devient agile. C'est un véritable atout pour les métiers que de pouvoir interroger un webservice via le builder, d’avoir la réponse ad hoc en export dans Excel ou dans leur environnement décisionnel, le portail MyReport Center, quelle que soit la taille des bases.

Le Data créée un workflow d’invocation de l’API, exécutable de manière asynchrone à volonté et prêt à être automatisé en lignes de commande ou en scripts.

Evidemment ce petit tutoriel est très simple, nos projets sont bien souvent plus complexes. Dès lors, si vous avez des problèmes avec des APIs / Web Services dans MyReport Data (ou un autre outil d’ailleurs), les consultants MyReport sont à votre disposition pour tout échange.

Nous pouvons également vous former sur les outils MyReport. Pour accéder à notre formation MyReport Data, suivez ce lien.

Vous souhaitez bénéficier d'experts, de développeurs, ou d'une formation sur MyReport ? Rendez vous sur la page Contact

Next Decision, des experts MyReport à Nantes, Brest, Niort, Paris, La Roche Sur Yon, Le Mans, Angers, Laval, Rennes, Lyon, Grenoble, Saint-Etienne, Bordeaux, Toulouse, La Rochelle, Agen, Bayonne, Montpellier, Béziers…

Next Decision, votre référence pour un projet MyReport en Bretagne, Pays de la Loire, Région Parisienne, Ile de France, Nouvelle-Aquitaine, Auvergne-Rhône-Alpes, Occitanie, Provence-Alpes-Côte d'Azur…