Effectuez les étapes suivantes pour créer, publier et échanger des données entre un service Web LabVIEW et un client Web, dans le cas présent, un navigateur Web.

Remarque Pour en savoir plus sur les concepts de cette rubrique, reportez-vous à l'introduction aux services Web. Les services Web LabVIEW ne sont disponibles que dans les systèmes de développement complet et professionnel de LabVIEW.

Ce tutoriel contient les sections suivantes :

  1. Création d'un service Web
  2. Test et mise au point d'un service Web
  3. Configuration de la méthode utilisée par les clients pour accéder au service Web
  4. Publication du service Web sur le serveur Web d'applications
  5. Accès au service Web avec un client
  6. Surveillance du service Web

Création d'un service Web

Développez un service Web dans un projet LabVIEW afin de regrouper et de configurer les VIs et autres fichiers qui constituent votre service Web. Effectuez les étapes suivantes pour créer un projet de service Web et deux VIs de méthode HTTP.

  1. Créez un projet LabVIEW pour organiser les fichiers du service Web. Enregistrez le projet sous le nom Tutoriel.lvproj.
  2. Cliquez avec le bouton droit sur Poste de travail et sélectionnez Nouveau»Service Web. LabVIEW ajoute un élément service Web au projet, ainsi que des dossiers sous la cible.
    Remarque
    • Dans ce tutoriel, vous créez un service Web et vous le publiez sur l'ordinateur hôte. Vous pouvez également publier un service Web sur une cible Real-Time en créant un projet de service Web sous la cible RT dans un projet LabVIEW.
    • (Windows) NI recommande d'utiliser le serveur Web NI pour héberger votre service Web sur un ordinateur sous Windows. Pour obtenir des instructions détaillées, reportez-vous à Tutoriel : Création et publication d'un service Web LabVIEW sur le serveur Web NI
  3. Cliquez avec le bouton droit sur l'élément service Web du projet, , sélectionnez Renommer et appelez le service Web ServiceTutoriel. Le projet apparaît comme suit :

  4. Cliquez avec le bouton droit sur Ressources Web et sélectionnez Nouveau VI pour créer un nouveau VI de méthode HTTP, VI qui reçoit les requêtes HTTP des clients et leur renvoie des données. LabVIEW ouvre un nouveau VI à partir d'un modèle.
    Remarque Par défaut, un VI de méthode HTTP renvoie les données aux clients par le biais du connecteur. Dans ce tutoriel, les VIs de méthode HTTP renvoient les réponses de texte au format JSON par défaut. Quand vous créez un VI de méthode HTTP en-dehors de ce tutoriel, vous pouvez également envoyer les données par flux continu à un client en utilisant un format personnalisé (une page HTML personnalisée ou des données image, par exemple). Configurez le type de format de sortie sur la page Paramètres des VIs de méthode HTTP de la boîte de dialogue Propriétés du service Web.
  5. Dans ce nouveau VI, construisez le diagramme, la face-avant et le connecteur comme illustré dans les figures suivantes.
    DiagrammeFace-avantConnecteur
    Lorsque vous publiez ce VI dans un service Web, un client Web peut envoyer une requête HTTP pour l'appeler. Quand ce VI est appelé, il effectue les actions suivantes :
    • Il reçoit les valeurs de toutes les commandes assignées au connecteur (saufRequête de service Web LabVIEW) de la requête faite par le client. Requête de service Web LabVIEW se comporte comme un refnum en identifiant la requête HTTP actuelle.
    • Il calcule la somme de a et b.
    • Il renvoie la somme de ces valeurs au client via l'indicateur c assigné au connecteur.
    • Il exécute le VI Lire une variable de requête et renvoie la chaîne de requête que le client a inclus dans la requête HTTP actuelle, identifiée par Requête de service Web LabVIEW.
      Astuce Dans des services Web plus complexes, vous pouvez utiliser d'autres VIs de la palette Services Web afin d'activer des fonctionnalités telles que des sessions HTTP, l'authentification, des en-têtes HTTP et des cookies.
  6. Remarquez que chaque commande et chaque indicateur apparaît sur le connecteur. Avec le type de sortie du Terminal par défaut, les services Web ne sont en mesure de recevoir des données des clients et de leur en renvoyer que par l'intermédiaire des entrées et sorties assignées au connecteur d'un VI de méthode HTTP.
    Astuce Assignez un nom reconnaissable à chaque objet. Ces noms feront partie de l'URL utilisée par les clients Web pour échanger des données avec le VI.
  7. Enregistrez le VI sous Additionner.vi.
  8. Sélectionnez Fichier»Enregistrer sous et choisissez Copier»Ouvrir une copie supplémentaire dans la boîte de dialogue qui s'affiche. Vérifiez que la case Ajouter une copie à Tutoriel.lvproj est cochée, puis cliquez sur Continuer.
  9. Enregistrez la copie sous Soustraire.vi.
  10. Ouvrez le diagramme de Soustraire.vi et remplacez la fonction Additionner par la fonction Soustraire. Recâblez les commandes et indicateurs.
  11. Retournez au projet, cliquez avec le bouton droit sur Ressources Web et sélectionnez Nouvelle ressource Web. Renommez le nouvel élément de projet Operations supplementaires.
  12. Faites glisser Soustraire.vi sous l'élément de projet Operations supplementaires. Enregistrez le projet, qui doit apparaître comme dans la figure suivante.

Remarquez les éléments suivants dans l'arborescence du projet :

  • LabVIEW ajoute un type de requête HTTP, par défaut GET, au nom de chaque VI de méthode HTTP. Vous pourrez modifier le type de requête HTTP envoyée par les clients à un VI de méthode HTTP particulier plus loin dans ce tutoriel.
  • L'élément service Web du projet contient également un dossier VIs de démarrage. Ce tutoriel n'utilise pas de VIs de démarrage, mais vous pouvez obtenir des informations complémentaires à leur sujet à la fin de ce tutoriel.

Rubriques apparentées

Éléments d'un service Web

Attribution de terminaux aux commandes et indicateurs

Développement de VIs de méthode HTTP : choix du format des données renvoyées

Configuration d'en-têtes HTTP, de flux et de bufférisation

Gestion d'un projet dans LabVIEW

Test et mise au point d'un service Web

Avant de publier le service Web sur une cible, il est conseillé de tester et vérifier que les VIs de méthode HTTP communiquent correctement avec les clients. Vous pouvez mettre le service Web directement sur un serveur de mise au point à partir du projet LabVIEW pour permettre à un client d'envoyer des requêtes aux VIs de méthode HTTP. Le serveur de mise au point offre un environnement de type sandbox.

  1. (Windows) Cliquez avec le bouton droit sur l'élément service Web du projet sous Poste de travail et sélectionnez Serveur Web d'applications»Démarrer (serveur de mise au point). (Real-Time) Cliquez avec le bouton droit sur l'élément service Web du projet sous la cible RT et sélectionnez Démarrer (serveur de mise au point).
  2. Ouvrez le VI Additionner.vi. Remarquez que le bouton Exécuter indique que le VI est réservé pour l'exécution car LabVIEW charge le service Web et le rend disponible sur le serveur de mise au point pour les communications avec les clients.
  3. Fermez le VI Additionner.vi.
  4. Effectuez les étapes suivantes pour obtenir l'URL que les clients utilisent pour appeler le VI Additionner.vi :
    1. Cliquez avec le bouton droit sur Additionner.vi et sélectionnez Afficher l'URL de la méthode pour afficher la boîte de dialogue URL de la méthode HTTP.
    2. Dans le menu déroulant Serveurs disponibles, sélectionnez l'élément qui contient Mise au point locale, puis cliquez sur le bouton Copier l'URL. Les clients doivent communiquer avec les services Web du serveur de mise au point via un port différent de celui utilisé lorsque vous publiez le service sur un serveur Web.
    3. Fermez la boîte de dialogue.
      Remarque Le service Web ne répond à aucune requête du client si la boîte de dialogue URL de la méthode HTTP est ouverte.
  5. Collez l'URL copiée à l'étape 4 dans un navigateur Web standard et remplacez les variables {valeur} par des valeurs numériques, par exemple : http://127.0.0.1:8001/ServiceTutoriel/Additionner?b=2&a=3.
  6. Naviguez jusqu'à l'URL. Additionner.vi reçoit la requête HTTP du navigateur, calcule la somme des valeurs a et b, puis renvoie une réponse contenant le nom et la valeur en sortie de chaque indicateur assigné au connecteur du VI Additionner.vi. Dans ce tutoriel, la réponse est une chaîne JSON, qui est le format de sortie du Terminal par défaut. Rappelez-vous que le VI Additionner.vi a deux indicateurs assignés à son connecteur, c et value, dont les valeurs sont renvoyées par le VI de méthode HTTP dans sa réponse.

    {"c":5,"value":"b=2&a=3"}

    Remarque Si vous remarquez un comportement inattendu, vous devez arrêter la session de mise au point pour pouvoir éditer les fichiers du service Web car ils ne peuvent pas être modifiés tant que LabVIEW les réserve à l'exécution.
  7. Répétez les étapes 4 et 5 pour le VI Soustraire.vi, ou modifiez l'URL obtenue à l'étape 5 pour qu'elle reflète le mappage d'URL unique de Soustraire.vi : http://127.0.0.1:8001/ServiceTutoriel/Operations_supplementaires/Soustraire?b=2&a=3.
  8. Répétez l'étape 6 pour le VI Soustraire.vi.
  9. (Windows) Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Serveur Web d'applications»Arrêter (serveur de mise au point). (Real-Time) Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Arrêter (serveur de mise au point).

Rubriques apparentées

Test et mise au point d'un service Web sur le serveur Web d'applications

Configuration de la méthode utilisée par les clients pour accéder au service Web

Les clients Web utilisent des URL pour échanger des données avec les VIs de méthode HTTP. Plus loin dans ce tutoriel, vous entrerez une URL spécifique dans un navigateur Web pour envoyer directement des données aux commandes assignées au connecteur des VIs de méthode HTTP.

Effectuez les étapes suivantes pour définir les URL que les clients peuvent utiliser pour accéder aux VIs de méthode HTTP :

  1. Cliquez avec le bouton droit sur l'élément service Web du projet () et sélectionnez Propriétés pour afficher la boîte de dialogue Propriétés du service Web.
  2. Sur la page Paramètres des VIs de méthode HTTP, vous remarquerez que les VIs de méthode HTTP du dossier Ressources Web du projet LabVIEW figurent dans la table VIs du service Web. De plus, remarquez que le fait d'avoir placé le VI Soustraire.vi sous l'élément de projet Operations supplementaires produit un mappage d'URL différent de celui du VI Additionner.vi.
  3. Dans la table, sélectionnez Soustraire.vi et remarquez les éléments suivants sous l'onglet Mappage d'URL au bas de la page :
    • Vous pouvez modifier le type de requête HTTP dans le menu déroulant Méthode. Utilisez la valeur par défaut GET pour Soustraire.vi.
    • Vous pouvez choisir de désactiver le format standard utilisé par LabVIEW pour mapper une URL au VI et personnaliser la section de l'URL qui apparaît après le nom du service. Dans ce tutoriel, utilisez le mappage d'URL standard et incluez le nom du VI.
    • Le champ URL affiche l'URL de base créée par LabVIEW pour le VI de méthode HTTP. Par exemple, pour le VI Soustraire.vi, LabVIEW crée le mappage d'URL par défaut /Operations_supplementaires/Soustraire.

    Remarque Dans un service Web plus complexe, vous pourriez utiliser les autres onglets de cette page pour configurer le format dans lequel le VI renvoie les données en sortie au client Web, ainsi que les paramètres de sécurité, comme les autorisations.
  4. Cliquez sur OK pour fermer la boîte de dialogue Propriétés du service Web.
  5. Enregistrez le projet Tutoriel.lvproj.

Rubriques apparentées

Initiation au mappage d'URL et chaînes de requête dans les services Web

Publication du service Web sur le serveur Web d'applications

Vous pouvez publier le service Web créé sur le serveur Web d'applications. Dans ce tutoriel, vous publiez un service Web autonome, mais dans une application plus complexe, vous devrez peut-être publier un service Web au moyen d'une application LabVIEW autonome ou d'un installeur. Le serveur Web d'applications héberge des services Web sur un réseau et fournit diverses fonctionnalités de sécurité pour protéger l'échange de données sur le réseau, notamment un cryptage SSL (Secure Socket Layer).

Remarque (Windows) Vous pouvez également publier votre service Web sur le serveur Web NI. Pour obtenir des instructions détaillées, reportez-vous à Tutoriel : Création et publication d'un service Web LabVIEW sur le serveur Web NI

Effectuez les étapes suivantes pour publier le service Web sur le serveur Web d'applications qui s'exécute sur l'ordinateur local :

  1. Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Serveur Web d'applications»Publier. La boîte de dialogue Progression du déploiement apparaît.
  2. Si LabVIEW parvient à publier le service Web sans rencontrer d'erreur, cliquez sur le bouton Fermer. Les clients Web peuvent désormais échanger des données avec les VIs de méthode HTTP.

Rubriques apparentées

Publication de services Web

Configuration du serveur Web d'applications pour les services Web

Accès au service Web avec un client

Effectuez les étapes suivantes pour envoyer des données au service Web publié en utilisant une URL dans un navigateur Web :

  1. Cliquez avec le bouton droit sur Additionner.vi et sélectionnez Afficher l'URL de la méthode pour afficher la boîte de dialogue URL de la méthode HTTP.
  2. Dans le menu déroulant Serveurs disponibles, sélectionnez l'élément qui contient Application, puis cliquez sur le bouton Copier l'URL. Cette URL contient un numéro de port différent de celui de l'URL pour le serveur de mise au point. LabVIEW utilise ce numéro de port pour communiquer avec les fichiers du service Web s'exécutant sur le serveur Web d'applications.
  3. Fermez la boîte de dialogue.
  4. Collez l'URL dans un navigateur Web standard et remplacez les variables {valeur} par des valeurs numériques, par exemple : http://127.0.0.1:8080/ServiceTutoriel/Additionner?b=2&a=3.
    Remarque Si le client se trouve sur un autre système que le service Web publié, vous devez remplacer 127.0.0.1 par l'adresse IP du système hôte.
  5. Le navigateur renvoie une réponse au format JSON contenant les valeurs de sortie de chaque indicateur assigné au connecteur.

Rubriques apparentées

Envoi de données à une application déployée en utilisant des URL

Surveillance du service Web

Effectuez les étapes suivantes pour vérifier le statut des services Web publiés sur le serveur Web d'applications :

  1. Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Serveur Web d'applications»Gérer le serveur Web. L'application Surveillance et configuration Web NI s'ouvre dans un navigateur Web.
  2. Cliquez sur le bouton Gestion des services Web dans le volet de gauche .
  3. Sélectionnez ServiceTutoriel dans la liste Services Web publiés. Si la liste est vide, cliquez sur le bouton Rafraîchir.
  4. Remarquez que le statut du service Web indique En cours d'exécution. Pour mettre en pause, reprendre, redémarrer et annuler le déploiement des services Web, utilisez les boutons se trouvant au bas de la page.
  5. Vous remarquerez, dans la partie droite de la page, que le mappage des URL des VIs de méthode HTTP, Additionner et Operations_supplementaires/Soustraire, contient la méthode HTTP utilisée.

Pour aller plus loin

Exemple de code

Reportez-vous aux projets LabVIEW suivants pour voir des exemples d'utilisation des services Web.

  • examples\Connectivity\Web Services\Weather Monitor\Web Services — Weather Monitor.lvproj