Un service web (ou service de la toile) est un protocole d'interface informatique de la famille des technologies web
permettant la communication et l'échange de données entre applications et systèmes
hétérogènes dans des environnements distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur internet ou sur un intranet, par et pour des applications ou machines, sans intervention humaine, de manière synchrone ou asynchrone. |
|
Le protocole de communication est défini dans le cadre de la norme SOAP dans la signature du service exposé (WSDL ).
Actuellement, le protocole de transport est essentiellement HTTP(S) .Le concept a été précisé et mis en oeuvre dans le cadre de Web Services Activity, au W3C, particulièrement avec le protocole SOAP .
Associé avec les échanges de données informatisés (EDI ), le consortium ebXML l'a utilisé pour automatiser des échanges entre entreprises.
Cependant le concept s'enrichit avec l'approfondissement des notions de ressource et d'état, dans le cadre du modèle REST, et l'approfondissement
de la notion de service, avec le modèle SOA .Dans sa présentation la plus générale, un service web se concrétise par un agent, réalisé selon une technologie informatique précise par un fournisseur du service. Un demandeur, à l'aide d'un agent de requête, utilise ce service. Fournisseur et demandeur partagent une même sémantique du service web, tandis qu'agent et agent de requête partagent une même description du service pour coordonner les messages qu'ils échangent. Il existe plusieurs technologies derrière le terme services web :
WS-* sont souvent décriés, comme risquant de générer une course à la performance technologique.
Toutefois leur robustesse dans le milieu des services entre professionnels est reconnue, et ils restent largement utilisés.
Aussi l'on préfère les faire évoluer. |
SOAP est un protocole de RPC orienté objet bâti sur XML .
Il permet la transmission de messages entre objets distants, ce qui veut dire qu'il autorise un objet à
invoquer des méthodes d'objets physiquement situés sur un autre serveur.
Le transfert se fait le plus souvent à l'aide du protocole HTTP ,
mais peut également se faire par un autre protocole, comme SMTP .Le protocole SOAP est composé de deux parties : |
|
SOAP
a été initialement défini par Microsoft et IBM, mais est devenu une référence depuis une recommandation du W3C,
utilisée notamment dans le cadre d'architectures de type SOA (Service Oriented Architecture)
pour les Services Web WS-*.
Le protocole SOAP
emploie des métadonnées.SOAP
n'est plus un acronyme depuis la version 1.2. En effet, SOAP
v1.2 a été réécrit en fonction d'infosets XML
,
et non plus sous forme de sérialisations <?xml ... ?>
comme il l'était en v1.1.
La notion d'objet (spécifiée dans Simple Object Access Protocol
) devient donc obsolète.
REST (Representational State Transfer) est un style d'architecture définissant
un ensemble de contraintes et de propriétés basées sur le protocole HTTP .
Les services web conformes au style d'architecture REST ,
aussi appelés services web RESTful , établissent
une interopérabilité entre les ordinateurs sur Internet. Les services web REST permettent aux systèmes effectuant des requêtes
d'accéder et de manipuler des représentations textuelles de ressources web à
travers un jeu d'opérations uniformes et prédéfinies sans état. |
|
URL
.
Cependant, elles ont aujourd'hui une définition beaucoup plus générique et abstraite
qui inclut toute chose ou entité pouvant être identifiée, nommée,
adressée ou gérée d'une façon quelconque sur le web.service web REST
, les requêtes effectuées sur l'URI
d'une
ressource produisent une réponse qui peut être en HTML, XML, JSON
ou un autre format.
La réponse confirme que la ressource stockée a été altérée et elle peut fournir
des liens hypertextes vers d'autres ressources ou collection de ressources liées.HTTP
est utilisé, comme c'est souvent le cas,
les opérations disponibles sont GET, POST, PUT, DELETE
et d'autres méthodes HTTP CRUD
.
WebSocket est un standard du Web dèsignant un protocole rèseau de
la couche application et une interface de programmation du World Wide Web visant à crèer
des canaux de communication full-duplex par-dessus une connexion TCP .Le protocole a ètè normalisè par l'IETF dans la RFC 6455 en 2011 et l'interface de programmation par le W3C |
|
XMLHttpRequest
et utilisant des requêtes HTTP
avec un long TTL
stockèes
par le serveur pour une rèponse ultèrieure au client ont permis de pallier ce manque
et ont ètè popularisèes par le succès des architectures Ajax
.