Exposer une tâche en tant que service Web

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Exemples de configuration de tâche >

Exposer une tâche en tant que service Web

Cet exemple illustre comment exposer une tâche mappage d'exemple en tant que service Web. Le mappage d'exemple a déjà été conçu avec MapForce ; il lit les données depuis la base de données Microsoft Access qui stocke une liste d'entrées de personnes. Le mappage extrait depuis les bases de données uniquement les entrées de personnes dont le nom de famille commence avec une lettre spécifique (offert en tant que paramètre). Vous allez apprendre comment déployer le mappage existant de MapForce à FlowForce Server (sur le même appareil ou sur un autre appareil), et le transformer dans un service Web. Une fois avoir terminé cet exemple, vous devrez pouvoir invoquer le service Web depuis un navigateur.

 

Conditions préalables

Licences nécessaires : MapForce édition Enterprise ou Professional, MapForce Server ou MapForce Server Advanced Edition, FlowForce Server
FlowForce Server est exécuté sous l'adresse de réseau et le port configurés (voir Configurer l'adresse de réseau et le port)
Vous possédez un compte d'utilisateur FlowForce Server ainsi que les permissions vers un des conteneurs (par défaut, le conteneur /public utilisé dans cet exemple est accessible uniquement aux utilisateurs authentifiés).
Le mappage utilisé dans cet exemple lit des données depuis une base de données Microsoft Access. Vous devrez installer soit Microsoft Access soit Microsoft Access Runtime (https://www.microsoft.com/en-us/download/details.aspx?id=50040) sur l'appareil sur lequel FlowForce Server est exécuté.

 

Fichiers de démo utilisés

Cet exemple utilise les fichiers suivants, disponibles sous le chemin suivant de l'ordinateur sur lequel MapForce est installé : ..\Documents\Altova\MapForce2019\MapForceExamples.

 

DB_PhoneList.mfd (le fichier de design de mappage MapForce)
altova.mdb (la base de données Microsoft Access à partir de laquelle le mappage lit les données).

 

Préparer le mappage pour le déploiement dans une autre machine

Puisque le mappage lit les données depuis un fichier de base de données, les configurations supplémentaires doivent être effectuées avant de déployer le mappage, comme expliqué dans cette section. Si MapForce et FlowForce Server sont installés sur le même ordinateur, vous pouvez passer à la section "Déployer le mappage" ci-dessous.

 

Note :Le terme "appareil source" réfère à l'ordinateur sur lequel MapForce est installé et le terme "appareil cible" réfère à l'ordinateur sur lequel FlowForce est installé.

 

Avant d'essayer de déployer le mappage sur l'appareil cible, suivez les instructions suivantes:

 

1.Sur l'appareil cible, configurer le service "FlowForce Web Server" pour écouter soit sur toutes les interfaces, soit sur une adresse IP spécifique différence du localhost, voir Définir les paramètres de réseau. Vous pouvez vérifier si le service est configuré correctement en accédant à l'URL suivante provenant du navigateur : http://<FlowForce Web Server><port>. Assurez-vous que les connexions entrantes de l'adresse et du port spécifiés ne sont pas bloquées par le pare-feu.
2.Comme mentionné plus haut, la tâche créée dans cet exemple doit être disponible en tant que service Web. Dans FlowForce, toute demande de tâches exposées en tant que services Web sont gérées par le service "FlowForce Server" (pas par le service "FlowForce Web Server", voir aussi Fonctionnement). C'est pourquoi, si le service Web doit être accessible aux clients HTTP se trouvant en dehors du localhost, le service "FlowForce Server" doit aussi être configuré pour écouter soit sur toutes les interfaces, soit sur une adresse spécifique différente du localhost. Vous pouvez vérifier si ce service est configuré correctement en accédant à l'URL suivante provenant du navigateur : http://<FlowForce Server><port>/service/ . Toutes les tâches qui sont exposées en tant que services Web (le cas échéant) devraient apparaître en tant que liens directement dans la fenêtre du navigateur.

 

Avant de le déployer, le mappage doit aussi être reconfiguré pour utiliser des chemins relatifs au lieu des chemins absolus, comme suit :

 

1.Ouvrir le mappage DB_PhoneList.mfd dans MapForce, cliquer avec la touche de droite sur la zone de mappage et choisir Paramètres de mappage depuis le menu contextuel.
2.Décocher la case Rendre les chemins absolus dans le code généré.

fs_ws_job_02

3.Enregistrer le mappage.

 

Les bases de données basées sur fichier comme Microsoft Access ou SQLite ne sont pas déployées sur un appareil cible avec le mappage. C'est pourquoi, la base de données Access doit être copiée manuellement depuis l'appareil source vers l'appareil cible. Copier le fichier de base de données altova.mdb depuis le répertoire ..\Documents\Altova\MapForce2019\MapForceExamples dans l'appareil source vers un répertoire vide sur l'appareil cible. Dans cet exemple, le répertoire cible est "C:\FlowForceWorkingDir". Ce répertoire sera référencé plus tard depuis la tâche FlowForce.

 

Le mappage est maintenant prêt à être déployé vers FlowForce Server. Pour plus d'informations concernant le déploiement des mappages contenant des connexions à des bases de données, voir Préparer des mappages pour l'exécution de serveur.

 

Déployer le mappage

1.Ouvrir DB_PhoneList.mfd dans MapForce.
2.Dans le menu Fichier, cliquer sur Déployer sur FlowForce Server. dans notre exemple, nous considérons que le mappage est déployé sur le chemin par défaut (conteneur /public). Si vous déployez le mappage vers FlowForce Server sur une autre machine, changer l'adresse et le port de serveur de "localhost:8082" à ceux configurés depuis FlowForce Server (voir ci-dessus).

fs_ws_job_01

 

Créer la tâche FlowForce

Jusqu'à présent, vous avez déployé le mappage sur FlowForce Server et la page de configuration de la tâche est ouverte dans le navigateur (si vous avez sélectionné la case à cocher Ouvrir le navigateur web pour créer une nouvelle tâche dans la fenêtre ci-dessus). Sinon, lorsque vous vous connectez sur l'interface d'administration Web FlowForce Server Web, ouvrir la fonction de mappage déployée précédemment (devant se trouver dans le conteneur /public), puis cliquez sur Créer tâche.

 

Pour configurer la tâche :

1.Sous "Paramètres d'entrée de la tâche", créer un nouveau paramètre d'entrée de type chaîne et le nommer NamePrefix.

ExampleWebService1

2.Sous "Étapes d'exécution", à côté de NamePrefix, cliquer sur Configurer, puis choisir NamePrefix. Cela permet de configurer la valeur du paramètre de mappage NamePrefix à la valeur du paramètre d'entrée NamePrefix créé dans l'étape précédente.
3.À côté de Working-directory, saisir "C:\FlowForceWorkingDir" (il faut que ce soit le même répertoire que celui dans lequel le fichier Access a été copié précédemment).

fs_ws_job_03

4.Sous "Service", choisir la case à cocher Rendre cette tâche disponible via HTTP, et saisir "GetPhoneList" en tant que nom du service.

ExampleWebService3

5.Sous Identifiants, choisir une entrée d'identifiant existante ou spécifier un identifiant local (voir aussi Identifiants).

 

Les identifiants sont la combinaison du nom d'utilisateur et du mot de passe associés à un compte d'utilisateur sur le système d'exploitation sur lequel la tâche FlowForce Server est exécutée. Lorsque vous définissez une tâche dans FlowForce Server, vous devez fournir les identifiants avec lesquels la tâche doit être effectuée. Veuillez noter que si le compte utilisateur associé avec les identifiants fournis ne dispose pas des droits suffisants pour le système d'exploitation, la tâche ne pourra pas être exécutée correctement.

fs_deploy_mapping_05

Note :Ne pas confondre ces identifiants avec ceux utilisés pour accéder à l'interface d'administration Web FlowForce Server. De même, assurez-vous que l'utilisateur saisi ici soit en mesure d'accéder au fichier de base de données altova.mdb depuis le répertoire de travail ; sinon, la tâche ne pourra pas s'exécuter correctement.

 

6.Cliquer sur Enregistrer.

 

Invoquer le service Web

Vous pouvez maintenant invoquer le service Web que vous venez de créer, comme suit :

 

1.Ouvrir un navigateur web et saisir l'URL suivante dans la barre d'adresse (remplacer [FlowForceServer] et [Port] avec les paramètres configurés dans la page d'administration) :

 

http://[FlowForceServer]:[Port]/service/GetPhoneList

 

Si vous utilisez Internet Explorer pour tester les tâches FlowForce Server exposées en tant que services Web, désactiver l'option "Show friendly HTTP error messages" dans l'onglet Avancé.

 

2.Lorsque le champ de l'identifiant apparaît, saisir les identifiants que vous utilisez pour accéder à l'interface d'administration Web de FlowForce Server.
3.Lorsque vous devez saisir les paramètres du service Web, saisir F (si vous souhaitez extraire toutes les personnes dont le nom de famille commence avec la lettre « F »).

ExampleWebService4

4.Cliquer sur Envoyer. FlowForce Server traite la tâche et retourne le résultat.

ExampleWebService5

Si la tâche est exécutée correctement, la sortie de la tâche est affichée directement dans le navigateur (et est aussi générée dans le répertoire de travail C:\FlowForceWorkingDir). Sinon, si vous voyez une erreur d'exécution, veuillez vous référer au journal de la tâche pour plus de détails (voir Consulter le journal de tâche).


© 2019 Altova GmbH