4D v16.3

Présentation

Accueil

 
4D v16.3
Présentation

Présentation  


 

Un Service Web (ou Web Service) est un ensemble de fonctions regroupées en tant qu’entité et publié sur un réseau. Ces fonctions peuvent être invoquées et utilisées par n’importe quelle application compatible Services Web et connectée au même réseau. Bien entendu, les Services Web trouvent tout leur sens dans une publication sur Internet. 

Les Web Services peuvent effectuer tout type de tâche, telle que le suivi d’acheminement de colis chez un transporteur, le commerce électronique, le suivi de valeurs boursières, etc. 

Le programme publiant le service est appelé “serveur”. Toute application compatible Web Services peut alors utiliser une ou plusieurs de ces fonctions ; il s’agit du programme “client”.
L’intérêt des Web Services est l’interopérabilité dans des systèmes d’information hétérogènes : il n’est pas nécessaire que les programmes serveur et clients soient compatibles entre eux pour que le système fonctionne. Du point de vue de l’application cliente, un Web Service est une “boîte noire” : des valeurs lui sont envoyées et d’autres valeurs issues du traitement sont retournées. 

Les Web Services proposés par le serveur peuvent être publics ou privés. Il existe sur Internet une grande quantité de Web Services publics, que toute application peut solliciter gratuitement. 

Soutenue par le W3C (World Wide Web Consortium, autorité régulatrice de l’Internet) et les grandes sociétés du secteur de l’informatique, les Web Services représentent une solution de connectivité sûre, durable et évolutive.

Les Services Web transitent essentiellement via le protocole de transport HTTP.

  • SOAP : Les Services Web utilisent un protocole de communication haut niveau “ouvert” nommé SOAP (Simple Object Access Protocol). Ce protocole est entièrement basé sur le langage XML, tant au niveau de la structure du message (l’enveloppe) que des données échangées. Le fonctionnement de ce protocole est décrit par les RFCs (Request For Comment, document normalisant un aspect d’Internet), ce qui lui garantit une large compatibilité.
    Le principe de fonctionnement d’un Service Web est le suivant : un client du Service Web envoie une requête en XML au serveur via le protocole SOAP. Le serveur analyse la requête, effectue l’opération demandée et retourne sa réponse via les mêmes protocole et langage.
  • WSDL : Les serveurs de Services Web publient généralement un WSDL (Web Service Description Language) afin de définir les spécifications d’accès aux services proposés. Il permet aux serveurs de Services Web de fournir le “mode d’emploi” des services proposés (URLs, listes de méthodes, paramètres, etc.). Il prend la forme d’un fichier XML généralement créé par l’application serveur elle-même. Ce fichier n’est pas obligatoire. 
  • UDDI : L’UDDI (Universal Description Discovery and Integration) est une base de données mondiale recensant tous les Services Web publics. A noter qu’il n’est pas obligatoire de rendre public un Service Web et que cela ne sera pas nécessaire dans la plupart des cas.

4D peut être utilisé en tant que serveur et/ou client de Services Web. L’intégration des Services Web dans 4D est simple et sécurisée : plusieurs paramétrages permettent de contrôler précisément les conditions de publication et de souscription.

Vous pouvez décider de publier n’importe quelle méthode projet en tant que Service Web, sans modification majeure. La publication est une propriété de la méthode :

Note : La publication de Web Services avec 4D requiert une licence spécifique, la licence SOAP.

Le serveur Web de 4D prend automatiquement en charge la gestion du service ainsi que la publication et la maintenance du fichier WSDL.
L’analyse du contenu XML des requêtes, le formatage des paramètres, le renvoi des résultats, etc., sont effectués par 4D sans qu’aucune programmation spécifique ne soit nécessaire.

Si vous souhaitez personnaliser le traitement des requêtes, vous pouvez toutefois utiliser les commandes spécifiques du langage de 4D — reportez-vous au chapitre Web Services (Serveur) dans le manuel Langage de 4D.

Vos bases de données peuvent utiliser tout type de Service Web proposé sur Internet ou sur votre réseau. La plupart du temps, l’Assistant Web Services vous permettra d’utiliser instantanément n’importe quel Service Web avec un minimum de programmation :

Le principe d’utilisation d’un Service Web dans 4D consiste à envoyer des requêtes sur le réseau et de récupérer une réponse. Les méthodes “proxy” sont en charge de ces opérations. La création des méthodes proxy d’appel des Services Web est entièrement automatique et peut être effectuée sans programmation. Il vous suffit juste d’appeler ces méthodes dans votre code.

Comme pour la partie serveur, il est également possible de personnaliser ces méthodes à l’aide du langage de 4D (cf. paragraphe Web Services (Client).

Les Services Web publiés par 4D héritent des mécanismes de sécurité mis en place pour le serveur Web de 4D. Les requêtes Web Services bénéficient donc des mêmes paramétrages que les requêtes Web classiques : mots de passe, appel des méthodes base Sur authentification Web et Sur connexion Web, utilisation du protocole SSL, etc.

En outre, des fonctions spécifiques (par exemple les commandes SOAP Get info et SOAP Request) permettent de contrôler précisément la publication des Services Web.

Côté client, la connexion aux serveurs de Services Web peut s’effectuer en mode sécurisé via SSL. La commande WEB SERVICE AUTHENTICATE permet également de se connecter à des serveurs et/ou des proxies requérant une authentification.

La couche de communication des Services Web (assurant le transport, l’appel des services et la sécurité des échanges) peut fonctionner dans deux modes distincts : le mode RPC (Remote Procedure Call) et le mode DOC (Message/Document). La différence entre ces modes réside au niveau de la construction des requêtes et des réponses pour le serveur et le client. Le mode DOC est requis par certaines applications clientes. 

4D prend en charge le mode RPC et le mode DOC :

  • Côté client, cette prise en charge est transparente via l’Assistant Web Services. Le code généré est automatiquement adapté au mode de publication.
  • Côté serveur, cette prise en charge est également transparente : les méthodes sont automatiquement publiées comme Web Services en mode DOC et en mode RPC. Le choix du mode s’effectue via l’URL du WSDL (cf. paragraphe Génération du WSDL).
    • Pour publier un Web Service 4D en mode RPC, il suffit d’utiliser l’URL suivant pour le WSDL :
      http://AdresseServeur/4DWSDL
      Le serveur 4D se charge de traiter les requêtes et les réponses en RPC. Les requêtes RPC sont automatiquement envoyées à l’adresse http://AdresseServeur/4DSOAP.
    • Pour publier un Web Service 4D en mode DOC, il suffit d’utiliser l’URL suivant pour le WSDL :
      http://AdresseServeur/4DWSDL/DOC
      Le serveur 4D se charge de traiter les requêtes et les réponses en DOC. Les requêtes DOC sont automatiquement envoyées à l’adresse http://AdresseServeur/4DSOAP/DOC

Deux types différents de données xml sont échangés via le protocole SOAP : les données de type simple et les données de type composé (aussi appelé type complexe). Les données des Web Services publiés en mode RPC peuvent être soit de type simple, soit de type composé. En revanche, les données des Web Services publiés en mode DOC sont systématiquement de type composé. 4D prend en charge les Web Services utilisant des données de types simple et complexe. 

Les données XML de type complexe ne sont pas directement exploitables dans une base de données 4D et nécessitent un traitement spécifique. Dans de nombreux cas, l’Assistant Web Services effectuera ce traitement pour vous, toutefois il vous sera parfois nécessaire de compléter ce traitement à l’aide des commandes XML du langage de 4D. Pour plus d’informations sur ce point, reportez-vous au paragraphe Traitement des types composés.

La page Web services des Propriétés de la base (thème “Web”) permet de définir des paramètres généraux concernant la publication et l’utilisation de Services Web :

L’action de ces paramètres est décrite dans les pages suivantes. Pour une présentation spécifique de chaque option, reportez-vous à la section Page Web/Web services

 
PROPRIÉTÉS 

Produit : 4D
Thème : Publication et utilisation de Services Web

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v16)
4D - Mode Développement ( 4D v16.1)
4D - Mode Développement ( 4D v16.3)