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 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 NI
  5. Accès au service Web avec un client

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 RT (Real-Time) en créant un projet de service Web sous la cible RT dans l'Explorateur de projet. Si vous souhaitez publier vos services Web sur des cibles RT, vous ne pouvez utiliser que le serveur Web d'applications pour héberger vos services Web. Pour obtenir des instructions détaillées, reportez-vous à Tutoriel : Création et publication d'un service Web LabVIEW sur le serveur Web d'applications
  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 configurer l'authentification et des en-têtes HTTP.
  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 lancer le service Web sur le serveur Web NI directement à partir du projet LabVIEW pour permettre à un client d'envoyer des requêtes aux VIs de méthode HTTP.

  1. Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Démarrer.
  2. Si vous utilisez le serveur Web NI pour la première fois sur votre ordinateur, procédez comme suit pour activer et configurer le serveur Web NI :
    1. Cliquez sur Configurer le Serveur Web NI dans la boîte de dialogue Démarrer le service Web pour lancer la configuration du serveur Web NI.
    2. Pour ce tutoriel, choisissez la configuration prédéfinie Simple local access et cliquez sur Next.
    3. Dans la section Authentication, sélectionnez Log in using an admin user for server administration et créez votre mot de passe. Cliquez sur Next.
    4. Cliquez sur Finish pour appliquer cette configuration.
  3. Revenez au projet LabVIEW et répétez l'étape 1. Le service Web s'exécute maintenant sur le serveur Web NI.
  4. 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 Web NI pour les communications avec les clients.
  5. Fermez le VI Additionner.vi.
  6. 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 NI Web Server, puis cliquez sur le bouton Copier l'URL.
    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.
  7. Collez l'URL copiée à l'étape 6 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.
    Remarque Le serveur Web NI utilise 80/443 comme port par défaut conformément au protocole HTTP/HTTPS. Cependant, le numéro de port peut changer si une autre application occupe le port. Vous pouvez personnaliser le numéro de port dans la configuration du serveur Web NI. Reportez-vous à Configuration du Serveur Web NI pour en savoir plus sur les paramètres du serveur tels que l'authentification, le port et les connexions distantes.
  8. 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. Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Arrêter.
  9. Répétez les étapes 6 et 7 pour le VI Soustraire.vi, ou modifiez simplement l'URL obtenue à l'étape 7 pour qu'elle reflète le mappage d'URL unique de Soustraire.vi : http://127.0.0.1:80/ServiceTutoriel/Operations_supplementaires/Soustraire?b=2&a=3.
  10. Répétez l'étape 8 pour le VI Soustraire.vi.
  11. Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Arrêter.

Rubriques apparentées

Test et mise au point d'un service Web

Configuration du serveur Web NI pour les services Web

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 privilèges.
  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 NI

Vous pouvez publier le service Web créé sur le serveur Web NI. Le serveur Web NI est un serveur Web de production qui peut héberger des services créés par l'utilisateur, tels que les services Web LabVIEW et les services SystemLink™ créés par NI. Le serveur Web NI protège les applications Web contre les menaces de sécurité Web courantes, offre une grande évolutivité à de nombreux services de données de niveau entreprise et permet la gestion des périphériques. Dans ce tutoriel, vous publiez le service Web en l'intégrant dans un paquet NI et en installant le paquet.

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

Effectuez les étapes suivantes pour publier le service Web sur le serveur Web NI qui s'exécute sur l'ordinateur local au moyen d'un paquet :

  1. Cliquez avec le bouton droit sur Spécifications de construction dans la fenêtre de l'Explorateur de projet et sélectionnez Nouveau»Paquet pour lancer la boîte de dialogue Propriétés du paquet.
  2. Sur la page Informations, spécifiez l'emplacement où créer le paquet dans la zone de texte Répertoire de sortie du paquet.
  3. Sur la page Services Web, cochez la case ServiceTutoriel pour inclure le service Web dans le paquet.
  4. Cliquez sur Construire et la boîte de dialogue État de la construction apparaît.
  5. Lorsque LabVIEW a terminé la création du paquet, cliquez sur Explorer pour ouvrir le répertoire de destination où LabVIEW enregistre le fichier de paquet .nipkg.
  6. Double-cliquez sur le paquet pour l'installer grâce au Gestionnaire de paquets NI. Une fois l'installation terminée, le service Web est publié sur le serveur Web NI sur l'ordinateur hôte.
  7. Fermez le projet LabVIEW. Les services Web publiés s'exécutent sur le moteur d'exécution LabVIEW et ne dépendent pas du système de développement LabVIEW.

Rubriques apparentées

Publication de 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. Collez l'URL copiée à l'étape 7 à la section Test et mise au point d'un service Web dans un navigateur Web standard et remplacez les variables {valeur} par des valeurs numériques, par exemple : http://127.0.0.1:80/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 ou le nom d'hôte que vous avez personnalisé dans la configuration du serveur Web NI.
  2. 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

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