Qu'est-ce qu'un «service Web» en anglais simple?


186

J'ai lu des "services Web" ici sur SO, sur Wikipedia, Google, etc., et je ne comprends pas très bien ce qu'ils sont. Quelle est la définition / description en anglais simple?

Si je crée un site Web simple en utilisant PHP qui, disons, imprime simplement un entier aléatoire sur la page ... est-ce un "service Web"? Sinon, pourquoi pas?

Réponses:


286

Une définition simple: un service Web est une fonction accessible par d'autres programmes sur le Web (HTTP).

Par exemple, lorsque vous créez un site Web en PHP qui génère du HTML, sa cible est le navigateur et par extension l'humain lisant la page dans le navigateur. Un service Web n'est pas destiné aux humains mais plutôt à d'autres programmes.

Ainsi, votre site PHP qui génère un entier aléatoire pourrait être un service Web s'il génère l'entier dans un format qui peut être utilisé par un autre programme. Il peut s'agir d'un format XML ou d'un autre format, à condition que d'autres programmes puissent comprendre la sortie.

La définition complète est évidemment plus complexe mais vous avez demandé un anglais simple.


2
Cette explication est bonne, mais qu'est-ce qui rompt la capacité de consommer l'entier aléatoire par un autre programme à partir du HTML? Il existe de nombreuses bibliothèques pour lire du HTML et c'est la même chose que la lecture de XML pour moi, et presque la même chose que la lecture de JSON. Je connais ce post très ancien, mais commentez s'il vous plaît, si possible.
Pavlo

7
C'est une question d'intention plutôt que de capacité. L'intention du service Web est d'être utilisé par d'autres applications. L'intention du html est d'être rendu pour l'utilisateur par le navigateur.
Vincent Ramdhanie

pour tous ceux qui pensent que cela ressemble beaucoup à une API - voir cet excellent article pour les différences entre un service Web et une API
Sami Birnbaum

60

Explication simplifiée et non technique: Un service Web permet à un PROGRAMME de parler à une page Web, au lieu d'utiliser votre navigateur pour ouvrir une page Web.

Exemple: je peux accéder à maps.google.com, saisir mon adresse personnelle et voir une carte de mon lieu de résidence dans mon navigateur.

Mais que faire si vous écriviez un programme informatique dans lequel vous vouliez prendre une adresse et afficher une jolie carte, tout comme Google Maps?

Eh bien, vous pouvez écrire un tout nouveau programme de cartographie à partir de zéro, OU vous pouvez appeler un service Web fourni par Google Maps, lui envoyer l'adresse et il renverra une carte graphique de l'emplacement, que vous pouvez afficher dans votre programme.

Il y a beaucoup plus à faire, comme le font certains des autres articles, mais le résultat est que cela permet à votre application de récupérer des informations DE, ou de soumettre des informations à une ressource. Quelques autres exemples:

  1. Vous pouvez utiliser un service Web pour récupérer des informations sur les livres sur Amazon.com
  2. Vous pouvez utiliser un service Web similaire pour soumettre une commande à Amazon.com
  3. Vous pouvez CRÉER un service Web pour permettre à des applications externes de trouver des informations sur les produits au sein de votre entreprise
  4. vous pouvez créer un service Web pour permettre à des applications extérieures de soumettre des commandes à votre entreprise.

34

Oui, c'est un simple service Web.

Les services Web ne sont en réalité rien de plus qu'un mécanisme de demande / réponse qui permet à un client d'accéder / modifier à distance des données. Il existe des normes formelles pour les services Web (SOAP, SOA, etc.), mais votre simple page est aussi un service.

Le principal inconvénient de l'imprimer sur une page est que votre service renverrait du HTML. Les formats de données préférables sont JSON et XML, car la plupart des frameworks client (et des frameworks serveur) sont conçus autour de JSON et XML.

Donc, si vous avez modifié votre service pour revenir:

<RANDOM>some random number</RANDOM>

plutôt que:

<HEAD>...</HEAD>  
<BODY>some random number</BODY>

alors ce serait plus utile à la plupart des clients


J'ai mis à jour ma réponse pour refléter cela. J'ai eu des problèmes avec SO n'affichant pas les onglets XML / HTML :)
David Arno

Merci. Exactement ce que j'en pense. XML est très similaire au HTML, donc la page HTML dont nous parlons est fournie par un service Web.
Pavlo

21

En termes simplifiés, un service Web est quelque chose qui fournit des données en tant que service via le protocole http. Certes, ce n'est pas toujours le cas ... mais c'est proche.

Utilisation standard des services Web Le protocole SOAP qui définit la communication et la structure des messages, et XML est le format des données.

Les services Web sont conçus pour permettre aux applications créées à l'aide de différentes technologies de communiquer entre elles sans problème.

Des exemples de services Web sont des éléments tels que Weather.com qui fournit des informations météorologiques que vous pouvez utiliser sur votre site, ou UPS qui fournit une méthode pour demander des devis d'expédition ou le suivi des colis.

Éditer

Changement de libellé en référence à SOAP, car ce n'est pas toujours SOAP comme je l'ai mentionné, mais je voulais le rendre plus clair. La clé est de fournir des données en tant que service, pas un élément d'interface utilisateur.


1
Il n'est pas nécessaire que ce soit SOAP - si vous parlez de services Web (en minuscules), REST est de plus en plus courant.
John Topley

17

Un service Web diffère d'un site Web en ce qu'un service Web fournit des informations consommables par le logiciel plutôt que par les humains. Par conséquent, nous parlons généralement de services JSON , XML ou SOAP exposés .

Les services Web sont un élément clé des «mashups». Les mashups sont lorsque les informations de nombreux sites Web sont automatiquement agrégées dans un nouveau service utile. Par exemple, il existe des sites qui agrègent Google Maps avec des informations sur les rapports de police pour vous donner une représentation graphique de la criminalité dans votre région. Un autre type de mashup consisterait à prendre des données boursières réelles fournies par un autre site et à les combiner avec une fausse application de trading pour créer un «jeu» boursier.

Les services Web sont également utilisés pour fournir des actualités (voir RSS), les derniers éléments ajoutés à un site, des informations sur les nouveaux produits, des podcasts et d'autres fonctionnalités intéressantes qui font tourner le Web moderne.

J'espère que cela t'aides!


15

La meilleure explication en anglais simple vient de l'utilisation d'une analogie:

  • Les pages Web permettent aux gens de communiquer et de collaborer les uns avec les autres.
  • Les services Web permettent aux programmes de communiquer et de collaborer les uns avec les autres.

Votre exemple PHP est un service Web par cette définition, car la sortie pourrait être consommée par un autre programme. Mais en réalité, la capture d'écran HTML n'est pas un moyen fiable ou maintenable de produire des services Web.


13

Pour la plupart des sites, vous avez des pages HTML que vous visitez lorsque vous utilisez votre navigateur. Ce sont des pages lisibles par l'homme (une fois rendues dans votre navigateur) où de nombreuses données peuvent être entassées, car cela a du sens pour les humains.

Imaginez maintenant que quelqu'un d'autre veuille utiliser certaines de ces données. Ils pourraient télécharger votre page et commencer à filtrer tout le «bruit» pour obtenir les données qu'ils voulaient, mais la plupart des sites Web ne sont pas conçus de manière à ce que les données soient à 100% sûres d'être placées au même endroit pour tous les éléments, donc en plus à être encombrant, il devient également peu fiable.

Entrez dans les services Web.

Un service Web est quelque chose qu'un site Web choisit d'offrir à ceux qui souhaitent lire, mettre à jour et / ou supprimer des données de votre site Web. Vous pourriez appeler cela une «porte dérobée» à vos données. Au lieu de présenter les données dans le cadre d'une page Web, elles sont fournies d'une manière prédéterminée où certains des plus populaires sont XML et JSON. Il existe plusieurs façons de communiquer avec un service Web, certains utilisent SOAP, d'autres ont des services Web REST, etc.

Ce qui est commun à tous les services Web, c'est qu'ils sont l'équivalent lisible par machine des pages Web que le site propose par ailleurs. Cela signifie que d'autres personnes souhaitant utiliser les données peuvent envoyer une demande de récupération de certaines données faciles à analyser et à utiliser. Certains sites peuvent vous demander de fournir un nom d'utilisateur / mot de passe dans la demande, pour les données sensibles, tandis que d'autres sites permettent à quiconque d'extraire les données dont ils pourraient avoir besoin.


12

Un service Web est un ensemble de protocoles et de normes ouverts utilisés pour l'échange de données entre des applications ou des systèmes. Les applications logicielles écrites dans divers langages de programmation et exécutées sur diverses plates-formes peuvent utiliser des services Web pour échanger des données sur des réseaux informatiques comme Internet d'une manière similaire à la communication inter-processus sur un seul ordinateur. Cette interopérabilité (par exemple, entre Java et Python, ou entre les applications Windows et Linux) est due à l'utilisation de standards ouverts (XML, SOAP, HTTP).

Tous les services Web standard fonctionnent avec les composants suivants:

  • SOAP (Simple Object Access Protocol)
  • UDDI (Description universelle, découverte et intégration)
  • WSDL (langage de description de services Web)

Cela fonctionne un peu comme ceci:

  • Le programme client regroupe les informations d'enregistrement du compte dans un message SOAP.
  • Ce message SOAP est envoyé au service Web en tant que corps d'une requête HTTP POST.
  • Le service Web décompresse la requête SOAP et la convertit en une commande que l'application peut comprendre.
  • L'application traite les informations selon les besoins et répond avec un nouveau numéro de compte unique pour ce client.
  • Ensuite, le service Web regroupe la réponse dans un autre message SOAP, qu'il renvoie au programme client en réponse à sa requête HTTP.
  • Le programme client décompresse le message SOAP pour obtenir les résultats du processus d'enregistrement de compte.

1
" Tous les services Web standard fonctionnent à l'aide des composants suivants: " ... le problème avec cette réponse est qu'elle suggère que les services Web fonctionnent ou doivent fonctionner dans le mécanisme SOAP / WSDL. Ceci est inexact. Le transfert d'état de représentation (REST) ​​est un autre paradigme très populaire pour la mise en œuvre de services Web. Certains sites Web majeurs ont désapprouvé leurs services SOAP au profit des services Web REST.
scottb

@scottb Je suis totalement d'accord. Merci pour la mise à jour. Aussi, pour ma défense, mes connaissances sur les services Web étaient très limitées à l'époque!
vanguard69

7

Simple way to explain web service is ::

  • Un service Web est une méthode de communication entre deux appareils électroniques sur le World Wide Web.
  • Il peut être appelé un processus qu'un programmeur utilise pour communiquer avec le serveur
  • Pour appeler ce processus, le programmeur peut utiliser SOAP, etc.
  • Les services Web reposent sur des normes ouvertes telles que TCP / IP, HTTP

L'avantage d'un webservice est, disons que vous développez un morceau de code en .net et que vous souhaitez utiliser JAVA pour consommer ce code. Vous pouvez interagir directement avec la couche abstraite et ne savez pas quelle technologie a été utilisée pour développer le code.


Image


7

Webservice est une technologie par laquelle deux ou plusieurs applications Web distantes interagissent les unes avec les autres sur le réseau / Internet. Il peut être implémenté en utilisant Java, .net, PHP, etc.

Caractéristiques du service Web: -

  1. À l'aide de services Web, deux systèmes ou plus échangent des données sur le réseau. Les données sont échangées en utilisant XML ou JSON.
  2. Tout service Web comprend deux parties: l'extrémité serveur où le service est déployé et la partie client où le service est accédé par ses clients. Tout service Web peut avoir plusieurs clients. Lorsqu'un portail de voyages vend des billets d'avion de ligne. Le portail est le client et la compagnie aérienne est le serveur car elle vend son service.
  3. Les services Web peuvent être synchrones ou asynchrones. Une application Web peut interagir avec de nombreux services Web mais ces services Web sont faiblement couplés avec leurs applications Web clientes. Cela signifie que tout changement dans l'application parente a peu ou pas d'effet sur les services Web ou vice versa.
  4. Les services Web peuvent également transporter des pièces jointes telles que PDF, Word, etc. avec leur charge utile XML. Java fournit une API distincte pour ce type de services Web.
  5. Un service web cache toujours la complexité interne du service à ses clients. Par exemple, un avion de ligne qui vend des billets via un portail tiers ne collecte que des informations sur l'utilisateur final via un service Web et en retour, il fournit un billet. Le portail qui vend des billets n'a pas à se soucier de la complexité interne des systèmes de réservation de billets des compagnies aériennes.
  6. Un service Web peut être de type Fire et oublier ou il peut renvoyer quelque chose. Supposons qu'une application Web souhaite simplement envoyer des informations à une application tierce. L'expéditeur n'a besoin d'aucun accusé de réception du destinataire. Dans ce type de scénario, nous avons besoin d'un incendie et oubliez le type de service Web.

5

Un service Web, tel qu'utilisé par les développeurs de logiciels, fait généralement référence à une opération effectuée sur un serveur distant et appelée à l'aide de la spécification XML / SOAP. Comme pour toutes les définitions, il y a des nuances, mais c'est l'utilisation la plus courante du terme.


1
Désolé Jezelll, a dû jeter un vote défavorable. Ce n'est pas ce que je considérerais comme un `` anglais clair '': (Je n'ai pas de problème avec l'intention de votre définition, mais utiliser des mots comme `` opération '', `` serveur distant '', `` invoqué '' et `` spécification '' rend les choses difficiles pour les débutants à comprendre. Voir la réponse de Mitchel Sellers comme un exemple de «
langage

5

Un système d'exploitation fournit une interface graphique (et une CLI) avec laquelle vous pouvez interagir. Il fournit également une API avec laquelle vous pouvez interagir par programmation.

De même, un site Web fournit des pages HTML avec lesquelles vous pouvez interagir et peut également fournir une API qui offre les mêmes informations et opérations par programmation. Ou ces services peuvent uniquement être disponibles via une API sans interface utilisateur associée.


4

Bien,

Comme @Vincent Ramdhanie l'a dit, un service Web n'est pas destiné à être vu / consommé par l'utilisateur final mais par un autre programme. Donc, techniquement, la logique de votre programme sera:

En cas d'agir comme un programme normal

user on website -> HTML/JS/JQuery etc -> give me a random number ->ur program

Maintenant

ur program -> generate random number -> generate HTML and encapsulate o/p -> go back to user

mais en cas de service web, le flux change un peu:

user -> my application -> XML/JSON/some other format -> give me a random number ->ur program Maintenant

ur program -> generate random number -> generate XML/JSON/some other format -> my application -> generate HTML and encapsulate o/p -> go back to user

J'espère que cela t'aides :)


3

Une définition simple serait une requête HTTP qui agit comme un appel de méthode normal; c'est-à-dire qu'il accepte des paramètres et renvoie un résultat structuré, généralement XML, qui peut être désérialisé en un ou plusieurs objets.


3

Les services Web sont presque comme une page Web normale. La différence est qu'ils sont formatés pour qu'il soit très facile pour un programme d'extraire des données de la page, au point de ne probablement pas utiliser de HTML. Ils sont généralement aussi plus fiables quant à la cohérence du format, peuvent utiliser un processus formel différent pour définir le contenu tel que soap ou raw xml, et il existe souvent aussi un document descripteur qui définit formellement la structure des données.


3

Une manière d'envoyer un message pour appeler une opération sur un autre ordinateur. La différence entre les services Web et les méthodes précédentes est que ce qui est envoyé sur le fil est normalisé à un niveau supérieur.

Ancienne méthode: décrire les endians, l'encodage, les numéros de port, etc. Service Web: URL, XML


3

Le service Web est comme un moyen de communication entre deux programmes indépendants. Les programmes utilisent un protocole spécifié (généralement Simple Object Access Protocol (SOAP) ) comme moyen pour comprendre quelle DEMANDE / RÉPONCE ils doivent traiter / exécuter à leur extrémité respective.


2

Un service Web définit un contrat d'actions qu'un serveur exécutera pour vous. Le format et le protocole n'ont pas vraiment d'importance, mais vous devriez avoir une définition d'ensemble de la façon dont la communication se déroule.

Dans votre exemple, cela dépend, si cela est utilisé dans une autre application qui lit ce numéro, oui, c'est un service, sinon, c'est juste une page Web avec un numéro.


1

En termes simples, le service Web pourrait être n'importe quel programme simple, par exemple: ajoutez deux numéros qui devraient être publiés sur l'UDDI et peuvent être utilisés par un autre programme.WSDL aura le point final pour localiser le service Web ainsi que les détails de liaison et de port.


0

«Service Web» est composé de deux mots, «Web» et «Service».
Qu'est-ce que le «Web»? «Web» signifie «World Wide Web».
«Service» pour quoi? Pas pour l'homme, si c'est le cas, c'est une «page Web», comme du texte, des images, des vidéos, etc.
C'est pour les programmes de communiquer via Internet en utilisant la même technologie que le «Web» utilisé, comme TCP, HTTP, etc.
«Service» signifie également qu'il fournit certaines fonctions, comme la «couche de service» dans CRUD. Il existe principalement deux types:
1. SOAP (Simple Object Access Protocol)
2. RESTful (Representational state transfer)


0

Sans préjudice d'autres définitions, je dirais qu'un service Web est un système logiciel qui permet une interaction interopérable de machine à machine / application à application sur un réseau. Ces définitions génériques aideraient également à considérer les architectures REST comme un service Web car elles fournissent des fonctionnalités similaires, bien qu'il s'agisse d'un style architectural contrairement au SOAP qui est un protocole entièrement défini.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.