330 votes

Qu'est-ce qu'un point de terminaison de service web ?

Disons que mon service web se trouve à l'adresse suivante http://localhost:8080/foo/mywebservice et mon WSDL est à http://localhost:8080/foo/mywebservice?wsdl .

Est http://localhost:8080/foo/mywebservice un point de terminaison, c'est-à-dire qu'il est identique à l'URI de mon service web ou à l'endroit où les messages SOAP sont reçus et désenvoûtés ?

Pourriez-vous m'expliquer ce que c'est et à quoi cela sert ?

427voto

lbalazscs Points 5286

Voici une réponse plus courte et, je l'espère, plus claire... Oui, le point de terminaison est l'URL à laquelle votre service peut être accédé par une application cliente. Le même service web peut avoir plusieurs points de terminaison, par exemple pour le rendre disponible en utilisant différents protocoles.

0 votes

Chaque page de mon site est-elle un autre point d'accès ? Si j'ai myweb.com et myweb.com/pageOne, sont-ils tous deux des points d'accès ?

8 votes

@user137717 Non, les sites web ne sont pas des services web. Un service web est principalement utilisé par des applications, tandis que les sites web sont principalement destinés aux humains.

4 votes

@user137717 Le point de terminaison est l'URL où votre service web peut être accédé par une application cliente. Si vous ne comprenez pas ce qu'est un service web, lisez par exemple ceci : stackoverflow.com/questions/226108/

46voto

Julien Points 2428

Réponse actualisée, de Peter dans les commentaires :

Il s'agit d'une "ancienne terminologie", qui utilise directement l'expression WSDL2 "endepoint" (point de départ) définition (WSDL2 a traduit "port" par "endpoint").


Vous trouverez peut-être une réponse dans ce document : http://www.w3.org/TR/wsdl.html

Un document WSDL définit les services comme des collections de points d'extrémité du réseau, ou ports. Dans le WSDL, la définition abstraite des points d'extrémité et des messages est séparée de leur déploiement concret sur le réseau ou de leurs liaisons de format de données. Cela permet de réutiliser les définitions abstraites : les messages, qui sont des descriptions abstraites des données échangées, et les types de port, qui sont des collections abstraites d'opérations. Les spécifications concrètes du protocole et du format de données pour un type de port particulier constituent une liaison réutilisable. Un port est défini en associant une adresse réseau à une liaison réutilisable, et une collection de ports définit un service. Par conséquent, un document WSDL utilise les éléments suivants dans la définition des services réseau :

  • Types - un conteneur pour les définitions de types de données utilisant un système de types (tel que XSD).
  • Message - une définition abstraite et typée des données communiquées.
  • Opération - description abstraite d'une action prise en charge par le service.
  • Type de port - un ensemble abstrait d'opérations prises en charge par un ou plusieurs points d'extrémité.
  • Liaison - un protocole concret et une spécification de format de données pour un type de port particulier.
  • Port- un point d'extrémité unique défini comme une combinaison d'une liaison et d'une adresse réseau.
  • Service - une collection de points d'extrémité liés.

http://www.ehow.com/info_12212371_definition-service-endpoint.html

Le point d'extrémité est un point de connexion où sont exposés des fichiers HTML ou des pages de serveur actif. Les endpoints fournissent les informations nécessaires pour adresser un endpoint de service Web. Le point d'extrémité fournit une référence ou une spécification qui est utilisée pour définir un groupe ou une famille de propriétés d'adressage de message et donner des caractéristiques de message de bout en bout, telles que des références pour la source et la destination des points d'extrémité, et l'identité des messages pour permettre un adressage uniforme des messages "indépendants". Le point d'extrémité peut être un PC, un PDA ou un terminal de point de vente.

74 votes

"Les points de terminaison fournissent les informations nécessaires pour adresser un point de terminaison de service Web." J'adore cette phrase ! :D

2 votes

Il s'agit d'une "ancienne terminologie", qui utilise directement l'expression Définition WSDL2 de "endepoint". (WSDL2 a traduit "port" par "endpoint").

34voto

specialk1st Points 941

Un point de terminaison de service web est l'URL qu'un autre service web programme que vous utiliseriez pour communiquer avec votre programme. Pour voir le WSDL, vous ajoutez ?wsdl à l'URL du point de terminaison du service web.

Les services Web servent à de programme à programme l'interaction, tandis que les pages web sont destinées à du programme à l'humain interaction.

Donc : Le point final est : http://www.blah.com/myproject/webservice/webmethod

Par conséquent, WSDL est : http://www.blah.com/myproject/webservice/webmethod?wsdl


Pour approfondir les éléments d'une WSDL, je trouve toujours utile de les comparer à du code :

Un WSDL comporte deux parties (physique et abstraite).

Portion physique :

Définitions - variables - ex : myVar, x, y, etc.

Types - types de données - ex : int, double, String, myObjectType

Opérations - méthodes/fonctions - ex : maMéthode(), maFonction(), etc.

Messages - paramètres d'entrée et types de retour des méthodes/fonctions

  • ex : public myObjectType maMéthode( Chaîne de caractères maVar)

Porttypes - classes (c'est-à-dire qu'elles sont un conteneur pour les opérations) - ex : MyClass{}, etc.

Portion abstraite :

Binding - ils se connectent aux types de port et définissent le protocole choisi pour communiquer avec ce service web. - un protocole est une forme de communication (donc texte/SMS, vs. téléphone vs. email, etc.).

Service - il s'agit de l'adresse à laquelle un autre programme peut trouver votre service web (c'est-à-dire votre adresse e-mail). point de terminaison ).

5 votes

J'ai trouvé que "les services Web sont destinés à l'interaction entre programmes, tandis que les pages Web sont destinées à l'interaction entre programmes et humains" est une déclaration très utile qui m'a empêché de me demander "pourquoi diable les gens n'appellent pas simplement le point final URL".

14voto

Jose Martinez Points 172

Dans les projets antérieurs sur lesquels j'ai travaillé, le point final était une propriété relative. C'est-à-dire qu'il pouvait ou non être annexé, mais il contenait toujours l'attribut protocol://host:port/partOfThePath .

Si le service appelé comportait une partie dynamique, par exemple une ?param=dynamicValue alors cette partie sera ajoutée au point final. Mais souvent, le point final peut être utilisé tel quel sans avoir à être modifié.

Il est important de comprendre ce qu'un point d'accès n'est pas et en quoi il est utile. Par exemple, une autre façon de transmettre les informations stockées dans un point de terminaison serait de stocker les différentes parties du point de terminaison dans des propriétés distinctes. Par exemple :

hostForServiceA=someIp
portForServiceA=8080
pathForServiceA=/some/service/path
hostForServiceB=someIp
portForServiceB=8080
pathForServiceB=/some/service/path

Ou si le même hôte et le même port dans plusieurs services :

host=someIp
port=8080
pathForServiceA=/some/service/path
pathForServiceB=/some/service/path

Dans ces cas, l'URL complète devra être construite dans votre code comme tel :

String url = "http://" + host + ":" + port + pathForServiceA  + "?" + dynamicParam + "=" + dynamicValue;

Dans le contrat, cela peut être stocké comme un point de terminaison comme tel

serviceAEndpoint=http://host:port/some/service/path?dynamicParam=

Et oui, nous avons souvent stocké le point final jusqu'à et y compris le '='. Cela a conduit à un code comme celui-ci :

String url = serviceAEndpoint + dynamicValue;

J'espère que cela vous éclairera.

7voto

Satya Points 334

En termes simples, un point de terminaison est une extrémité d'un canal de communication. Lorsqu'une API interagit avec un autre système, les points de contact de cette communication sont considérés comme des points de terminaison. Pour les API, un point de terminaison peut inclure l'URL d'un serveur ou d'un service. Chaque point de terminaison est l'emplacement à partir duquel les API peuvent accéder aux ressources dont elles ont besoin pour remplir leur fonction.

Les API fonctionnent à l'aide de "demandes" et de "réponses". Lorsqu'une API demande des informations à une application web ou à un serveur web, elle reçoit une réponse. L'endroit où les API envoient les demandes et où se trouve la ressource s'appelle un point de terminaison.

Référence : https://smartbear.com/learn/performance-monitoring/api-endpoints/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X