J'ai lu des articles sur les "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?
Si je crée un site Web simple en utilisant PHP), il suffit, par exemple, d’imprimer un nombre entier aléatoire sur la page ... s’agit-il d’un "service Web"? Sinon, pourquoi pas?
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 dans PHP qui génère du HTML, sa cible est le navigateur et par extension, la personne qui lit la page dans le navigateur. Un service Web ne vise pas les humains, mais plutôt d'autres programmes.
Ainsi, votre site PHP) qui génère un nombre entier aléatoire peut être un service Web s'il génère le nombre entier dans un format susceptible d'être utilisé par un autre programme. Il peut s'agir d'un format XML ou d'un autre format, aussi longtemps que d'autres programmes peuvent comprendre la sortie.
La définition complète est évidemment plus complexe, mais vous avez demandé un anglais clair.
Explication simplifiée, non technique: Un service Web permet à un PROGRAMME de communiquer avec une page Web au lieu d'utiliser votre navigateur pour ouvrir une page Web.
Exemple: je peux aller sur maps.google.com, taper mon adresse personnelle et voir une carte de l'endroit où j'habite dans mon navigateur.
Mais que se passerait-il 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 rien, OR), vous pouvez appeler un service Web fourni par Google Maps, lui envoyer l'adresse et vous renvoyer une carte graphique de l'emplacement, que vous pouvez afficher dans votre programme.
Il y en a beaucoup plus, comme certains des autres articles, mais cela permet à votre application de récupérer des informations DE ou de soumettre des informations à une ressource. Quelques autres exemples:
Oui, c'est un simple service Web.
Les services Web ne sont en réalité rien de plus qu'un mécanisme de requête/réponse permettant à un client d'accéder à des données/de les modifier à distance. Il existe des normes formelles pour les services Web (SOAP, SOA etc.)), mais votre page simple est également un service.
Le principal inconvénient de l’impression sur une page est que votre service renvoie le code HTML. Les formats de données préférables sont JSON et XML, car la plupart des infrastructures clientes (et serveurs) sont conçues autour de JSON et XML.
Donc, si vous avez modifié votre service pour retourner:
<RANDOM>some random number</RANDOM>
plutôt que:
<HEAD>...</HEAD>
<BODY>some random number</BODY>
alors il serait plus utile à la plupart des clients
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.
Services Web standard utilisent le protocole SOAP qui définit la communication et la structure des messages, et XML correspond au format de données.
Les services Web sont conçus pour permettre aux applications construites à l'aide de différentes technologies de communiquer entre elles sans problème.
Des exemples de services Web sont, par exemple, Weather.com fournissant des informations météorologiques que vous pouvez utiliser sur votre site ou UPS fournissant une méthode pour demander des devis d’expédition ou le suivi de colis.
Éditer
Changement de libellé en référence à SOAP, car il n’est pas toujours SOAP comme je l’ai mentionné, mais je voulais que ce soit plus clair. La clé est de fournir des données en tant que service et non comme un élément d’interface utilisateur.
Un service Web diffère d'un site Web en ce sens qu'il fournit des informations consommables par le logiciel plutôt que par l'homme. Par conséquent, nous parlons généralement de services exposés JSON , XML ou SOAP.
Les services Web sont un composant clé des "mashups". Les mashups se présentent lorsque des informations provenant de nombreux sites Web sont automatiquement regroupées dans un nouveau service utile. Par exemple, certains sites 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 serait de prendre les données boursières réelles fournies par un autre site et de les combiner avec une fausse application de trading pour créer un "jeu" boursier.
Les services Web servent également à fournir des actualités (voir RSS), les derniers éléments ajoutés à un site, des informations sur les nouveaux produits, les podcasts et d’autres fonctionnalités intéressantes qui font tourner le Web moderne.
J'espère que cela t'aides!
La meilleure explication en anglais clair provient d’une analogie:
Votre exemple PHP est un service Web au sens de cette définition, car le résultat pourrait être utilisé par un autre programme. Mais en réalité, le récurage d’écran HTML n’est pas un moyen fiable ou maintenable de produire des services Web.
Pour la plupart des sites, vous avez des pages HTML que vous visitez lorsque vous utilisez votre navigateur. Il s’agit de pages lisibles par l’homme (une fois restituées dans votre navigateur) où de nombreuses données risquent d’être entassées, car c’est logique pour les humains.
Maintenant, imaginez 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 souhaitées, mais la plupart des sites Web ne sont pas conçus de manière à ce que les données soient à 100% certaines d'être placées au même endroit pour tous les éléments. devenir encombrant, il devient également peu fiable.
Entrez 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" pour vos données. Au lieu de présenter les données dans le cadre d'une page Web, elles sont fournies de manière prédéterminée, parmi les plus populaires étant XML et JSON. Il existe plusieurs façons de communiquer avec un service Web, certaines 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 ceux qui souhaitent utiliser les données peuvent envoyer une demande de récupération de certaines données, facile à analyser et à utiliser. Certains sites peuvent nécessiter que vous fournissiez un nom d'utilisateur/mot de passe dans la demande pour les données sensibles, tandis que d'autres permettent à quiconque d'extraire les données dont ils pourraient avoir besoin.
Un service Web est un ensemble de protocoles ouverts et de normes utilisées 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 tels qu'Internet, de la même manière qu'une communication inter-processus sur un seul ordinateur. Cette interopérabilité (par exemple entre Java et Python, ou les applications Windows et Linux) est due à l'utilisation de normes ouvertes (XML, SOAP, HTTP).
Tous les services Web standard fonctionnent à l'aide des composants suivants:
Cela fonctionne un peu comme ceci:
Webservice est une technologie grâce à laquelle deux applications Web distantes ou plus interagissent via un réseau/Internet. Il peut être implémenté en utilisant Java, .net, PHP etc.
Caractéristiques du service Web: -
Simple way to explain web service is ::
L’avantage d’un service Web est que vous développez un morceau de code en .net et que vous souhaitez utiliser Java pour utiliser ce code. Vous pouvez interagir directement avec avec la couche abstraite et ignorent quelle technologie a été utilisée pour développer le code.
Un service Web, 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.
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 programme.
De la même manière, 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.
Le service Web est comme un moyen de communication entre deux programmes indépendants. Les programmes utilisent un protocole spécifié (généralement SOAP) comme support pour comprendre quelle DEMANDE/RÉPONSE ils doivent traiter/exécuter à leur extrémité respective.
Une définition simple serait une requête HTTP qui agit comme un appel de méthode normal; c'est-à-dire qu'il accepte les paramètres et renvoie un résultat structuré, généralement XML, pouvant être désérialisé en un ou plusieurs objets.
Les services Web ressemblent presque à une page Web. La différence est qu'ils sont formatés de manière à ce qu'il soit très facile pour un programme d'extraire des données de la page, au point de ne pas utiliser de code HTML. Ils sont généralement plus fiables quant à la cohérence du format, peuvent utiliser un processus formel différent pour définir le contenu, tel que soap ou xml brut, et il existe souvent un document descripteur définissant formellement la structure des données.
Bien,
Comme @Vincent Ramdhanie a déclaré qu'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 :)
Un moyen 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 réseau est normalisé à un niveau supérieur.
Ancienne manière: décrire les endians, le codage, les numéros de port, etc. Service Web: URL, XML
Un service Web définit un contrat d'actions qu'un serveur effectuera pour vous. Le format et le protocole importent peu, mais vous devriez avoir une définition précise du mode de communication.
Dans votre exemple, cela dépend, si cela est utilisé dans une autre application qui lit ce numéro, oui, il s'agit d'un service, sinon, il ne s'agit que d'une page Web avec un numéro.
En termes simples, le service Web peut être n’importe quel programme simple, par exemple: ajoutez deux numéros qui doivent être publiés sur le UDDI et peuvent être utilisés par un autre programme.
"Service Web" est composé de deux mots, "Web" et "Service".
Qu'est-ce que le "Web"? "Web" signifie "World Wide Web".
'Service' pour quoi? Not for Human, si c'est le cas, c'est une "page Web", telle que du texte, des images, des vidéos, etc.
Il appartient aux programmes de communiquer via Internet en utilisant la même technologie que le "Web" utilisée, telle que TCP, HTTP, etc.
"Service" signifie également qu’il fournit certaines fonctions, comme la "couche de service" dans CRUD. Il y a principalement deux types:
1. SOAP (Simple Object Access Protocol)
2. RESTful (Transfert d'état représentationnel)
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 offrent des fonctionnalités similaires, bien qu’elles soient un style architectural différent de celui utilisé pour le SOAP, qui est un système entièrement défini.). protocole.