Avec l'interconnexion des ordinateurs en réseau et en particulier à travers internet, il devient possible de faire fonctionner des applications sur des machines distantes. L'intérêt d'une application fonctionnant à distance peut à première vue sembler inutile dans la mesure où les applications fonctionnent fort bien en local (sur le poste de l'utilisateur), néanmoins une application distante peut répondre aux problématiques suivantes :
- Les données peuvent être présentes uniquement sur le serveur distant (par exemple un catalogue produit, un classement en temps réel, etc.) ;
- Le serveur distant peut disposer d'une puissance de calcul ou de capacités de stockage dont l'utilisateur local ne dispose pas ;
- L'application distante peut être utilisée simultanément par un grand nombre d'utilisateurs et sa mise à jour n'intervient qu'à un seul endroit.
Pour toutes ses raisons, une interaction entre des programmes distants peut être utile. Les Web Services apportent une solution à ce problème en définissant une manière standard d'invoquer une application distante et d'en récupérer les résultats à travers le web.
Web Service
Les services web (en anglais web services) représentent un mécanisme de communication entre applications distantes à travers le réseau internet indépendant de tout langage de programmation et de toute plate-forme d'exécution :
- utilisant le protocole HTTP comme moyen de transport. Ainsi, les communications s'effectuent sur un support universel, maîtrisé et généralement non filtré par les pare-feux ;
- employant une syntaxe basée sur la notation XML pour décrire les appels de fonctions distantes et les données échangées ;
- organisant les mécanismes d'appel et de réponse.
Grâce aux services web, les applications peuvent être vues comme un ensemble de services métiers, structurés et correctement décrits, dialoguant selon un standard international plutôt qu'un ensemble d'objets et de méthodes entremêlés.
Le premier bénéfice de ce découpage est la facilité de maintenance de l'application, ainsi que l'interopérabilité permettant de modifier facilement un composant (un service) pour le remplacer par un autre, éventuellement développé par un tiers. Qui plus est, les services web permettent de réduire la complexité d'une application car le développeur peut se focaliser sur un service, indépendamment du reste de l'application.
Les services web facilitent non seulement les échanges entre les applications de l'entreprise mais surtout permettent une ouverture vers les autres entreprises. Les premiers fournisseurs de services web sont ainsi les fournisseurs de services en ligne (météo, bourse, planification d'itinéraire, pages jaunes, etc.), mettant à disposition des développeurs des API (Application Programmable Interface) payantes ou non, permettant d'intégrer leur service au sein d'applications tierces.
Couches
Le fonctionnement des services web repose sur un modèle en couches, dont les trois couches fondamentales sont les suivantes :- Invocation, visant à décrire la structure des messages échangés par les applications.
- Découverte, pour permettre de rechercher et de localiser un service web particulier dans un annuaire de services décrivant le nom de la société, l'objectif de chaque service, etc.
- Description, dont l'objectif est la description des interfaces (paramètres des fonctions, types de données) des services web.
Standards
Les standards de base utilisés par les Web-Services (SOAP, WSDL) sont normalisés par le W3C (http://www.w3.org/2002/ws/), tandis que l'OASIS est chargée de la standardisation des couches supérieures, plus proches du niveau applicatif (sécurité, etc.).Invocation
Il existe deux grands standards de services web, tous deux basés sur XML :
- XML-RPC (XML Remote Procedure Call) , le plus ancien, fonctionnant sur un principe proc&eaacute;dural et sans gestion des états.
- SOAP (Simple Object Access Protocol), fonctionnant selon le modèle objet.
Quel que soit le standard utilisé, le principe de programmation est le même : l'appel de méthode distante est réalisé grâce à une bibliothèque cliente qui transmet la demande au fournisseur de service en la formattant en XML de manière transparente; au niveau du serveur une bibliothèque serveur décode la requête, le serveur fait ses traitement, puis répond grâce à cette même bibliothèque; la bibliothèque client décode enfin la réponse afin qu'elle puisse être utilisée par l'application client.
Découverte
Le protocole standard le plus utilisé pour la découverte de services est UDDI.
Description
Le protocole standard le plus utilisé pour la description de services est WSDL.
Aucun commentaire:
Enregistrer un commentaire
ajouter votre commentaire: n'oubliez pas votre commentaire nous intéresse