Tutoriel : Création d'un service Web LabVIEW et accès (Real-Time, Windows)

Aide LabVIEW 2014

Date d'édition : June 2014

Numéro de référence : 371361L-0114

»Afficher les infos sur le produit
Télécharger l'aide (Windows uniquement)

Rubrique parente : Présentation : Communication Web avec des applications LabVIEW

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 obtenir des informations complémentaires sur les concepts abordés dans cette rubrique, reportez-vous à l'introduction aux services Web et à la description des éléments d'un service Web. Les VIs d'E-mail SMTP ne sont disponibles que dans le système de développement complet de LabVIEW et le système de développement 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 appeler le service Web
  4. Publication du service Web sur le serveur Web
  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 constitueront 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 Remarque  Dans ce tutoriel, vous créez un service Web, puis vous le publiez sur l'ordinateur hôte. Lorsque vous développez un service Web en dehors de ce tutoriel, vous pouvez le publier sur une cible RT en créant un élément de projet service Web sous la cible RT dans un projet.
  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.
  5. Dans ce nouveau VI, construisez le diagramme, la face-avant et le connecteur comme illustré dans les figures suivantes.

    Diagramme Face-avant Connecteur

    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 (sauf Requê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 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, des options d'authentification, des en-têtes HTTP et des cookies.
  6. Remarquez que chaque commande et chaque indicateur apparaît sur le connecteur. 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 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 d'enregistrement. 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

Gestion d'un projet dans LabVIEW

Test et mise au point d'un service Web

Avant de publier le service Web sur une cible, vous devriez 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. Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Démarrer.
  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 exécute le service Web et le rend disponible sur le serveur de mise au point pour qu'il puisse communiquer avec les clients.
  3. Fermez le VI Additionner.vi.
  4. Effectuez les étapes suivantes pour obtenir l'URL que les clients doivent utiliser 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.
  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 au format XML contenant le nom et la valeur en sortie de chaque indicateur assigné au connecteur du VI Additionner.vi. Rappelez-vous que le VI Additionner.vi a deux indicateurs assignés à son connecteur, c et valeur, dont les valeurs sont renvoyées par le VI de méthode HTTP dans sa réponse.

<?xml version="1.0"?>

<Response>

<Terminal>

<Name>c</Name>

<Value>5</Value>

</Terminal>

<Terminal>

<Name>valeur</Name>

<Value>b=2&a=3</Value>

</Terminal>

</Response>

Remarque Remarque  Si vous remarquez un comportement inattendu, vous devez arrêter la session de mise au point avant de 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.
  1. Répétez les étapes 4 et 5 pour le VI Soustraire.vi, ou modifiez simplement 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.
  2. Répétez l'étape 6 pour le VI Soustraire.vi.
  3. Cliquez avec le bouton droit sur l'élément service Web du projet et sélectionnez Arrêter.

Rubriques apparentées

Mise au point d'un service Web

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

Les clients Web utilisent les URL pour échanger des donnés 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 contenus dans le 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 :
    • Le menu Méthode vous permet de modifier le type de requête HTTP. 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.

    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. Enregistrez le projet Tutoriel.lvproj.

Rubriques apparentées

Initiation aux mappages d'URL et aux chaînes de requêtes des services Web

Publication d'un service Web

LabVIEW publie les services Web autonomes, comme celui de ce tutoriel, sur un serveur Web appelé serveur Web d'applications. Le serveur Web d'applications héberge des applications de services Web autonomes sur un réseau et fournit des 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 Remarque  Dans une application plus complexe, vous pourriez distribuer un service Web avec une application LabVIEW autonome ou un exécutable. Dans le cas d'applications autonomes, le service Web est publié sur un serveur Web différent et vous n'avez donc pas besoin de suivre cette procédure.

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 maintenant échanger des données avec les VIs de méthode HTTP tout comme lors de la session de mise au point que vous avez effectuée dans la section précédente.

Rubriques apparentées

Publication d'un service Web

Activation 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. Ce numéro de port est utilisé 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 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 sur lequel le service est publié.
  5. Le navigateur renvoie une réponse au format XML 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\Address Book\Web Services — Address Book.lvproj
  • examples\Connectivity\Web Services\Weather Monitor\Web Services — Weather Monitor.lvproj

CET ARTICLE VOUS A-T-IL ÉTÉ UTILE ?

Pas utile