LightREST

Composant Serveur REST pour WinDev®
Léger.
Rapide.
Gratuit.
Sans licence Serveur.

LightREST est destiné aux développeurs WinDev® souhaitant créer un Web Service REST (REpresentational State Transfer).

Contrairement au système proposé nativement par WinDev®, LightREST ne nécessite ni l’installation d’un serveur Web (IIS, Apache, …) ni l’acquisition et les mises à jour d’un serveur WebDev®. Les requêtes REST sont exécutées directement par votre application WinDev® sans subir un traitement chronophage par le serveur Web et le serveur WebDev®. Un serveur LightREST écoute lui-même l’interface réseau et répond directement aux requêtes REST, sans aucun intermédiaire.

Disponible sous la forme d’un composant compatible avec toutes les versions WinDev® à partir de la V25, LightREST a été développé et utilisé pendant des années par la société CODE LINE, qui se fait un plaisir de le mettre à la disposition de la communauté des développeurs.

LightREST fonctionne en mode HTTP et HTTPS, et intègre un générateur automatique de certificat SSL 2048 bits ce qui permet de bénéficier du chiffrage HTTPS sans acquérir un certificat. Evidemment, il reste possible d’utiliser un certificat SSL existant, signé par une autorité reconnue.

Il peut fonctionner soit sous la forme d’un exécutable “standard” (fenêtré ou pas), ou en tant que service, que ce soit sous Windows ou sous Linux.

LightREST permet de déployer un serveur REST en quelques lignes de code w-langage à la portée de tout développeur, sans paramétrage fastidieux (voir ICI le mécanisme natif de WinDev®, bon voyage…) :

Démarrage du serveur LightREST :

oServer	est lrServer
bOK	est booléen
cErr	est chaîne

//Création de la route /getdata qui appelera la fonction testGET
oServer:AddRoute("/getdata/{nb}", lrServer::MethodGET, testGET)

//On va écouter le port 9000
oServer:IPAndPort = "0.0.0.0:9000"

//C'est parti mon Kiki
(bOK, cErr) = oServer:Start()
SI pas bOK ALORS
    Info("Erreur lors du démarrage du serveur REST", cErr)
FIN

Voilà, nous avons un serveur REST qui écoute sur le port 9000 (tel que paramétré avec l’objet lrServer) et prêt à exécuter du code lorsque la route /getdata est appelée.


La fonction testGET est définie comme ci-dessous. Elle utilise les objets lrRequest (qui contient la requête REST reçue) et lrResponse (qui sera utilisé pour renvoyer le résultat de la requête) :

PROCÉDURE testGET(pReq est lrRequest) : lrResponse

oResponse est lrResponse
eNb       est entier

stResponse:Body = "Pong "+HeureSys()

//On récupère la variable nb dans la Route REST
eNb = Val(pReq:GetRouteValue["nb"])
POUR i=1 _À_ eNb
    stResponse:Body += [CRLF] + Hasard(1, 1000)
FIN

oResponse:Status      = lrResponse::StatusOK
oResponse:ContentType = lrResponse::ContentTXT
RENVOYER oResponse

Cette fonction va renvoyer “Pong“+l’heure système, et une liste de nb entiers au hasard (nb étant le paramètre passé dans la route).


Un simple appel dans un navigateur Web :

http://127.0.0.1:9000/getdata/10

va renvoyer le résultat suivant :

Pong 03304860
817
805
719
569
75
404
324
1000
701
793

Envie d’en savoir plus sur LightREST ? Consultez le Guide de démarrage et la Documentation.
Jetez également un œil à DataService, un mécanisme permettant d’automatiser la distribution de données au format REST.


L’AGL WinDev est reconnu pour sa puissance et sa polyvalence dans le développement logiciel. En combinant les capacités de WinDev avec l’utilisation de Web Services REST, les développeurs bénéficient d’une synergie exceptionnelle.

Tout d’abord, WinDev offre un environnement de développement intégré (EDI) complet, permettant une conception rapide et efficace d’applications. Sa simplicité d’utilisation et sa richesse fonctionnelle en font un outil de choix pour les développeurs, offrant des fonctionnalités étendues pour la création d’applications professionnelles, desktop ou web.

L’intégration des Web Services REST dans WinDev offre des avantages considérables. Les Web Services REST permettent une communication simple et efficace entre différentes plateformes et applications, favorisant ainsi l’interopérabilité. Cette approche basée sur les standards du web offre une flexibilité inégalée, permettant l’échange de données entre des systèmes hétérogènes de manière sécurisée et scalable.

En utilisant les Web Services REST avec WinDev, les développeurs peuvent tirer parti des fonctionnalités distribuées, améliorant la modularité et la flexibilité des applications. Cette approche favorise également la réutilisabilité du code et la maintenance simplifiée des systèmes, réduisant ainsi les coûts de développement à long terme.

De plus, l’utilisation de Web Services REST facilite l’intégration des applications avec des services tiers, tels que des services cloud, des API externes ou des plateformes de données, ouvrant ainsi de vastes possibilités pour l’expansion et l’enrichissement des fonctionnalités des applications développées avec WinDev.

En résumé, l’association de l’AGL WinDev avec l’utilisation des Web Services REST offre une combinaison puissante pour le développement logiciel, permettant une conception rapide, une interopérabilité étendue, une flexibilité accrue et une intégration transparente avec des services externes, offrant ainsi des solutions logicielles robustes et évolutives pour répondre aux besoins actuels et futurs.”

Cette combinaison peut vraiment être bénéfique dans de nombreux contextes de développement logiciel !


Le composant LightREST est souvent apprécié pour plusieurs raisons. Voici quelques-uns de ses avantages clés :

  1. Facilité d’utilisation : LightREST simplifie la création et la gestion des Web Services REST dans les applications. Ses classes faciles d’usage permettent aux développeurs de mettre en place rapidement des points de terminaison REST sans une courbe d’apprentissage complexe.
  2. Légèreté : Comme son nom l’indique, LightREST est conçu pour être léger. Il offre une solution simplifiée pour la création de Web Services REST sans ajouter de complexité inutile à l’application. Cela peut contribuer à des performances améliorées et à une consommation minimale de ressources.
  3. Rapidité de déploiement : En raison de sa simplicité et de sa légèreté, LightREST permet un déploiement rapide des services. Les développeurs peuvent créer et implémenter des services REST de manière efficace, accélérant ainsi le cycle de développement.
  4. Intégration aisée : LightREST s’intègre généralement bien avec d’autres composants et solutions logicielles, offrant une compatibilité et une interopérabilité élevées avec différentes plates-formes et technologies.
  5. Maintenance simplifiée : Grâce à son approche simplifiée, la maintenance des services créés avec LightREST peut être moins complexe. Les développeurs peuvent facilement comprendre et mettre à jour les points de terminaison REST, facilitant ainsi la gestion à long terme des services.

En somme, le composant LightREST offre une approche légère, simple et conviviale pour la création de Web Services REST, ce qui en fait un choix attrayant pour les développeurs cherchant à implémenter rapidement des fonctionnalités de communication et d’intégration dans leurs applications.