L’API REST JasperServer
Bruno Cargnelli décembre 5th, 2012
Préambule
La demande d’intégration de rapports et de gestion de contenu au sein d’une application web est aujourd’hui incontournable. Cependant plusieurs problématiques telles que la gestion des ressources permettant la génération des rapports, la gestion des droits ou bien encore la gestion des différents formats de sortie souhaités peuvent vite devenir complexes à mettre en œuvre et à maintenir.
Cet article à pour objectif de présenter une solution simple et efficace d’intégration de rapport par l’utilisation de l’API REST de JasperServer (version 4.5 Community Edition).
Présentation de JasperServer
JasperServer (disponible sous deux licences : GPL et commerciale) est la plateforme décisionnelle de JasperSoft, elle propose des fonctionnalités de reporting et d’analyse.
JasperServer est un serveur de rapports interactif, autonome et ad hoc intégrable permettant d’obtenir des informations adéquates liées à un besoin, en temps réel. L’interface n’utilise pas de portail tiers contrairement aux autres plates-formes. On dispose ici d’une application web développée spécifiquement qui permet de créer de nouvelles analyses, de publier de nouveaux documents, de gérer les comptes utilisateurs, leurs rôles, ainsi que les droits d’accès aux différents répertoires et fichiers du référentiel.
JasperServer intègre également la gestion des paramètres nécessaires à la génération de rapport. Les contrôles d’entrée des rapports peuvent être mono ou multi-valués, le peuplement des contrôles peut se faire soit par une liste de valeurs pré-définies par le créateur, soit afficher le résultat issu d’une requête effectuée sur une base de données.
L’API REST
Depuis la version 4, JasperServer met à disposition une API RESTful basée sur les standards offerts par le protocole HTTP (utilisation de GET, POST, PUT, DELETE pour la gestion des ressources).
Chaque service offre toutes les fonctions basiques de JasperServer tel que l’exécution, l’ajout ou la suppression de rapport, une gestion complète de son arborescence, etc…
URL type d’accès à l’API REST:
http://<host>:<port>/jasperserver/rest/
Une illustration de l’appel vers chacun des services sera réalisé par un outil appelé REST Client qui est un plugin de FireFox permettant de concevoir des requêtes HTTP basées sur RFC2616 (HTTP/1.1).
L’authentification
L’accès aux ressources par le service REST n’est possible que pour un utilisateur de JasperServer déjà identifié.
A ce titre, l’API offre deux types d’authentifications possibles sur le même service :
| URL du service d’authentification | ||
| http://<host>:<port>/jasperserver/rest/login/ | ||
| Méthode | Description | |
| POST | Méthode d’authentification a privilégier, celle ci retourne un jeton de session réutilisable. | |
| GET | Méthode d’authentification de test. Celle-ci est facilement appelable depuis un navigateur web, cependant aucun jeton de session n’est renvoyé. | |
| Argument | Type | Description |
| j_username | Text | Login de l’utilisateur |
| j_password | Text | Mot de passe de l’utilisateur |






